Depuis la version 10.3, SEOPress intègre un serveur MCP. MCP (Model Context Protocol) est le standard ouvert qu’utilisent les assistants IA pour dialoguer avec des outils externes. Une fois votre site connecté, Claude, ChatGPT, Cursor ou tout autre client MCP peut lire et gérer vos données SEO directement depuis une conversation : titres, méta descriptions, directives robots, métadonnées sociales, analyse de contenu, redirections, données structurées, etc.
Le serveur MCP est inclus dans SEOPress Free. SEOPress PRO y ajoute ses propres outils. Il n’y a aucune extension supplémentaire à installer, aucun service tiers intermédiaire et aucune clé API à payer : le client IA dialogue directement avec votre site.
Ce que vous pouvez en faire
Quelques demandes à saisir dans votre client IA une fois le site connecté :
- « Liste les pages qui n’ont pas de méta description et rédiges-en une pour chacune. »
- « Quelles publications sont en noindex ? Dis-moi si l’une d’elles ressemble à une erreur. »
- « Lance l’analyse de contenu de la publication 123 sur le mot-clé « seo wordpress » et dis-moi quoi corriger. »
- « Réécris les titres SEO de mes 10 derniers articles pour qu’ils restent sous les 60 caractères. »
- « Crée une redirection 301 de /ancienne-page/ vers /nouvelle-page/. » (SEOPress PRO)
- « Lance l’audit technique du site et résume les problèmes par priorité. » (SEOPress PRO)
L’assistant choisit lui-même les bons outils. Vous gardez la main sur ce qu’il a le droit de faire, comme expliqué plus bas.
Prérequis
- SEOPress 10.3 ou supérieur (SEOPress PRO 10.3 ou supérieur pour les outils PRO).
- WordPress 6.9 ou supérieur. Le serveur MCP repose sur l’API Abilities de WordPress, livrée avec WordPress 6.9.
- Un site servi en HTTPS. Les clients hébergés dans le cloud (claude.ai, ChatGPT) ont besoin d’une adresse HTTPS publique pour atteindre votre site.
- Un compte WordPress disposant des permissions correspondant à ce que vous voulez confier à l’assistant.
Les sites locaux (localhost, 127.0.0.1, *.localhost) fonctionnent sans HTTPS avec les clients installés sur votre machine : Claude Code, l’application de bureau Claude et Cursor. claude.ai et ChatGPT tournent sur leurs propres serveurs et ne peuvent pas voir un site local.
Étape 1 : activer le serveur MCP
Le serveur MCP est désactivé par défaut. Rien n’est exposé tant que vous ne l’avez pas activé.
- Allez dans SEO > Avancé, onglet Avancé.
- Dans la section API Abilities, activez Exposer les abilities aux agents IA et aux outils externes.
- Cliquez sur Enregistrer les modifications.
- Ouvrez l’onglet MCP de la même page.
L’onglet MCP réunit tout ce dont vous avez besoin : l’état de la connexion, les vérifications de disponibilité, l’URL du serveur MCP, les instructions propres à chaque client, les clients connectés et la liste des outils.
L’URL de votre serveur MCP ressemble à ceci :
https://example.com/wp-json/seopress/mcp/v1
Si vos permaliens sont réglés sur « Simple », l’URL prend la forme avec paramètre de requête (https://example.com/?rest_route=/seopress/mcp/v1). Elle fonctionne aussi : copiez-la exactement telle que l’onglet MCP l’affiche.
Étape 2 : connecter votre client IA
Tous les clients s’identifient via OAuth. Vous collez l’URL, votre navigateur ouvre votre propre site, vous vous connectez à WordPress et vous approuvez la connexion. Il n’y a aucun mot de passe ni aucune clé API à créer ou à copier.
Claude (claude.ai, application de bureau, Claude Code)
claude.ai et l’application de bureau
- Ouvrez Settings > Connectors, puis Add custom connector.
- Collez l’URL de votre serveur MCP. Laissez tous les autres champs vides.
- Votre navigateur est redirigé vers votre site. Connectez-vous à WordPress si nécessaire, puis approuvez la connexion.
Claude Code
Lancez la commande affichée dans l’onglet MCP. Elle ressemble à ceci :
claude mcp add --transport http --scope user SEOPress "https://example.com/wp-json/seopress/mcp/v1"
Lancez ensuite /mcp dans Claude Code pour vous identifier.
ChatGPT
- Dans ChatGPT, ouvrez l’écran des réglages qui liste vos connecteurs (Settings > Integrations > Plugins > Add dans l’application), puis choisissez Add MCP server. Les serveurs MCP personnalisés nécessitent d’activer le mode développeur dans ChatGPT.
- Donnez-lui un nom, choisissez le type Streamable HTTP et collez l’URL de votre serveur MCP. Laissez vides les champs de jeton (bearer token) et d’en-têtes.
- Cliquez sur Authenticate à côté du serveur, connectez-vous à votre site et approuvez la connexion.
Cursor
- Ouvrez ou créez le fichier
.cursor/mcp.json(ce projet uniquement) ou~/.cursor/mcp.json(tous les projets). - Ajoutez-y le serveur SEOPress. Si le fichier contient déjà un objet
mcpServers, ajoutez l’entréeSEOPressà l’intérieur :
{
"mcpServers": {
"SEOPress": {
"type": "http",
"url": "https://example.com/wp-json/seopress/mcp/v1"
}
}
}
- Redémarrez Cursor, ouvrez Settings > Customize > MCPs, cliquez sur Authenticate à côté de SEOPress et approuvez la connexion.
Autres clients MCP
Tout client compatible avec le transport Streamable HTTP peut se connecter. S’il gère OAuth, donnez-lui l’URL du serveur MCP : il trouvera seul la page d’identification.
Dans le cas contraire, vous pouvez vous authentifier avec un mot de passe d’application WordPress, envoyé dans un en-tête Authorization de type Basic :
{
"mcpServers": {
"SEOPress": {
"type": "http",
"url": "https://example.com/wp-json/seopress/mcp/v1",
"headers": {
"Authorization": "Basic BASE64_OF_USERNAME_COLON_APPLICATION_PASSWORD"
}
}
}
}
Sur un site où OAuth ne peut pas fonctionner, l’onglet MCP propose directement cette méthode : il crée le mot de passe d’application pour vous et l’insère dans la configuration à copier. Le mot de passe n’est affiché qu’une seule fois et SEOPress ne le stocke jamais.
L’écran d’approbation : lecture seule, ou lecture et modification
Lorsqu’un client se connecte via OAuth, votre site affiche un écran d’approbation. Il indique quel client fait la demande, au nom de quel compte WordPress il agira et la liste des outils qu’il obtiendra. Vous choisissez ensuite ce que la connexion a le droit de faire :
- Lecture et modification : tous les outils sont disponibles.
- Lecture seule : seuls les outils qui lisent des données sont servis. Les outils qui modifient des données ne sont pas présentés à cette connexion, et sont refusés si le client en appelle un par son nom.
Cliquez sur Autoriser cette connexion pour terminer, ou sur Refuser pour annuler.
Le client choisit lui-même son nom lors de son enregistrement, et rien ne permet de le vérifier. N’approuvez qu’une connexion que vous venez de lancer vous-même.
Étape 3 : vérifier que tout fonctionne
Demandez à votre assistant quels outils il possède. Il doit lister ceux de la section Outils exposés de l’onglet MCP.
Si rien n’apparaît, ouvrez le panneau Diagnostics en haut de l’onglet MCP et cliquez sur Lancer les vérifications. Chaque ligne qui n’est pas verte indique ce qu’il faut modifier sur votre site.
Outils disponibles
Les noms d’outils sont préfixés par seopress__. Par exemple, l’ability seopress/get-post-title-description est servie sous la forme de l’outil seopress__get-post-title-description.
SEOPress Free
| Outil | Ce qu’il fait | Accès | Qui peut l’utiliser |
|---|---|---|---|
get-post-title-description |
Lit le titre SEO et la méta description personnalisés d’une publication | Lecture seule | Comptes pouvant modifier la publication |
update-post-title-description |
Définit ou vide le titre SEO et la méta description d’une publication | Peut modifier des données | Comptes pouvant modifier la publication |
get-post-robots-settings |
Lit les directives robots d’une publication (noindex, nofollow, URL canonique, catégorie principale, etc.) | Lecture seule | Comptes pouvant modifier la publication |
update-post-robots-settings |
Met à jour les directives robots d’une publication | Peut modifier des données | Comptes pouvant modifier la publication |
get-post-social-settings |
Lit les métadonnées Facebook/Open Graph et X/Twitter d’une publication | Lecture seule | Comptes pouvant modifier la publication |
update-post-social-settings |
Met à jour les métadonnées Facebook/Open Graph et X/Twitter d’une publication | Peut modifier des données | Comptes pouvant modifier la publication |
analyze-post-content |
Lance l’analyse de contenu sur une publication et renvoie le score, les vérifications et les recommandations | Lecture seule | Comptes pouvant modifier la publication |
list-posts-missing-metadata |
Liste les publications sans titre SEO et/ou sans méta description personnalisés | Lecture seule | Comptes pouvant modifier des publications |
list-posts-by-content-score |
Liste les publications avec le verdict de leur dernière analyse de contenu | Lecture seule | Comptes pouvant modifier des publications |
list-posts-noindexed |
Liste les publications portant une directive noindex explicite | Lecture seule | Comptes pouvant modifier des publications |
get-global-titles-settings |
Lit les modèles globaux de titres et de méta descriptions | Lecture seule | Comptes pouvant gérer les réglages Titres & Metas |
get-sitemap-settings |
Lit la configuration des sitemaps XML et HTML | Lecture seule | Comptes pouvant gérer les réglages Sitemap XML / HTML |
get-instant-indexing-settings |
Lit la configuration de l’Indexation instantanée et le journal des envois. Les clés API ne sont jamais renvoyées | Lecture seule | Comptes pouvant gérer les réglages Indexation instantanée |
get-global-social-settings |
Lit le Knowledge Graph et les réglages sociaux par défaut | Lecture seule | Comptes pouvant gérer les réglages Réseaux sociaux |
SEOPress PRO
| Outil | Ce qu’il fait | Accès | Qui peut l’utiliser |
|---|---|---|---|
list-redirections |
Liste les redirections et les erreurs 404 détectées, avec pagination, recherche et filtres | Lecture seule | Comptes pouvant lire les redirections |
get-redirection |
Lit une redirection | Lecture seule | Comptes pouvant lire les redirections |
create-redirection |
Crée une redirection d’une URL d’origine vers une URL cible | Peut modifier des données | Comptes pouvant publier des redirections |
update-redirection |
Met à jour une redirection existante | Peut modifier des données | Comptes pouvant modifier la redirection |
delete-redirection |
Supprime définitivement une redirection | Peut modifier des données | Comptes pouvant supprimer la redirection |
get-post-schemas |
Lit les données structurées manuelles (schema.org) d’une publication | Lecture seule | Comptes pouvant modifier la publication |
update-post-schemas |
Remplace les données structurées manuelles d’une publication | Peut modifier des données | Comptes pouvant modifier la publication |
update-target-keywords |
Met à jour les mots-clés cibles d’une publication | Peut modifier des données | Comptes pouvant modifier la publication |
generate-seo-title |
Génère une suggestion de titre SEO par IA. La suggestion n’est pas enregistrée | Lecture seule | Comptes pouvant modifier la publication |
generate-meta-description |
Génère une suggestion de méta description par IA. La suggestion n’est pas enregistrée | Lecture seule | Comptes pouvant modifier la publication |
generate-alt-text |
Génère un texte alternatif et une légende pour une image par IA. La suggestion n’est pas enregistrée | Lecture seule | Comptes pouvant modifier l’image |
upload-image |
Télécharge une image depuis une URL et l’ajoute à la médiathèque | Peut modifier des données | Comptes pouvant téléverser des fichiers |
get-technical-audit |
Lance les vérifications techniques globales du site et renvoie une liste de contrôle structurée | Lecture seule | Comptes pouvant gérer les outils d’audit de SEOPress PRO |
Les réglages et les outils d’audit sont réservés par défaut aux administrateurs. Les trois outils generate-* utilisent le fournisseur d’IA configuré dans SEOPress PRO.
Sécurité et permissions
Le serveur MCP est conçu pour que la connexion d’un client IA ne lui donne jamais plus de pouvoir que vous n’en avez déjà.
- Désactivé par défaut. Le point de terminaison refuse toutes les requêtes tant que vous n’avez pas activé l’exposition.
- Vos propres permissions, jamais plus. Une connexion agit au nom du compte WordPress qui l’a approuvée. Chaque appel d’outil passe par les mêmes contrôles de permissions que l’administration WordPress. Un éditeur connecté via MCP ne peut pas lire les réglages SEOPress réservés aux administrateurs, et un auteur ne peut pas modifier les publications des autres.
- Connexions en lecture seule. Choisies sur l’écran d’approbation, et imposées par le serveur pendant toute la durée de vie de la connexion.
- Uniquement les outils SEOPress. Le serveur ne sert que les abilities de SEOPress. Celles enregistrées par d’autres extensions sont retenues, sauf si vous choisissez de les servir.
- Contrôle outil par outil. Vous pouvez désactiver n’importe quel outil pour l’ensemble du site.
- Aucun secret ne quitte votre site. Les clés API stockées dans les réglages de SEOPress ne sont jamais renvoyées par un outil. Les mots de passe d’application créés depuis l’onglet MCP vont de WordPress à votre navigateur et ne sont jamais stockés ni journalisés par SEOPress.
- OAuth 2.1 standard. L’identification repose sur PKCE, l’enregistrement dynamique des clients et des jetons liés à l’adresse de votre site. Les jetons d’accès durent une heure et sont renouvelés automatiquement. Une connexion inutilisée pendant 30 jours doit s’identifier de nouveau.
- Révocable à tout moment. Un clic dans l’onglet MCP coupe immédiatement l’accès d’un client.
Les outils qui modifient des données enregistrent sur votre site en production, exactement comme si vous aviez modifié la publication vous-même. Demandez à votre assistant de vous montrer ce qu’il compte modifier avant de le faire, et utilisez une connexion en lecture seule lorsque vous n’avez besoin que d’un audit.
Gérer la connexion
Clients connectés
La section Clients connectés de l’onglet MCP liste chaque client détenant un jeton pour votre compte : son nom, ce pour quoi il a été approuvé (lecture seule, ou lecture et modification), la date de connexion et la date de dernière utilisation. Cliquez sur Révoquer pour lui couper l’accès. L’effet est immédiat.
Chaque compte ne voit et ne révoque que ses propres connexions. Un compte peut détenir jusqu’à 25 connexions.
Si vous changez l’adresse de votre site, les connexions émises pour l’ancienne adresse sont marquées comme n’étant plus valides. Révoquez-les, puis connectez-vous de nouveau.
Choisir les outils servis
La section Outils exposés liste chaque outil avec son niveau d’accès. Utilisez l’interrupteur Servi en fin de ligne pour désactiver un outil, puis enregistrez. Un outil désactivé n’est plus présenté à aucun client et ne peut plus être appelé, quelles que soient les permissions du compte.
C’est utile pour garder un outil sensible pour vous, par exemple delete-redirection.
Abilities des autres extensions
D’autres extensions peuvent enregistrer leurs propres abilities dans WordPress. Par défaut, le serveur MCP de SEOPress ne les sert pas, afin que l’activation de vos outils SEO ne confie jamais par accident à un client IA les outils d’une autre extension.
Pour les servir également, activez Servir aussi les abilities enregistrées par d’autres extensions dans la section Outils exposés. Avant que vous n’enregistriez, l’onglet MCP liste les outils que cela ajouterait. Lisez cette liste : certains peuvent modifier ou supprimer des données.
Dépannage
Le panneau Diagnostics lance neuf vérifications et vous indique quoi corriger pour chacune de celles qui échouent.
| Vérification | En cas d’échec |
|---|---|
| API Abilities de WordPress | Mettez WordPress à jour en version 6.9 ou supérieure. |
| Abilities exposées aux clients externes | Activez Exposer les abilities aux agents IA et aux outils externes dans l’onglet Avancé, puis enregistrez. |
| Route MCP enregistrée | Une autre extension supprime des routes de l’API REST de WordPress. Autorisez la route /seopress/mcp/v1. |
| Réponse du point de terminaison MCP | Une extension de sécurité, un pare-feu ou un CDN bloque la requête, ou votre hébergeur bloque les requêtes en boucle locale (loopback). Autorisez les requêtes POST vers l’URL du serveur MCP. |
| Mots de passe d’application | Nécessaires uniquement pour les clients qui ne s’identifient pas via OAuth. WordPress ne les propose qu’en HTTPS, et une extension de sécurité peut les désactiver. |
| HTTPS | Installez un certificat TLS et passez l’adresse web de WordPress et l’adresse web du site en https. |
| Permaliens | Simple avertissement : l’URL fonctionne sous sa forme avec paramètre de requête. Choisissez une structure autre que « Simple » pour obtenir une URL plus courte. |
| OAuth pour les clients navigateur | OAuth nécessite HTTPS (ou un site local). |
| Document de découverte OAuth | Votre serveur ne transmet pas les requêtes /.well-known/ à WordPress. Choisissez une structure de permaliens autre que « Simple ». Si WordPress est installé dans un sous-répertoire, ajoutez une règle qui lui transmet les requêtes /.well-known/. |
Autres situations courantes :
- Le client se connecte mais ne liste aucun outil. Vérifiez la section Outils exposés, ainsi que les permissions de votre compte WordPress.
- La connexion a été approuvée en lecture seule. Un outil de modification est alors refusé. Supprimez la connexion dans votre client, reconnectez-vous et choisissez Lecture et modification.
- Vous n’avez pas la permission d’utiliser un outil. Votre compte WordPress ne dispose pas de la permission requise par cet outil.
- Le connecteur échoue dès la première tentative. Ouvrez les deux adresses listées sous Documents de découverte dans la section Clients connectés. Toutes deux doivent répondre en JSON. Si ce n’est pas le cas, une extension de sécurité, un cache ou une règle serveur fait obstacle.
- Un cache ou une couche de sécurité devant le site. Excluez
/wp-json/seopress/mcp/et/.well-known/oauth-*du cache de page, et ne supprimez pas l’en-têteAuthorization.
Pour les développeurs
Le serveur implémente le transport MCP Streamable HTTP sur une unique route REST (POST /wp-json/seopress/mcp/v1) et prend en charge les révisions 2025-06-18, 2025-03-26 et 2024-11-05 du protocole. Il n’expose que des outils (ni ressources, ni prompts).
Chaque outil est une ability WordPress enregistrée avec wp_register_ability() dans l’espace de noms seopress. Les filtres suivants permettent d’ajuster le comportement :
| Filtre | Rôle |
|---|---|
seopress_abilities_api_rest_enabled |
Forcer l’activation ou la désactivation de l’exposition, quel que soit le réglage. |
seopress_mcp_read_only |
Forcer toutes les connexions en lecture seule. |
seopress_mcp_disabled_abilities |
Désactiver des abilities par leur nom. |
seopress_mcp_served_abilities |
Dernier mot sur la liste des abilities servies aux clients. |
seopress_mcp_exposed_namespaces |
Ajouter des espaces de noms d’abilities à servir en plus de seopress. |
seopress_mcp_foreign_namespaces_enabled |
Servir, ou non, les abilities de toutes les autres extensions. |
seopress_mcp_allowed_origins |
Origines autorisées à atteindre le point de terminaison depuis un navigateur. |
seopress_mcp_oauth_enabled |
Désactiver le serveur OAuth. |
seopress_mcp_oauth_transport_is_secure |
Indiquer au serveur OAuth que le site est servi de façon sécurisée, par exemple derrière un proxy qui termine le TLS. |
Exemple : passer toutes les connexions MCP en lecture seule sur un site en production.
add_filter( 'seopress_mcp_read_only', '__return_true' );
Exemple : servir les abilities de votre propre extension aux côtés de celles de SEOPress.
add_filter( 'seopress_mcp_exposed_namespaces', function ( $namespaces ) {
$namespaces[] = 'my-plugin';
return $namespaces;
} );
FAQ
Le serveur MCP est-il disponible dans SEOPress Free ?
Oui. Le serveur et 14 outils sont inclus dans SEOPress Free. SEOPress PRO ajoute 13 outils (redirections, données structurées, mots-clés cibles, génération par IA, import d’image, audit technique).
SEOPress envoie-t-il mon contenu à un fournisseur d’IA ?
Non. SEOPress se contente de répondre aux requêtes du client IA que vous avez connecté. Ce que votre client fait des réponses dépend de ce client et de son fournisseur.
Ai-je besoin d’une clé API OpenAI ou Anthropic ?
Non. Vous utilisez l’abonnement de votre client IA. Seuls les trois outils generate-* de SEOPress PRO s’appuient sur le fournisseur d’IA configuré dans SEOPress PRO.
Plusieurs personnes peuvent-elles connecter leur propre client ?
Oui. Chaque connexion est liée au compte WordPress qui l’a approuvée et limitée aux permissions de ce compte.
Est-ce compatible avec un réseau multisite ?
Chaque site du réseau possède sa propre URL de serveur MCP et son propre réglage.
Comment tout désactiver ?
Désactivez Exposer les abilities aux agents IA et aux outils externes, puis enregistrez. Le point de terminaison et le serveur OAuth cessent immédiatement de répondre.