¿Qué son las abilities de SEOPress?
SEOPress 10 registra un conjunto de abilities en la nueva WordPress Abilities API. Una ability es una acción claramente definida (por ejemplo «leer el título SEO de una entrada» o «crear una redirección») que los asistentes de IA y las herramientas de automatización pueden descubrir y ejecutar de forma segura, respetando siempre tus permisos de WordPress existentes.
En la práctica, esto te permite conectar un agente de IA (como Claude, o cualquier herramienta compatible con MCP) a tu sitio y dejar que se encargue de tus tareas SEO, en lugar de hacerlo a mano pantalla por pantalla.
Desde SEOPress 10.4, las abilities también cubren los términos de taxonomía: categorías, etiquetas, categorías de producto de WooCommerce y taxonomías personalizadas. Un agente puede leer y actualizar su título SEO, su meta descripción y sus ajustes de robots y de redes sociales, encontrar los términos a los que les faltan metadatos y, con SEOPress PRO, obtener sugerencias de IA para ellos.
Requisitos
- SEOPress (gratis) 10.0 o posterior para las abilities básicas, 10.4 o posterior para las abilities de términos de taxonomía.
- SEOPress PRO 10.0 o posterior para las abilities PRO (redirecciones, datos estructurados, generación con IA), 10.4 o posterior para la generación con IA en los términos.
- SEOPress Insights 3.1 o posterior para las abilities de Insights (posiciones, competidores, backlinks).
- WordPress 6.9 o posterior (la Abilities API forma parte del núcleo de WordPress desde esta versión).
- Un método de autenticación para las llamadas externas (recomendamos las contraseñas de aplicación).
- Para las abilities de generación con IA: un proveedor de IA configurado o SEOPress AI Credits.
Activar las abilities a través de la API REST
Las abilities están desactivadas por defecto. SEOPress Free y PRO comparten un interruptor; SEOPress Insights tiene el suyo. Activar uno no activa el otro.
SEOPress Free y PRO
- Ve a SEO > Ajustes avanzados.
- Abre la pestaña Avanzado y luego la sección Abilities API.
- Activa Exponer capacidades a agentes de IA y herramientas externas.
- Guarda.
SEOPress Insights
Insights todavía no tiene un interruptor en sus ajustes. Activa sus abilities con un filtro, en el functions.php de tu tema o en un pequeño plugin:
add_filter( 'seopress_insights_abilities_api_rest_enabled', '__return_true' );
Si solo usas Insights, sin SEOPress Free ni PRO, este filtro es todo lo que necesitas.
Una vez activadas, las abilities quedan accesibles bajo el espacio de nombres REST /wp-abilities/v1/, para cualquier usuario que ya esté autorizado a realizar la acción correspondiente.
Prepara tu sitio para los agentes (PRO)
SEOPress PRO puede exponer señales de descubrimiento para que las herramientas de IA encuentren y entiendan tu contenido por sí solas. Activa Preparación del agente (en las funciones técnicas) para publicar una tarjeta de servidor MCP (/.well-known/mcp.json), un archivo llms.txt y otros endpoints /.well-known/.
Conectar un agente de IA (MCP)
- Activa Exponer capacidades a agentes de IA y herramientas externas (y, en PRO, Preparación del agente).
- Crea una contraseña de aplicación para el usuario de WordPress con cuya identidad actuará el agente (Usuarios > Perfil > Contraseñas de aplicación).
- En tu cliente compatible con MCP, apúntalo a tu sitio y autentícate con ese nombre de usuario y esa contraseña de aplicación.
- El cliente descubre automáticamente las abilities disponibles y las ejecuta por ti.
El agente nunca puede hacer más de lo que ese usuario tiene permitido. Para limitar su alcance, conéctalo con un usuario de perfil restringido.
Abilities disponibles
Gratis (SEOPress): categoría seopress
| Ability | Qué hace | Capacidad |
|---|---|---|
seopress/get-post-title-description |
Leer el título SEO y la meta descripción de una entrada | edit_post |
seopress/update-post-title-description |
Definir o borrar el título SEO y la meta descripción de una entrada | edit_post |
seopress/get-post-robots-settings |
Leer las directivas de indexación (noindex, nofollow, canonical…) | edit_post |
seopress/update-post-robots-settings |
Actualizar las directivas de indexación | edit_post |
seopress/get-post-social-settings |
Leer los metadatos sociales de Facebook y X | edit_post |
seopress/update-post-social-settings |
Actualizar los metadatos sociales | edit_post |
seopress/analyze-post-content |
Ejecutar el análisis de contenido (puntuación y comprobaciones) | edit_post |
seopress/get-global-titles-settings |
Leer las plantillas de títulos y metas del sitio | manage_options |
seopress/list-posts-missing-metadata |
Listar las entradas, páginas y contenidos de tipos personalizados sin título SEO personalizado y/o sin meta descripción (missing: title, description, any o both) |
edit_posts en al menos un tipo de contenido público |
seopress/list-posts-by-content-score |
Listar las entradas con el veredicto de su último análisis de contenido (good, needs_improvement o not_analyzed). Desde SEOPress 10.4, cada entrada incluye además checks_passed y checks_total, sin contar las comprobaciones ignoradas |
edit_posts en al menos un tipo de contenido público |
seopress/list-posts-noindexed |
Listar las entradas con una directiva noindex explícita | edit_posts en al menos un tipo de contenido público |
seopress/get-sitemap-settings |
Leer los ajustes de los sitemaps XML y HTML | manage_options |
seopress/get-instant-indexing-settings |
Leer los ajustes y el registro de Instant Indexing. Las claves de API nunca se devuelven, solo si cada una está configurada | manage_options |
seopress/get-global-social-settings |
Leer los ajustes sociales y de Knowledge Graph del sitio | manage_options |
Las tres abilities list-posts-* solo devuelven las entradas que el usuario conectado puede leer, 20 por página por defecto (per_page hasta 100, page para recorrer los resultados).
Gratis (SEOPress), términos de taxonomía: desde SEOPress 10.4, misma categoría seopress
| Ability | Qué hace | Capacidad |
|---|---|---|
seopress/get-term-title-description |
Leer el título SEO y la meta descripción personalizados de un término (vacíos cuando se aplica la plantilla global) | edit_term |
seopress/update-term-title-description |
Definir o borrar el título SEO y/o la meta descripción de un término. Una cadena vacía borra el valor y vuelve a aplicarse la plantilla global | edit_term |
seopress/get-term-robots-settings |
Leer las directivas de indexación de un término (noindex, nofollow, nosnippet, noimageindex, URL canónica) | edit_term |
seopress/update-term-robots-settings |
Actualizar las directivas de indexación de un término. Una directiva impuesta por los ajustes globales no se escribe y se devuelve en skipped |
edit_term |
seopress/get-term-social-settings |
Leer el título, la descripción y la imagen de Facebook (Open Graph) y de X de un término | edit_term |
seopress/update-term-social-settings |
Actualizar el título, la descripción y la imagen de Facebook y de X de un término. La imagen se define por su ID en la biblioteca de medios o por su URL | edit_term |
seopress/list-terms-missing-metadata |
Listar los términos sin título SEO personalizado y/o sin meta descripción, opcionalmente solo para algunas taxonomías (taxonomy, por ejemplo ["product_cat"]) |
Permiso para gestionar los términos de al menos una taxonomía compatible |
Las abilities de términos reciben un term_id y leen o escriben los mismos campos que el metabox de SEO de la pantalla de edición del término. Funcionan con cualquier taxonomía pública, salvo que Desactivar caja meta de SEO esté activado para ella en SEO > Títulos y metas > Taxonomías. El listado solo devuelve los términos de las taxonomías que el usuario conectado puede gestionar, 20 por página por defecto (per_page hasta 100).
SEOPress PRO: misma categoría seopress
| Ability | Qué hace | Capacidad |
|---|---|---|
seopress/list-redirections |
Listar las redirecciones y los 404 detectados | read_redirection |
seopress/get-redirection |
Obtener una redirección por su ID | read_redirection |
seopress/create-redirection |
Crear una redirección (301/302/307/410/451) | publish_redirections |
seopress/update-redirection |
Actualizar una redirección | edit_redirection |
seopress/delete-redirection |
Eliminar una redirección | delete_redirection |
seopress/get-post-schemas |
Leer los datos estructurados (schema) de una entrada | edit_post |
seopress/update-post-schemas |
Reemplazar los datos estructurados de una entrada | edit_post |
seopress/update-target-keywords |
Definir las palabras clave objetivo del análisis de contenido | edit_post |
seopress/generate-seo-title |
Generar un título SEO optimizado por IA | edit_post |
seopress/generate-meta-description |
Generar una meta descripción optimizada por IA | edit_post |
seopress/generate-alt-text |
Generar por IA el texto alternativo, la leyenda y la descripción de una imagen. Desde SEOPress PRO 10.4, la sugerencia se devuelve y no se guarda | edit_post sobre la imagen |
seopress/generate-term-seo-title |
Generar un título SEO optimizado por IA para un término de taxonomía (desde SEOPress PRO 10.4). La sugerencia se devuelve, no se guarda | edit_term |
seopress/generate-term-meta-description |
Generar una meta descripción optimizada por IA para un término de taxonomía (desde SEOPress PRO 10.4). La sugerencia se devuelve, no se guarda | edit_term |
seopress/upload-image |
Importar una imagen externa a la biblioteca de medios | upload_files (y edit_post sobre la entrada cuando se indica un post_id) |
seopress/get-technical-audit |
Leer la auditoría técnica del sitio (problemas de rastreo y su gravedad) | manage_options |
generate-*) requieren un proveedor de IA configurado o SEOPress AI Credits. Desde SEOPress PRO 10.4, también respetan los perfiles de Generación con IA definidos en SEO > Ajustes avanzados > Seguridad: un perfil que no tiene permitido usar la generación con IA allí también es rechazado aquí. Para guardar una sugerencia para un término, pásala a seopress/update-term-title-description.SEOPress Insights: misma categoría seopress
| Ability | Qué hace | Capacidad |
|---|---|---|
seopress/get-insights-dashboard |
Leer el escritorio de Insights: resumen de indicadores, tendencia de posiciones, mayores subidas y bajadas, distribución de posiciones, palabras clave favoritas y resumen de backlinks | seopress_insights_manage_dashboard |
seopress/get-keyword-rankings |
Leer las posiciones de las palabras clave seguidas, sus variaciones, los volúmenes de búsqueda y las series del gráfico | seopress_insights_manage_rankings |
seopress/get-competitor-rankings |
Leer las posiciones de los competidores junto a las tuyas | seopress_insights_manage_rankings |
seopress/list-backlinks |
Leer tus backlinks con sus puntuaciones de Majestic Citation Flow y Trust Flow | seopress_insights_manage_backlinks |
start_date y un end_date opcionales (marcas de tiempo Unix), además de un array keyword_ids para limitar el resultado a determinadas palabras clave seguidas.Las capacidades de Insights son las mismas que controlan el acceso a las pantallas de Insights. Consulta las capacidades de usuario de SEOPress e Insights para asignarlas a un perfil.
Para desarrolladores
Hay tres rutas REST disponibles:
GET /wp-json/wp-abilities/v1/abilities: listar todas las abilitiesGET /wp-json/wp-abilities/v1/abilities/<name>: la definición de una ability…/abilities/<name>/run: ejecutar una ability
WordPress impone el método HTTP a partir de las anotaciones de la ability:
- abilities de solo lectura → GET
- abilities destructivas e idempotentes (actualizaciones, eliminaciones) → DELETE
- el resto (creación) → POST
La entrada de una ability siempre va dentro de una clave input. Con GET y DELETE, pásala como parámetros de URL (?input[post_id]=123); con POST, envíala como cuerpo JSON ({"input": {…}}). El endpoint de listado devuelve la URL run exacta de cada ability, por lo que los clientes MCP eligen el método correcto automáticamente.
# 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 -g "https://example.com/wp-json/wp-abilities/v1/abilities/seopress/get-post-title-description/run?input[post_id]=123" \
--user "USERNAME:APPLICATION_PASSWORD"
# Find the product categories without a meta description (GET, read-only)
curl -g "https://example.com/wp-json/wp-abilities/v1/abilities/seopress/list-terms-missing-metadata/run?input[taxonomy][]=product_cat&input[missing]=description" \
--user "USERNAME:APPLICATION_PASSWORD"
# Set the SEO title of term 15 (DELETE, destructive + idempotent)
curl -g -X DELETE "https://example.com/wp-json/wp-abilities/v1/abilities/seopress/update-term-title-description/run?input[term_id]=15&input[title]=Garden+tools" \
--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 '{"input":{"origin":"/old-url/","destination":"/new-url/","type":"301"}}'
# Delete a redirect (DELETE, destructive + idempotent)
curl -g -X DELETE "https://example.com/wp-json/wp-abilities/v1/abilities/seopress/delete-redirection/run?input[id]=42" \
--user "USERNAME:APPLICATION_PASSWORD"
Permisos y seguridad
- Las abilities están desactivadas por defecto; las activas con un solo interruptor.
- Cada llamada se ejecuta con la identidad del usuario autenticado y vuelve a comprobar sus capacidades de WordPress. Un agente nunca puede superarlas.
- Las abilities por entrada requieren
edit_postsobre la entrada de destino; las abilities por término requierenedit_termsobre el término de destino; los ajustes globales requierenmanage_options. - Desde SEOPress 10.4, las abilities que modifican los ajustes SEO de una entrada o de un término (
update-post-*,update-term-*) rechazan los perfiles marcados en SEO > Ajustes avanzados > Seguridad > Cajas meta de SEO: perfiles bloqueados, como ya hacían el metabox de SEO y la API REST. La lectura sigue estando permitida. - Desde SEOPress PRO 10.4, las abilities de IA también comprueban los perfiles de Generación con IA de la misma pestaña Seguridad.
- Usa contraseñas de aplicación y conecta los agentes con un usuario con el mínimo privilegio.
Preguntas frecuentes
¿Necesito SEOPress PRO? No. El plugin gratuito ya expone 21 abilities, para las entradas, los términos de taxonomía y los ajustes globales. PRO añade redirecciones, datos estructurados, la auditoría técnica y la generación con IA.
¿Un agente cambiará cosas sin preguntar? A través de REST, un agente autorizado ejecuta lo que se le pide. En el editor, el Asistente IA propone los cambios para que los revises antes de aplicarlos.
Una ability devuelve «not found». Comprueba que Exponer capacidades a agentes de IA y herramientas externas está activado y que el usuario conectado puede realizar la acción.
Una ability de términos indica que la taxonomía no es compatible. La taxonomía no es pública, o Desactivar caja meta de SEO está activado para ella en SEO > Títulos y metas > Taxonomías. Las abilities de términos solo funcionan donde está disponible el metabox de SEO de la pantalla de edición del término.