What are SEOPress abilities?
SEOPress 10 registers a set of abilities on the new . An ability is a clearly defined action (for example “read a post’s SEO title” or “create a redirect”) that AI assistants and automation tools can discover and run safely, with your existing WordPress permissions always enforced.
In practice, this lets you connect an AI agent (such as Claude, or any MCP-compatible tool) to your site and let it handle SEO tasks for you, instead of clicking through screens by hand.
Requirements
- SEOPress (Free) 10.0 or newer for the core abilities.
- SEOPress PRO 10.0 or newer for the PRO abilities (redirects, structured data, AI generation).
- SEOPress Insights 3.1 or newer for the Insights abilities (rankings, competitors, backlinks).
- WordPress 6.9 or newer (the Abilities API is part of WordPress core from this version).
- An authentication method for external calls (we recommend Application Passwords).
- For the AI generation abilities: a configured AI provider or SEOPress AI Credits.
Enable abilities over the REST API
Abilities are off by default. SEOPress Free and PRO share one switch; SEOPress Insights has its own. Turning one on does not turn the other on.
SEOPress Free and PRO
- Go to SEO > Advanced settings.
- Open the Advanced tab, then the Abilities API section.
- Turn on Expose abilities to AI agents and external tools.
- Save.
SEOPress Insights
Insights has no toggle in its settings yet. Enable its abilities with a filter, in your theme’s functions.php or a small plugin:
add_filter( 'seopress_insights_abilities_api_rest_enabled', '__return_true' );
If you only run Insights and not SEOPress Free or PRO, this filter is all you need.
Once enabled, the abilities become reachable under the /wp-abilities/v1/ REST namespace, for any user who is already allowed to perform the underlying action.
The in-editor AI Assistant (SEOPress PRO) uses these abilities internally and does not require this toggle. You only need it to connect an external agent.
Make your site “agent ready” (PRO)
SEOPress PRO can expose discovery signals so AI tools find and understand your content on their own. Enable Agent Readiness (under the Technical features) to publish an MCP server card (), an llms.txt file and other /.well-known/ endpoints.
Connect an AI agent (MCP)
- Enable Expose abilities via REST API (and, on PRO, Agent Readiness).
- Create an Application Password for the WordPress user the agent will act as (Users > Profile > Application Passwords).
- In your MCP-compatible client, point it at your site and authenticate with that username and application password.
- The client discovers the available abilities automatically and runs them on your behalf.
The agent can only ever do what that user is allowed to do. To limit its scope, connect it as a user with a restricted role.
Available abilities
Free (SEOPress) — category seopress
| Ability | What it does | Capability |
|---|---|---|
seopress/get-post-title-description |
Read a post’s SEO title and meta description | edit_post |
seopress/update-post-title-description |
Set or clear a post’s SEO title and meta description | edit_post |
seopress/get-post-robots-settings |
Read indexing directives (noindex, nofollow, canonical…) | edit_post |
seopress/update-post-robots-settings |
Update indexing directives | edit_post |
seopress/get-post-social-settings |
Read Facebook and X social metadata | edit_post |
seopress/update-post-social-settings |
Update social metadata | edit_post |
seopress/analyze-post-content |
Run the content analysis (score and checks) | edit_post |
seopress/get-global-titles-settings |
Read the site-wide title and meta templates | manage_options |
SEOPress PRO — same seopress category
| Ability | What it does | Capability |
|---|---|---|
seopress/list-redirections |
List redirects and detected 404s | read_redirection |
seopress/get-redirection |
Get a single redirect by ID | read_redirection |
seopress/create-redirection |
Create a redirect (301/302/307/410/451) | publish_redirections |
seopress/update-redirection |
Update a redirect | edit_redirection |
seopress/delete-redirection |
Delete a redirect | delete_redirection |
seopress/get-post-schemas |
Read a post’s structured data (schema) | edit_post |
seopress/update-post-schemas |
Replace a post’s structured data | edit_post |
seopress/update-target-keywords |
Set the target keywords used for content analysis | edit_post |
seopress/generate-seo-title |
Generate an AI-optimized SEO title | edit_post |
seopress/generate-meta-description |
Generate an AI-optimized meta description | edit_post |
seopress/generate-alt-text |
Generate AI alt text for an image | edit_post |
seopress/upload-image |
Download an external image into the Media Library | upload_files |
seopress/get-technical-audit |
Read the site technical audit (crawl issues and their severity) | manage_options |
The four AI abilities (
generate-*) require a configured AI provider or SEOPress AI Credits.
SEOPress Insights — same seopress category
| Ability | What it does | Capability |
|---|---|---|
seopress/get-insights-dashboard |
Read the Insights dashboard: KPI summary, ranking trend, keyword movers, position distribution, favorite keywords and backlink summary | seopress_insights_manage_dashboard |
seopress/get-keyword-rankings |
Read tracked keyword positions, variations, search volume and chart series | seopress_insights_manage_rankings |
seopress/get-competitor-rankings |
Read competitor positions alongside your own | seopress_insights_manage_rankings |
seopress/list-backlinks |
Read your backlinks with their Majestic Citation Flow and Trust Flow scores | seopress_insights_manage_backlinks |
The Insights abilities are read-only: an agent can analyse your monitoring data but never modify it. The three ranking and dashboard abilities accept an optional
start_dateandend_date(Unix timestamps) plus akeyword_idsarray to restrict the result to specific tracked keywords.
The Insights capabilities are the same ones that control access to the Insights screens. See SEOPress & Insights user capabilities to grant them to a role.
For developers
Three REST routes are available:
GET /wp-json/wp-abilities/v1/abilities— list every abilityGET /wp-json/wp-abilities/v1/abilities/<name>— one ability’s definition…/abilities/<name>/run— execute an ability
WordPress enforces the HTTP method from the ability’s annotations:
- read-only abilities → GET (pass the input as query parameters)
- destructive and idempotent abilities (updates, deletes) → DELETE
- everything else (creation) → POST
The list endpoint returns the exact run URL for each ability, so MCP clients pick the right method automatically.
# List all abilities
curl https://example.com/wp-json/wp-abilities/v1/abilities \
--user "USERNAME:APPLICATION_PASSWORD"
# Read a post's SEO title and meta description (GET, read-only)
curl "https://example.com/wp-json/wp-abilities/v1/abilities/seopress/get-post-title-description/run?post_id=123" \
--user "USERNAME:APPLICATION_PASSWORD"
# Create a redirect (POST)
curl -X POST https://example.com/wp-json/wp-abilities/v1/abilities/seopress/create-redirection/run \
--user "USERNAME:APPLICATION_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"origin":"/old-url/","destination":"/new-url/","type":"301"}'
# Delete a redirect (DELETE, destructive + idempotent)
curl -X DELETE https://example.com/wp-json/wp-abilities/v1/abilities/seopress/delete-redirection/run \
--user "USERNAME:APPLICATION_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"id":42}'
Permissions and security
- Abilities are off by default; you opt in with a single toggle.
- Every call runs as the authenticated user and re-checks that user’s WordPress capabilities. An agent can never exceed them.
- Per-post abilities require
edit_poston the target post; global settings requiremanage_options. - Use Application Passwords and connect agents as a least-privileged user.
FAQ
Do I need SEOPress PRO? No. The free plugin already exposes 8 abilities. PRO adds redirects, structured data and AI generation.
Will an agent change things without asking? Over REST, an authorized agent runs what it is asked to run. Inside the editor, the AI Assistant proposes changes for your review before applying them.
An ability returns “not found”. Make sure Expose abilities via REST API is enabled and that the connected user can perform the action.