Aller au contenu Accéder à la navigation

Connecter des assistants IA à votre site WordPress avec le serveur MCP de SEOPress

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é.

  1. Allez dans SEO > Avancé, onglet Avancé.
  2. Dans la section API Abilities, activez Exposer les abilities aux agents IA et aux outils externes.
  3. Cliquez sur Enregistrer les modifications.
  4. 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

  1. Ouvrez Settings > Connectors, puis Add custom connector.
  2. Collez l’URL de votre serveur MCP. Laissez tous les autres champs vides.
  3. 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

  1. 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.
  2. 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.
  3. Cliquez sur Authenticate à côté du serveur, connectez-vous à votre site et approuvez la connexion.

Cursor

  1. Ouvrez ou créez le fichier .cursor/mcp.json (ce projet uniquement) ou ~/.cursor/mcp.json (tous les projets).
  2. Ajoutez-y le serveur SEOPress. Si le fichier contient déjà un objet mcpServers, ajoutez l’entrée SEOPress à l’intérieur :
{
    "mcpServers": {
        "SEOPress": {
            "type": "http",
            "url": "https://example.com/wp-json/seopress/mcp/v1"
        }
    }
}
  1. 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ête Authorization.

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.