Que sont les abilities SEOPress ?
SEOPress 10 enregistre un ensemble d’abilities sur la nouvelle WordPress Abilities API. Une ability est une action clairement définie (par exemple « lire la balise titre d’un article » ou « créer une redirection ») que les assistants IA et les outils d’automatisation peuvent découvrir et exécuter en toute sécurité, vos permissions WordPress existantes étant toujours respectées.
Concrètement, cela vous permet de connecter un agent IA (comme Claude, ou n’importe quel outil compatible MCP) à votre site et de le laisser réaliser vos tâches SEO à votre place, au lieu de naviguer manuellement dans les écrans.
Depuis SEOPress 10.4, les abilities couvrent aussi les termes de taxonomie : catégories, étiquettes, catégories de produits WooCommerce et taxonomies personnalisées. Un agent peut lire et modifier leur balise titre, leur méta description, leurs réglages robots et sociaux, repérer les termes dont les métadonnées manquent et, avec SEOPress PRO, obtenir des suggestions IA pour eux.
Prérequis
- SEOPress (Free) 10.0 ou plus récent pour les abilities de base, 10.4 ou plus récent pour les abilities des termes de taxonomie.
- SEOPress PRO 10.0 ou plus récent pour les abilities PRO (redirections, données structurées, génération IA), 10.4 ou plus récent pour la génération IA sur les termes.
- SEOPress Insights 3.1 ou plus récent pour les abilities Insights (positions, concurrents, backlinks).
- WordPress 6.9 ou plus récent (l’Abilities API fait partie du cœur de WordPress à partir de cette version).
- Une méthode d’authentification pour les appels externes (nous recommandons les mots de passe d’application).
- Pour les abilities de génération IA : un fournisseur d’IA configuré ou SEOPress AI Credits.
Activer les abilities via l’API REST
Les abilities sont désactivées par défaut. SEOPress Free et PRO partagent un interrupteur, SEOPress Insights a le sien. Activer l’un n’active pas l’autre.
SEOPress Free et PRO
- Allez dans SEO > Réglages avancés.
- Ouvrez l’onglet Avancé, puis la section Abilities API.
- Activez Expose abilities to AI agents and external tools.
- Enregistrez.
SEOPress Insights
Insights n’a pas encore d’interrupteur dans ses réglages. Activez ses abilities avec un filtre, dans le functions.php de votre thème ou dans une petite extension :
add_filter( 'seopress_insights_abilities_api_rest_enabled', '__return_true' );
Si vous utilisez uniquement Insights, sans SEOPress Free ni PRO, ce filtre suffit.
Une fois activées, les abilities deviennent accessibles sous l’espace de noms REST /wp-abilities/v1/, pour tout utilisateur déjà autorisé à effectuer l’action concernée.
Rendre votre site « prêt pour les agents » (PRO)
SEOPress PRO peut exposer des signaux de découverte pour que les outils d’IA trouvent et comprennent votre contenu par eux-mêmes. Activez Agent Readiness (dans les fonctionnalités Techniques) pour publier une carte de serveur MCP (/.well-known/mcp.json), un fichier llms.txt et d’autres points d’accès /.well-known/.
Connecter un agent IA (MCP)
- Activez Expose abilities to AI agents and external tools (et, sur PRO, Agent Readiness).
- Créez un mot de passe d’application pour l’utilisateur WordPress sous l’identité duquel l’agent agira (Comptes > Profil > Mots de passe d’application).
- Dans votre client compatible MCP, pointez-le vers votre site et authentifiez-vous avec cet identifiant et ce mot de passe d’application.
- Le client découvre automatiquement les abilities disponibles et les exécute pour vous.
L’agent ne peut jamais faire plus que ce que cet utilisateur est autorisé à faire. Pour limiter sa portée, connectez-le avec un utilisateur au rôle restreint.
Abilities disponibles
Free (SEOPress) : catégorie seopress
| Ability | Rôle | Capability |
|---|---|---|
seopress/get-post-title-description |
Lire la balise titre et la méta description d’un article | edit_post |
seopress/update-post-title-description |
Définir ou effacer la balise titre et la méta description | edit_post |
seopress/get-post-robots-settings |
Lire les règles d’indexation (noindex, nofollow, canonical…) | edit_post |
seopress/update-post-robots-settings |
Mettre à jour les règles d’indexation | edit_post |
seopress/get-post-social-settings |
Lire les métadonnées sociales Facebook et X | edit_post |
seopress/update-post-social-settings |
Mettre à jour les métadonnées sociales | edit_post |
seopress/analyze-post-content |
Lancer l’analyse de contenu (score et vérifications) | edit_post |
seopress/get-global-titles-settings |
Lire les modèles de titres et métas du site | manage_options |
seopress/list-posts-missing-metadata |
Lister les articles, pages et contenus personnalisés sans balise titre et/ou sans méta description personnalisée (missing : title, description, any ou both) |
edit_posts sur au moins un type de contenu public |
seopress/list-posts-by-content-score |
Lister les articles avec le verdict de leur dernière analyse de contenu (good, needs_improvement ou not_analyzed). Depuis SEOPress 10.4, chaque article indique aussi checks_passed et checks_total, sans les vérifications ignorées |
edit_posts sur au moins un type de contenu public |
seopress/list-posts-noindexed |
Lister les articles qui portent une directive noindex explicite | edit_posts sur au moins un type de contenu public |
seopress/get-sitemap-settings |
Lire les réglages des plans de site XML et HTML | manage_options |
seopress/get-instant-indexing-settings |
Lire les réglages et le journal de l’indexation instantanée. Les clés d’API ne sont jamais renvoyées, seulement le fait que chacune est configurée ou non | manage_options |
seopress/get-global-social-settings |
Lire les réglages sociaux et Knowledge Graph du site | manage_options |
Les trois abilities list-posts-* ne renvoient que les contenus que l’utilisateur connecté peut lire, 20 par page par défaut (per_page jusqu’à 100, page pour parcourir les résultats).
Free (SEOPress), termes de taxonomie : depuis SEOPress 10.4, même catégorie seopress
| Ability | Rôle | Capability |
|---|---|---|
seopress/get-term-title-description |
Lire la balise titre et la méta description personnalisées d’un terme (vides lorsque le modèle global s’applique) | edit_term |
seopress/update-term-title-description |
Définir ou effacer la balise titre et/ou la méta description d’un terme. Une chaîne vide efface la valeur et le modèle global s’applique de nouveau | edit_term |
seopress/get-term-robots-settings |
Lire les règles d’indexation d’un terme (noindex, nofollow, nosnippet, noimageindex, URL canonique) | edit_term |
seopress/update-term-robots-settings |
Mettre à jour les règles d’indexation d’un terme. Une directive imposée par les réglages globaux n’est pas écrite et figure dans skipped |
edit_term |
seopress/get-term-social-settings |
Lire le titre, la description et l’image Facebook (Open Graph) et X d’un terme | edit_term |
seopress/update-term-social-settings |
Mettre à jour le titre, la description et l’image Facebook et X d’un terme. L’image se définit par son ID dans la médiathèque ou par son URL | edit_term |
seopress/list-terms-missing-metadata |
Lister les termes sans balise titre et/ou sans méta description personnalisée, éventuellement pour certaines taxonomies seulement (taxonomy, par exemple ["product_cat"]) |
Droit de gérer les termes d’au moins une taxonomie prise en charge |
Les abilities des termes prennent un term_id et lisent ou écrivent les mêmes champs que la metabox SEO de l’écran de modification du terme. Elles fonctionnent sur toute taxonomie publique, sauf si Désactiver la metabox SEO est activé pour elle dans SEO > Titres & métas > Taxonomies. La liste ne renvoie que les termes des taxonomies que l’utilisateur connecté peut gérer, 20 par page par défaut (per_page jusqu’à 100).
SEOPress PRO : même catégorie seopress
| Ability | Rôle | Capability |
|---|---|---|
seopress/list-redirections |
Lister les redirections et les 404 détectées | read_redirection |
seopress/get-redirection |
Récupérer une redirection par son ID | read_redirection |
seopress/create-redirection |
Créer une redirection (301/302/307/410/451) | publish_redirections |
seopress/update-redirection |
Mettre à jour une redirection | edit_redirection |
seopress/delete-redirection |
Supprimer une redirection | delete_redirection |
seopress/get-post-schemas |
Lire les données structurées (schema) d’un article | edit_post |
seopress/update-post-schemas |
Remplacer les données structurées d’un article | edit_post |
seopress/update-target-keywords |
Définir les mots-clés cibles de l’analyse de contenu | edit_post |
seopress/generate-seo-title |
Générer une balise titre optimisée par l’IA | edit_post |
seopress/generate-meta-description |
Générer une méta description optimisée par l’IA | edit_post |
seopress/generate-alt-text |
Générer par l’IA le texte alternatif, la légende et la description d’une image. Depuis SEOPress PRO 10.4, la suggestion est renvoyée et n’est pas enregistrée | edit_post sur l’image |
seopress/generate-term-seo-title |
Générer une balise titre optimisée par l’IA pour un terme de taxonomie (depuis SEOPress PRO 10.4). La suggestion est renvoyée, pas enregistrée | edit_term |
seopress/generate-term-meta-description |
Générer une méta description optimisée par l’IA pour un terme de taxonomie (depuis SEOPress PRO 10.4). La suggestion est renvoyée, pas enregistrée | edit_term |
seopress/upload-image |
Importer une image externe dans la médiathèque | upload_files (et edit_post sur l’article lorsqu’un post_id est fourni) |
seopress/get-technical-audit |
Lire l’audit technique du site (problèmes détectés et leur gravité) | manage_options |
generate-*) nécessitent un fournisseur d’IA configuré ou SEOPress AI Credits. Depuis SEOPress PRO 10.4, elles respectent aussi les rôles de la section Génération IA dans SEO > Réglages avancés > Sécurité : un rôle qui n’y est pas autorisé à utiliser la génération IA est refusé ici aussi. Pour enregistrer une suggestion pour un terme, transmettez-la à seopress/update-term-title-description.SEOPress Insights : même catégorie seopress
| Ability | Ce qu’elle fait | Capacité |
|---|---|---|
seopress/get-insights-dashboard |
Lire le tableau de bord Insights : synthèse d’indicateurs, tendance des positions, plus fortes hausses et baisses, distribution des positions, mots-clés favoris et résumé des backlinks | seopress_insights_manage_dashboard |
seopress/get-keyword-rankings |
Lire les positions des mots-clés suivis, leurs variations, les volumes de recherche et les séries du graphique | seopress_insights_manage_rankings |
seopress/get-competitor-rankings |
Lire les positions des concurrents en regard des vôtres | seopress_insights_manage_rankings |
seopress/list-backlinks |
Lire vos backlinks avec leurs scores Majestic Citation Flow et Trust Flow | seopress_insights_manage_backlinks |
start_date et un end_date facultatifs (timestamps Unix), ainsi qu’un tableau keyword_ids pour restreindre le résultat à certains mots-clés suivis.Les capacités Insights sont les mêmes que celles qui pilotent l’accès aux écrans d’Insights. Consultez les capacités utilisateurs SEOPress & Insights pour les attribuer à un rôle.
Pour les développeurs
Trois routes REST sont disponibles :
GET /wp-json/wp-abilities/v1/abilities: lister toutes les abilitiesGET /wp-json/wp-abilities/v1/abilities/<name>: la définition d’une ability…/abilities/<name>/run: exécuter une ability
WordPress impose la méthode HTTP à partir des annotations de l’ability :
- abilities en lecture seule → GET
- abilities destructives et idempotentes (mises à jour, suppressions) → DELETE
- tout le reste (création) → POST
L’entrée d’une ability se place toujours sous une clé input. En GET et en DELETE, passez-la en paramètres d’URL (?input[post_id]=123) ; en POST, envoyez-la dans un corps JSON ({"input": {…}}). L’endpoint de liste renvoie l’URL run exacte de chaque ability ; les clients MCP choisissent donc la bonne méthode automatiquement.
# Lister toutes les abilities
curl https://example.com/wp-json/wp-abilities/v1/abilities \
--user "IDENTIFIANT:MOT_DE_PASSE_APPLICATION"
# Lire la balise titre et la méta description d'un article (GET, lecture seule)
curl -g "https://example.com/wp-json/wp-abilities/v1/abilities/seopress/get-post-title-description/run?input[post_id]=123" \
--user "IDENTIFIANT:MOT_DE_PASSE_APPLICATION"
# Trouver les catégories de produits sans méta description (GET, lecture seule)
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 "IDENTIFIANT:MOT_DE_PASSE_APPLICATION"
# Définir la balise titre du terme 15 (DELETE, destructive + idempotente)
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]=Outils+de+jardin" \
--user "IDENTIFIANT:MOT_DE_PASSE_APPLICATION"
# Créer une redirection (POST)
curl -X POST https://example.com/wp-json/wp-abilities/v1/abilities/seopress/create-redirection/run \
--user "IDENTIFIANT:MOT_DE_PASSE_APPLICATION" \
-H "Content-Type: application/json" \
-d '{"input":{"origin":"/ancienne-url/","destination":"/nouvelle-url/","type":"301"}}'
# Supprimer une redirection (DELETE, destructive + idempotente)
curl -g -X DELETE "https://example.com/wp-json/wp-abilities/v1/abilities/seopress/delete-redirection/run?input[id]=42" \
--user "IDENTIFIANT:MOT_DE_PASSE_APPLICATION"
Permissions et sécurité
- Les abilities sont désactivées par défaut ; vous les activez d’un simple interrupteur.
- Chaque appel s’exécute sous l’identité de l’utilisateur authentifié et revérifie ses capabilities WordPress. Un agent ne peut jamais les dépasser.
- Les abilities par article requièrent
edit_postsur l’article ciblé ; les abilities par terme requièrentedit_termsur le terme ciblé ; les réglages globaux requièrentmanage_options. - Depuis SEOPress 10.4, les abilities qui modifient les réglages SEO d’un article ou d’un terme (
update-post-*,update-term-*) refusent un rôle coché dans SEO > Réglages avancés > Sécurité > Metaboxes SEO : rôles bloqués, comme le faisaient déjà la metabox SEO et l’API REST. La lecture reste autorisée. - Depuis SEOPress PRO 10.4, les abilities d’IA vérifient aussi les rôles de la section Génération IA du même onglet Sécurité.
- Utilisez les mots de passe d’application et connectez les agents avec un utilisateur au privilège minimal.
FAQ
Ai-je besoin de SEOPress PRO ? Non. La version gratuite expose déjà 21 abilities, pour les articles, les termes de taxonomie et les réglages globaux. PRO ajoute les redirections, les données structurées, l’audit technique et la génération IA.
Un agent va-t-il modifier des choses sans demander ? Via REST, un agent autorisé exécute ce qu’on lui demande. Dans l’éditeur, l’AI Assistant propose les modifications pour validation avant de les appliquer.
Une ability renvoie « not found ». Vérifiez que Expose abilities to AI agents and external tools est activé et que l’utilisateur connecté peut effectuer l’action.
Une ability de terme indique que la taxonomie n’est pas prise en charge. La taxonomie n’est pas publique, ou Désactiver la metabox SEO est activé pour elle dans SEO > Titres & métas > Taxonomies. Les abilities des termes ne fonctionnent que là où la metabox SEO de l’écran de modification du terme est disponible.