MCP Partie 2B – Chatbot WordPress & recherche avancée : quand votre site commence enfin à comprendre ce qu’on lui demande

Et si votre site WordPress comprenait enfin ce qu’on lui demande ? Dans cette partie 2B, on explore le chatbot documentaire basé sur le MCP : recherche avancée, cas d’usage en entreprise, WooCommerce et support technique, avec une approche maîtrisée et sécurisée.

Temps de lecture :

6–8 minutes
Chatbot WordPress avec recherche IA pour un accès facile à l'information pertinente.
Accueil » Blog » Lab – Démos & Screencasts » MCP Partie 2B – Chatbot WordPress & recherche avancée : quand votre site commence enfin à comprendre ce qu’on lui demande

Un site WordPress, c’est un peu comme un classeur bien rempli.
Tout est là, bien rangé… mais dès qu’on cherche une info précise, ça se complique.

Soyons honnêtes :
la plupart du temps, l’information existe, mais on n’arrive pas à mettre la main dessus. Et non, ce n’est pas (que) la faute des utilisateurs.

Le vrai problème, c’est la recherche.

Retrouvez cette vidéo en pleine page, avec chapitres et transcription

La recherche WordPress classique : efficace… jusqu’à un certain point

Aujourd’hui, chercher sur un site WordPress, ça ressemble souvent à ça :
vous tapez un mot-clé,
WordPress vous sort une liste de pages,
et débrouillez-vous.

Ça fonctionne pour des requêtes simples.
Mais dès que la question devient un peu plus naturelle ou un peu plus métier, ça coince.

  • La recherche native repère des mots, pas des intentions.
  • Elle affiche des résultats, mais ne répond pas.

Et quand l’info est répartie sur plusieurs pages ?
Quand il faut croiser des règles, des exceptions, des plafonds, des procédures ?
Là, clairement, WordPress fait la moue.

Le chatbot documentaire : on ne cherche plus, on demande

C’est là que le chatbot change la donne.

Capture d'écran de la FAQ sur le nommage des documents internes, présentant des règles de format et d'organisation.

Au lieu de demander à l’utilisateur de fouiller le site,
on lui permet simplement de poser une question, comme il le ferait à un collègue.

Le principe est simple :

  • vous posez une question en langage naturel,
  • l’IA comprend ce que vous cherchez vraiment,
  • elle va interroger WordPress,
  • elle lit un ou plusieurs contenus,
  • et elle vous répond clairement.

Bref, on passe d’un moteur de recherche passif à un assistant qui réfléchit.

Le rôle clé du MCP : tout comprendre sans tout ouvrir

Derrière cette mécanique, il y a le Model Context Protocol (MCP).

   private function list_tools()
    {
        return [
            'tools' => [
                [
                    'name'        => 'search',
                    'description' => 'Rechercher des posts (favoris) selon un texte',
                    'inputSchema' => [
                        'type'       => 'object',
                        'properties' => [
                            'query' => [
                                'type'        => 'string',
                                'description' => 'Texte à rechercher via la recherche WordPress (?s=)'
                            ],
                            'limit' => [
                                'type'        => 'integer',
                                'description' => 'Nombre maximum de posts à retourner (optionnel, défaut = 5)',
                                'minimum'     => 1
                            ],
                        ],
                        'required' => ['query'],
                    ],
                ],
                [
                    'name'        => 'fetch',
                    'description' => 'Récupérer le contenu d’un post par ID. Retourne titre, contenu et lien.',
                    'inputSchema' => [
                        'type'       => 'object',
                        'properties' => [
                            'id' => [
                                'type'        => 'string',
                                'description' => 'ID (ex: "post-123")'
                            ],
                        ],
                        'required' => ['id'],
                    ],
                ],
                [
                    'name'        => 'list_tags',
                    'description' => 'Lister tous les tags disponibles de la taxonomie favoris_tag',
                    'inputSchema' => [
                        'type'       => 'object',
                        'properties' => [
                            'limit' => [
                                'type'        => 'integer',
                                'description' => 'Nombre maximum de tags à retourner (optionnel)',
                                'minimum'     => 1
                            ],
                        ],
                    ],
                ],
                [
                    'name'        => 'list_categories',
                    'description' => 'Lister toutes les catégories disponibles de la taxonomie favoris_categorie',
                    'inputSchema' => [
                        'type'       => 'object',
                        'properties' => [
                            'limit' => [
                                'type'        => 'integer',
                                'description' => 'Nombre maximum de catégories à retourner (optionnel)',
                                'minimum'     => 1
                            ],
                        ],
                    ],
                ],
                [
                    'name'        => 'search_taxonomy',
                    'description' => 'Rechercher des posts par taxonomie (favoris_tag ou favoris_categorie)',
                    'inputSchema' => [
                        'type'       => 'object',
                        'properties' => [
                            'taxonomy' => [
                                'type'        => 'string',
                                'description' => 'Nom de la taxonomie (favoris_tag ou favoris_categorie)'
                            ],
                            'value' => [
                                'type'        => 'string',
                                'description' => 'Valeur (slug) recherchée dans cette taxonomie'
                            ],
                            'limit' => [
                                'type'        => 'integer',
                                'description' => 'Nombre maximum de posts à retourner (optionnel)',
                                'minimum'     => 1
                            ],
                        ],
                        'required' => ['taxonomy', 'value'],
                    ],
                ],
                [
                    'name'        => 'list_acf_fields',
                    'description' => 'Lister tous les champs ACF disponibles pour les posts de type favoris',
                    'inputSchema' => [
                        'type' => 'object',
                    ],
                ],
                [
                    'name'        => 'search_acf',
                    'description' => 'Rechercher des posts selon un champ ACF',
                    'inputSchema' => [
                        'type'       => 'object',
                        'properties' => [
                            'field' => [
                                'type'        => 'string',
                                'description' => 'Nom du champ ACF'
                            ],
                            'value' => [
                                'type'        => 'string',
                                'description' => 'Valeur recherchée dans ce champ'
                            ],
                            'limit' => [
                                'type'        => 'integer',
                                'description' => 'Nombre maximum de posts à retourner (optionnel)',
                                'minimum'     => 1
                            ],
                        ],
                        'required' => ['field', 'value'],
                    ],
                ],
                [
                    'name'        => 'search_combined',
                    'description' => 'Recherche croisée selon texte, taxonomies et champs ACF',
                    'inputSchema' => [
                        'type'       => 'object',
                        'properties' => [
                            'query' => [
                                'type'        => 'string',
                                'description' => 'Texte libre à rechercher'
                            ],
                            'taxonomies' => [
                                'type'        => 'array',
                                'description' => 'Liste d’objets {taxonomy, value}',
                                'items'       => [
                                    'type'       => 'object',
                                    'properties' => [
                                        'taxonomy' => ['type' => 'string'],
                                        'value'    => ['type' => 'string'],
                                    ],
                                    'required' => ['taxonomy', 'value']
                                ],
                            ],
                            'acf_filters' => [
                                'type'        => 'array',
                                'description' => 'Liste d’objets {field, value}',
                                'items'       => [
                                    'type'       => 'object',
                                    'properties' => [
                                        'field' => ['type' => 'string'],
                                        'value' => ['type' => 'string'],
                                    ],
                                    'required' => ['field', 'value']
                                ],
                            ],
                            'relation' => [
                                'type'        => 'string',
                                'enum'        => ['AND', 'OR'],
                                'description' => 'Relation logique entre les filtres (par défaut AND)'
                            ],
                            'limit' => [
                                'type'        => 'integer',
                                'description' => 'Nombre maximum de posts à retourner (optionnel)',
                                'minimum'     => 1
                            ],
                        ],
                    ],
                ],
            ],
        ];
    }

Liste possible de « tools » fournis à un client MCP

Plutôt que de donner un accès libre aux données, WordPress devient un serveur MCP qui expose uniquement des outils précis :

  • rechercher des contenus,
  • lire un document identifié,
  • limiter les types de contenus accessibles.

L’IA n’improvise pas.
Elle agit comme une cliente, avec des règles claires.

  • Elle ne voit que ce qu’on lui autorise à voir.
  • Elle ne fait que ce qu’on lui permet de faire.

Et ça, côté sécurité et maîtrise, c’est franchement rassurant.

Une recherche qui raisonne (vraiment)

Quand une question est posée, l’IA peut :

  • lancer une première recherche,
  • analyser les résultats,
  • décider de lire un document précis,
  • relancer une autre recherche si nécessaire,
  • croiser plusieurs sources avant de répondre.

Autrement dit : elle raisonne, elle ne se contente pas d’aligner des liens.

Résultat :

  • des réponses plus pertinentes,
  • une vraie prise en compte du contexte,
  • et une synthèse directement exploitable.

On n’est plus dans le “voici 10 pages, bon courage”, mais dans le “voilà ce que vous devez savoir”.

Cas concret : la documentation interne d’entreprise

Recherche sur la politique de remboursement dans les documents d'une entreprise par une IA

C’est sans doute l’un des cas d’usage les plus évidents.

Dans une entreprise, on trouve toujours :

  • des procédures d’achat,
  • des règles de remboursement,
  • des consignes de déplacement,
  • des documents RH,
  • des règles d’archivage ou de validation.

Tout est là… quelque part.

Avec un chatbot documentaire :

  • un salarié pose une question simple,
  • l’IA va chercher dans les documents autorisés,
  • elle restitue la règle applicable, avec les bonnes conditions.

Résultat ?
Moins de mails internes, moins de “tu sais où se trouve ce doc ?”, et une info accessible même quand “la personne qui sait” est absente.

Droits d’accès : ici, on ne triche pas

Un point essentiel de cette approche, c’est le cloisonnement des contenus.

Chaque chatbot peut être limité à :

  • un ensemble précis de documents,
  • un type de contenu,
  • un périmètre métier ou un rôle.

Par exemple :

  • les salariés accèdent aux procédures générales,
  • les RH voient leurs contenus spécifiques,
  • certains documents restent totalement invisibles.

Et même avec la meilleure formulation du monde, l’IA ne pourra jamais accéder à ce qui n’est pas exposé par WordPress.

Ce n’est pas une promesse. C’est une contrainte technique.

Cas WooCommerce : guider au lieu de filtrer

Cette logique fonctionne aussi très bien avec WooCommerce, surtout sur des catalogues ciblés.

Comparaison de deux produits de woocommerce avec prix et caractéristiques, par un chatbot assistant.

Plutôt que de demander au visiteur de jongler avec des filtres, le chatbot peut répondre à des questions comme :

  • “Quel produit correspond le mieux à mon besoin ?”
  • “Quelle est la différence entre ces deux références ?”
  • “Quel produit est compatible avec mon installation ?”

L’IA :

  • lit les fiches produits,
  • compare les caractéristiques,
  • explique les différences,
  • aide à la décision.

On transforme un catalogue statique en véritable assistant de vente.

Support technique : répondre avant que le ticket n’existe

Autre usage très concret : le support technique.

Avant même d’ouvrir un ticket, l’utilisateur peut :

  • décrire son problème,
  • obtenir des pistes de résolution,
  • comprendre la procédure à suivre.

Le chatbot joue alors le rôle d’un premier niveau de support, basé sur la documentation existante.

Résultat :

  • moins de demandes répétitives,
  • plus d’autonomie côté utilisateurs,
  • et un support humain concentré sur les vrais cas complexes.

Une approche pragmatique, pas un gadget IA

Ici, pas de promesse magique.

WordPress reste maître des données.
Les règles sont codées.
Les accès sont maîtrisés.
Les actions sont traçables.

Ce type de chatbot ne remplace pas toutes les solutions de recherche avancée, mais il offre une alternative simple, contrôlée et efficace, particulièrement adaptée :

  • aux PME,
  • aux intranets,
  • aux documentations techniques,
  • aux boutiques WooCommerce spécialisées.

En résumé

Un chatbot WordPress bien conçu, piloté par une IA via MCP, ce n’est pas un effet de mode.

C’est une façon plus intelligente d’exploiter des contenus qui existent déjà, de répondre à de vraies questions, et de rendre l’information enfin accessible.

Bref, au lieu de demander à vos utilisateurs de chercher mieux, vous laissez votre site comprendre pour eux.

Vous voulez aller plus loin avec un chatbot WordPress ?

Chez Demeillat WEB, on conçoit des solutions MCP sur mesure, adaptées à vos contenus, vos règles et vos contraintes de sécurité.