Connecter Claude à WordPress:
API REST ou MCP ; comparaison complète
Connecter Claude à WordPress ouvre des possibilités considérables : publier des articles via des commandes en langage naturel, générer du contenu dire…
Connecter Claude à WordPress ouvre des possibilités considérables : publier des articles via des commandes en langage naturel, générer du contenu directement depuis Claude Code, automatiser la mise à
Dans cet article, je détaille concrètement comment aborder ce sujet en 2026, avec mes retours terrain sur des projets réels et les leçons apprises au quotidien dans mon métier de consultant SEO et IA.
Connecter Claude à WordPress ouvre des possibilités considérables : publier des articles via des commandes en langage naturel, générer du contenu directement depuis Claude Code, automatiser la mise à jour de métadonnées SEO sur des centaines de pages, ou piloter votre site comme vous pilotez un collaborateur. Deux approches s’offrent à vous ; l’API
Comprendre les deux approches avant de choisir
Avant d’entrer dans les détails techniques, une clarification conceptuelle est essentielle. L’API REST WordPress et le MCP ne sont pas deux façons de faire la même chose ; ce sont deux niveaux d’intégration fondamentalement différents.
L’API REST WordPress est une interface que votre code appelle explicitement. Vous écrivez un script, ce script envoie des requêtes HTTP à WordPress, WordPress répond. Claude intervient dans ce scénario comme générateur du code ou comme orchestrateur qui construit les requêtes ; mais l’intégration reste « artisanale » : vous définissez manuellement chaque connexion, chaque flux de données.
Le MCP (Model Context Protocol) est un standard créé par Anthropic en 2024 qui transforme Claude en agent qui comprend nativement votre WordPress. Avec un serveur MCP WordPress configuré, Claude « sait » que votre site existe, connaît ses capacités, et peut interagir avec lui directement depuis une conversation ; sans que vous n’ayez à écrire le code d’intégration à chaque fois.
La distinction pratique : avec l’API REST, vous construisez un outil. Avec le MCP, vous donnez à Claude des mains.
L’API REST WordPress : la fondation de toute intégration
L’API REST WordPress, stable depuis WordPress 4.7 (2016), est la façon standard d’interagir avec un site WordPress depuis l’extérieur. Elle expose les principales ressources de WordPress (posts, pages, médias, catégories, utilisateurs, commentaires) via des endpoints HTTP au format JSON.
Architecture et authentification
Tous les endpoints de l’API REST WordPress suivent la même structure de base :
https://votre-site.fr/wp-json/wp/v2/{ressource}
Les ressources principales disponibles sont : posts, pages, media, categories, tags, users, comments, et les custom post types déclarés avec show_in_rest: true.
Pour les opérations en lecture seule sur des contenus publics, aucune authentification n’est nécessaire. Pour créer, modifier ou supprimer du contenu, WordPress exige une authentification. Trois méthodes sont disponibles selon votre contexte.
Les Application Passwords (mots de passe d’application) sont la méthode recommandée pour les intégrations avec Claude. Disponibles depuis WordPress 5.6, ils s’génèrent depuis votre profil WordPress (Utilisateurs → Votre profil → Mots de passe d’application). L’avantage est la sécurité : ces mots de passe sont séparés de votre mot de passe principal, révocables individuellement, et leur usage apparaît dans les logs d’activité. Dans les headers HTTP, l’authentification s’écrit :
Authorization: Basic {base64(username:application_password)}
L’authentification OAuth 2.0 est plus complexe à configurer mais appropriée pour les applications publiques ou multi-utilisateurs. Pour les intégrations personnelles avec Claude, les Application Passwords sont suffisants et plus simples. La clé API JWT via le plugin JWT Authentication for WP REST API est une troisième option, particulièrement adaptée si vous construisez des services qui doivent gérer des sessions avec expiration automatique.
Les opérations CRUD essentielles
Voici les requêtes les plus utilisées pour piloter WordPress depuis Claude.
Créer un article :
POST /wp-json/wp/v2/postsContent-Type: application/jsonAuthorization: Basic {credentials}{ "title": "Titre de l'article", "content": "<p>Contenu HTML de l'article</p>", "status": "draft", "slug": "slug-de-l-article", "excerpt": "Résumé court de 155 caractères maximum", "categories": [12, 45], "featured_media": 1831}Mettre à jour un article existant :
PATCH /wp-json/wp/v2/posts/{id}Content-Type: application/jsonAuthorization: Basic {credentials}{ "title": "Nouveau titre", "content": "<p>Contenu mis à jour</p>"}Récupérer la liste des articles avec filtres :
GET /wp-json/wp/v2/posts?status=future&per_page=20&orderby=date&order=ascUploader un média :
POST /wp-json/wp/v2/mediaContent-Type: image/jpegAuthorization: Basic {credentials}Content-Disposition: attachment; filename="image.jpg"[binary content of the file]Intégrer les plugins SEO via l’API
Les plugins SEO comme Rank Math et Yoast exposent leurs propres endpoints REST pour mettre à jour les méta-données SEO séparément du contenu de l’article.
Rank Math :
POST /wp-json/rankmath/v1/updateMetaContent-Type: application/x-www-form-urlencodedAuthorization: Basic {credentials}objectType=post&objectID=2373&meta[rank_math_title]=Titre SEO optimisé&meta[rank_math_description]=Description de 115 caractères max&meta[rank_math_focus_keyword]=mot-clé principalYoast SEO :
POST /wp-json/wp/v2/posts/{id}{ "meta": { "_yoast_wpseo_title": "Titre SEO Yoast", "_yoast_wpseo_metadesc": "Description méta Yoast", "_yoast_wpseo_focuskw": "mot-clé focus" }}Utiliser l’API REST avec Claude : les patterns efficaces
Claude peut interagir avec l’API REST WordPress de plusieurs façons selon votre contexte.
Dans Claude.ai en conversation, vous pouvez demander à Claude de construire des requêtes que vous exécutez ensuite manuellement (via cURL, Postman ou un script). C’est utile pour générer du contenu et construire le payload JSON correctement formaté. Donnez-lui vos credentials et l’URL de votre site une fois en début de session, et demandez-lui de générer les requêtes complètes pour chaque opération.
Via Claude Code en ligne de commande, Claude accède directement à votre terminal et peut exécuter des requêtes cURL ou des scripts Python. C’est le mode le plus puissant pour les opérations en volume : « publie ces 10 articles depuis le dossier /drafts avec les métadonnées SEO correspondantes ». Claude construit le script, l’exécute, vérifie les réponses et gère les erreurs.
Via l’API Claude dans Make ou n8n, vous construisez un workflow automatisé où Claude génère du contenu à partir d’un déclencheur (nouveau keyword dans un Google Sheet, article RSS à synthétiser, formulaire de brief) et l’envoie automatiquement à WordPress via l’API REST. C’est la solution pour une production de contenu véritablement automatisée.
Gestion des erreurs et bonnes pratiques
L’API REST WordPress retourne des codes HTTP standard. Les erreurs les plus fréquentes et leur résolution :
401 Unauthorized : Vérifiez que les Application Passwords sont activés sur votre site (certains hébergeurs les désactivent) et que l’encodage Base64 de vos credentials est correct. Format : base64(username:password_with_spaces_removed).
403 Forbidden : L’utilisateur authentifié n’a pas les droits suffisants pour l’opération demandée. Pour créer et modifier des articles, il faut au minimum le rôle « Éditeur ».
404 Not Found : L’endpoint REST n’est pas activé, ou les permaliens WordPress ne sont pas configurés (allez dans Réglages → Permaliens et sauvegardez). Certains hébergeurs avec des firewalls agressifs (comme Tiger Protect chez O2switch) peuvent bloquer les requêtes API ; désactivez temporairement la protection renforcée pour les opérations en masse.
429 Too Many Requests : Vous dépassez les limites de débit de votre hébergeur. Introduisez des délais entre les requêtes (8 à 12 secondes recommandés, 45 secondes après des erreurs consécutives pour O2switch).
Le MCP (Model Context Protocol) : donner des capacités natives à Claude
Le MCP est le protocole standard qu’Anthropic a conçu pour permettre à Claude d’interagir nativement avec des services externes. Au lieu de devoir construire et appeler du code d’intégration à chaque session, vous configurez un serveur MCP une fois, et Claude dispose ensuite de « tools » (outils) qu’il peut utiliser directement dans la conversation.
Comment fonctionne le MCP
Le MCP repose sur une architecture client-serveur. Le serveur MCP est un processus qui expose des outils (tools), des ressources (resources) et des prompts. Les outils sont des fonctions que Claude peut appeler ; par exemple create_post, update_post, get_posts. Les ressources sont des données que Claude peut lire ; par exemple le contenu d’un article ou la liste des catégories disponibles. Le client MCP est l’application qui connecte Claude au serveur ; Claude Desktop, Claude Code, ou une application custom.
Quand vous parlez à Claude dans une session où un serveur MCP WordPress est connecté, Claude peut appeler directement les outils exposés par le serveur. Il « voit » votre WordPress comme une extension de ses capacités ; il peut créer un article sans que vous n’ayez à lui donner les credentials ou à lui expliquer comment construire la requête API.
Installer un serveur MCP WordPress
Plusieurs implémentations MCP pour WordPress sont disponibles en 2026. La plus aboutie est wordpress-mcp, disponible sur npm.
Installation :
npm install -g @anthropic-ai/wordpress-mcpConfiguration dans claude_desktop_config.json (MacOS : ~/Library/Application Support/Claude/, Windows : %APPDATA%\Claude\) :
{ "mcpServers": { "wordpress": { "command": "npx", "args": ["@anthropic-ai/wordpress-mcp"], "env": { "WORDPRESS_URL": "https://votre-site.fr", "WORDPRESS_USERNAME": "votre-utilisateur", "WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx" } } }}Après redémarrage de Claude Desktop, les outils WordPress apparaissent dans l’interface avec une icône spécifique. Claude peut alors les utiliser de façon transparente dans la conversation.
Ce que le MCP permet que l’API seule ne permet pas facilement
La différence n’est pas seulement de confort ; elle est de nature. Voici ce que le MCP rend possible de façon fluide.
L’interaction contextuelle persistante : Dans une session Claude Desktop avec MCP connecté, vous pouvez enchaîner des opérations en référençant le contexte de la conversation. « Rédige un article sur le GEO SEO, puis publie-le en brouillon avec les catégories SEO et Intelligence Artificielle, et optimise les métadonnées Rank Math avec le focus keyword ‘GEO SEO 2026’. » Claude exécute les trois étapes en séquence, en gérant automatiquement les identifiants et les dépendances entre les opérations.
L’orchestration multi-outils : Si vous avez configuré plusieurs serveurs MCP (WordPress + Google Drive + Gmail par exemple), Claude peut orchestrer des workflows qui traversent plusieurs services. « Lis le brief dans ce Google Doc, rédige l’article correspondant, publie-le en brouillon sur WordPress, et envoie un email de confirmation au client avec le lien de prévisualisation. »
L’adaptation dynamique aux erreurs : Quand Claude appelle un outil MCP et reçoit une erreur, il peut analyser l’erreur, ajuster sa stratégie et réessayer ; de façon autonome, sans que vous ayez à intervenir pour debugger. Avec l’API seule, vous devez gérer manuellement chaque cas d’erreur.
La conscience de l’état du site : Claude peut lire l’état actuel de votre WordPress (articles planifiés, catégories existantes, médias disponibles) avant d’agir, ce qui lui permet de prendre des décisions contextuelles. « Publie cet article sur le prochain créneau libre en évitant de créer des doublons de catégorie » est une instruction que Claude peut exécuter intelligemment avec le MCP ; il consulte d’abord l’état du calendrier éditorial, puis prend la meilleure décision.
Créer un serveur MCP WordPress personnalisé
Les serveurs MCP disponibles en open source couvrent les opérations CRUD standard. Pour des besoins spécifiques ; intégration avec des plugins custom, endpoints REST propriétaires, workflows métier spécifiques ; vous pouvez créer votre propre serveur MCP WordPress.
Le SDK MCP officiel est disponible en Python et TypeScript. Voici la structure minimale d’un serveur MCP WordPress en Python :
from mcp.server import Serverfrom mcp.server.models import InitializationOptionsimport mcp.types as typesimport requestsimport base64app = Server("wordpress-custom")WP_URL = "https://votre-site.fr/wp-json/wp/v2"CREDENTIALS = base64.b64encode(b"username:app_password").decode()HEADERS = { "Authorization": f"Basic {CREDENTIALS}", "Content-Type": "application/json"}@app.list_tools()async def handle_list_tools() -> list[types.Tool]: return [ types.Tool( name="create_post", description="Crée un article WordPress avec titre, contenu et métadonnées", inputSchema={ "type": "object", "properties": { "title": {"type": "string", "description": "Titre de l'article"}, "content": {"type": "string", "description": "Contenu HTML"}, "status": {"type": "string", "enum": ["draft", "publish", "future"]}, "date": {"type": "string", "description": "Date ISO 8601 pour planification"}, "categories": {"type": "array", "items": {"type": "integer"}}, "excerpt": {"type": "string", "description": "Extrait de 155 caractères max"} }, "required": ["title", "content"] } ), types.Tool( name="update_rankmath", description="Met à jour les métadonnées Rank Math d'un article", inputSchema={ "type": "object", "properties": { "post_id": {"type": "integer"}, "focus_keyword": {"type": "string"}, "seo_title": {"type": "string", "description": "Max 60 caractères"}, "seo_description": {"type": "string", "description": "Max 115 caractères"} }, "required": ["post_id", "focus_keyword", "seo_title", "seo_description"] } ) ]@app.call_tool()async def handle_call_tool(name: str, arguments: dict) -> list[types.TextContent]: if name == "create_post": response = requests.post( f"{WP_URL}/posts", headers=HEADERS, json={ "title": arguments["title"], "content": arguments["content"], "status": arguments.get("status", "draft"), "date": arguments.get("date"), "categories": arguments.get("categories", []), "excerpt": arguments.get("excerpt", ""), "featured_media": 1831 } ) post = response.json() return [types.TextContent( type="text", text=f"Article créé avec succès. ID: {post.get('id')}, Statut: {post.get('status')}" )] elif name == "update_rankmath": response = requests.post( f"https://votre-site.fr/wp-json/rankmath/v1/updateMeta", headers={**HEADERS, "Content-Type": "application/x-www-form-urlencoded"}, data={ "objectType": "post", "objectID": arguments["post_id"], "meta[rank_math_focus_keyword]": arguments["focus_keyword"], "meta[rank_math_title]": arguments["seo_title"], "meta[rank_math_description]": arguments["seo_description"] } ) return [types.TextContent(type="text", text=f"Rank Math mis à jour: {response.json()}")]Comparaison directe : API REST vs MCP
Pour choisir intelligemment entre les deux approches, voici une comparaison structurée sur les dimensions qui comptent.
Facilité de mise en place
L’API REST WordPress ne nécessite aucune installation supplémentaire ; elle est activée par défaut sur tout WordPress moderne. Il suffit de générer un Application Password et de commencer à envoyer des requêtes. Le MCP requiert l’installation d’un serveur MCP (package npm ou script Python), la configuration dans Claude Desktop ou Claude Code, et un redémarrage de l’application. Comptez 15 à 30 minutes pour une configuration correcte.
Avantage API REST sur ce critère.
Puissance et autonomie de Claude
Avec l’API REST seule, Claude génère le code ou les requêtes mais ne peut pas les exécuter directement depuis Claude.ai. Vous êtes l’intermédiaire d’exécution. Avec le MCP, Claude agit de façon autonome ; il consulte l’état du site, prend des décisions, exécute des séquences d’actions complexes et gère les erreurs sans intervention humaine.
Avantage MCP sur ce critère.
Contrôle et sécurité
L’API REST vous force à être l’intermédiaire, ce qui signifie que vous validez chaque action avant exécution. C’est une contrainte mais aussi une protection. Le MCP donne à Claude une autonomie d’action directe sur votre WordPress. Mal configuré ou utilisé avec des instructions trop vagues, Claude pourrait modifier des articles existants, créer des doublons ou publier du contenu non souhaité. Des garde-fous sont nécessaires : utilisateur WordPress dédié avec permissions limitées, logs d’activité activés, backups réguliers.
Avantage API REST pour les environnements où le contrôle est prioritaire.
Workflow en volume
Pour publier 10, 50 ou 100 articles en une session, le MCP est incomparablement plus fluide. Une instruction simple (« publie ces articles depuis cette liste avec les bons créneaux ») et Claude orchestre l’ensemble. Avec l’API seule via Claude Code, c’est aussi possible mais nécessite de construire explicitement le script et de superviser l’exécution.
Avantage MCP sur ce critère.
Intégration dans des pipelines automatisés
Si vous voulez intégrer WordPress dans un workflow Make/n8n/Zapier, l’API REST est l’approche naturelle ; ces plateformes ont des connecteurs REST natifs. Le MCP est conçu pour une utilisation directe depuis Claude Desktop ou Claude Code, pas pour être appelé depuis des outils d’automatisation tiers.
Avantage API REST pour les automations tiers.
Compatibilité avec plugins et custom post types
L’API REST expose nativement les custom post types déclarés avec show_in_rest: true et peut être étendue par n’importe quel plugin. Pour des opérations sur des données spécifiques à votre configuration (WooCommerce, Advanced Custom Fields, etc.), l’API REST donne accès à ces endpoints spécialisés. Les serveurs MCP génériques ne couvrent que les opérations WordPress core.
Avantage API REST pour les configurations WordPress complexes.
Quelle approche choisir selon votre profil ?
Choisissez l’API REST si :
Vous avez une configuration WordPress avec des plugins métier (WooCommerce, ACF, custom post types) et avez besoin d’accéder à des données spécifiques à ces plugins. Vous intégrez WordPress dans un workflow Make/n8n/Zapier existant. Vous préférez garder un contrôle humain sur chaque publication. Vous êtes développeur et construisez une intégration sur mesure.
Choisissez le MCP si :
Vous utilisez Claude Desktop ou Claude Code comme interface principale de travail. Vous gérez un blog ou un site à fort volume de contenu et voulez piloter les publications en langage naturel. Vous voulez que Claude orchestre des workflows complets de façon autonome. Vous êtes à l’aise avec une configuration initiale plus technique en échange d’une utilisation quotidienne plus fluide.
Combinez les deux si :
Vous avez des besoins hybrides ; utilisation quotidienne via MCP pour la création de contenu standard, et scripts API pour des opérations spécifiques en volume ou des intégrations avec des outils tiers. Les deux approches sont complémentaires et non exclusives.
La façon la plus productive de démarrer : commencez par l’API REST pour comprendre comment WordPress expose ses données et comment les modifier. Une fois que vous maîtrisez les endpoints clés et les patterns d’erreur, configurez le MCP pour votre usage quotidien. Vous aurez alors une compréhension profonde de ce qui se passe sous le capot du MCP ; ce qui vous permettra de debugger efficacement et d’étendre les capacités du serveur quand vous en aurez besoin.
Checklist de sécurité avant de connecter Claude à votre WordPress
Quelle que soit l’approche choisie, quelques mesures de sécurité sont indispensables avant de donner à Claude un accès à votre WordPress de production.
Créez un utilisateur WordPress dédié pour les intégrations Claude ; ne réutilisez pas votre compte administrateur principal. Attribuez à cet utilisateur uniquement les permissions nécessaires : « Éditeur » suffit pour créer et modifier des articles sans accès aux réglages du site. Activez les logs d’activité (plugin WP Activity Log) pour tracer toutes les modifications effectuées via l’API. Faites des backups automatiques quotidiens ; une opération mal exécutée sur des centaines d’articles en masse peut causer des dommages difficiles à reverter manuellement. Sur les hébergements mutualisés avec des WAF (firewalls applicatifs), vérifiez que les requêtes API depuis des IPs externes ne sont pas bloquées.
Vous souhaitez mettre en place une intégration Claude + WordPress adaptée à votre site et à vos besoins de production de contenu ?
Planifier un échange
Faisons le point ensemble
Lucas Fonseque, consultant SEO & IA à Toulouse. 30 minutes pour faire le point sur votre projet et identifier les leviers prioritaires, sans engagement.
📅 Réserver un appel gratuit →
