---
title: "Using SEOPress abilities (Free &#038; PRO)"
url: "https://www.seopress.org/support/guides/seopress-abilities/"
lang: en-US
updated: 2026-06-18
---

# Using SEOPress abilities (Free &#038; PRO)

## What are SEOPress abilities?

SEOPress 10 registers a set of **abilities** on the new [WordPress Abilities API](https://developer.wordpress.org/news/2025/11/introducing-the-wordpress-abilities-api/). 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).
- **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**. To let an external agent reach them:

1. Go to **SEO > Advanced settings**.
2. Open the **Advanced** tab.
3. Turn on **Expose abilities via REST API**.
4. Save.

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 (`/.well-known/mcp.json`), an `llms.txt` file and other `/.well-known/` endpoints.

## Connect an AI agent (MCP)

1. Enable **Expose abilities via REST API** (and, on PRO, **Agent Readiness**).
2. Create an **Application Password** for the WordPress user the agent will act as (**Users > Profile > Application Passwords**).
3. In your MCP-compatible client, point it at your site and authenticate with that username and application password.
4. 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` |

> The four AI abilities (`generate-*`) require a configured AI provider or SEOPress AI Credits.

## For developers

Three REST routes are available:

- `GET /wp-json/wp-abilities/v1/abilities` — list every ability
- `GET /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_post` on the target post; global settings require `manage_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.
