Avec l’arrivée des LLM et l’essort du GEO, j’accompagne de plus en plus de client dans le suivi de leurs visibilité dans les IA. Pour cela, j’utilise des outils comme Botrank, Meteoria ou Qwairy pour suivre les réponses de ChatGPT ou Gemini à un ensemble de prompts.
Ces outils sont tops mais parfois un peu chers notamment pour des analyses oneshot. Et c’est pourquoi je vous propose une alternative avec Claude et le MCP DataForSEO.
Retrouvez tous les autres tutos sur Claude ici :
- #1 Tuto Skills Claude : comment bien commencer avec les MCP ?
- #2 Tuto Skills Claude : connecter ses données Google Search Console via MCP
- #3 Tuto Skills Claude : comment faire un audit SEO avec Claude ?
- #4 Tuto Skills Claude : connecter ses données Google Analytics via MCP
- #5 Tuto Skills Claude : analyser la SERP
- #6 Tuto Skills Claude : analyse de crawl SEO
- #7 Tuto Claude utiliser le MCP DataforSEO pour construire un dashboard de visibilité
- Tuto #8 Claude : audit de cannibalisation de pages avec le MCP DataForSEO
- Tuto #9 : Débuter avec Claude Code pour son SEO ?
- Tuto #10 : Analyser les logs de son site pour tracker les bots IA avec Claude
- Tuto #11 : Optimiser sa consommation de tokens avec Claude
- Tuto #12 Claude : connecter Screaming Frog à Claude via MCP
1. Plusieurs options dans DataForSEO pour son suivi LLM
DataForSEO propose quatre API distinctes dans sa suite AI Optimization :
API | Ce qu'elle fait | Pour quel usage |
LLM Responses | Envoie vos prompts aux API officielles (OpenAI, Anthropic, Google, Perplexity) et renvoie la réponse en JSON | Tester comment l'IA répond à des prompts précis. C'est ce qu'on utilise ici. |
LLM Scraper | Scrape l'interface web de ChatGPT/Gemini telle que l'utilisateur la voit (mode search avec citations) | Voir ce que l'utilisateur voit réellement à l'écran, sources incluses |
LLM Mentions | Interroge une base agrégée de +200M réponses IA déjà collectées : dit quand votre domaine est cité/mentionné | Monitoring de part de voix dans le temps. Données J+2 à J+7, pas temps réel. |
AI Keyword Data | Volumes de recherche et intentions basés sur l'usage des mots-clés dans les outils IA | Recherche de mots-clés à l'ère de l'IA |
On va parlé dans ce tuto de LLM Responses !
Réponses des LLM via scraping ou via API officielle ?
Le même prompt peut donner des résultats différents selon la méthode. ChatGPT en mode interface Search active automatiquement une recherche web et formate sa réponse différemment de ce que retourne l'API avec web_search: true. Les sources citées en bas de l'interface web ne correspondent pas toujours aux URLs qu'on extrait de la réponse API. Les deux ne mesurent pas exactement la même chose.
C'est quoi le mieux ?
Via API c’est plus stable et reproductible mais potentiellement un peu différent de ce qu’un utilisateur voit vraiment. Le mieux c’est toujours d’utiliser un combo des deux.
1.2 . Ce qui se fait dans Claude (MCP) vs ce qui passe par Python
Le MCP DataForSEO connecté à Claude n'expose QUE les endpoints dataforseo_labs. Tous les endpoints ai_optimization (LLM Responses, Scraper, Mentions) ne sont pas accessibles via le MCP. Ils nécessitent un appel direct à l'API DataForSEO en Basic Auth.
C’est pourquoi dans ce cas concret je suis passé par un script en python en local.
2. Construire le panel de prompts
La qualité de l'analyse dépend entièrement de la qualité des prompts.
Il faut construire un panel qui couvre le parcours de décision réel de la cible. Pour mon exemple (une solution B2B de recouvrement médical), j'ai structuré 30 prompts en 5 catégories :
- Problème générique : « comment réduire les impayés patients ? » (le prospect ne connaît pas encore les solutions)
- Choix de solution : « quelles plateformes pour gérer la relance amiable ? » (il compare)
- Cible spécifique : « quelle solution de relance pour un kiné libéral ? » (segment précis)
- Réglementaire / pédagogie : « c'est quoi le forfait journalier hospitalier ? » (autorité éditoriale)
- Marque directe : « c'est quoi [ma marque] ? » (uniquement pour vérifier ce que l'IA sait déjà)
Astuce : demandez à Claude de générer ces prompts à partir de vos personas. Il connaît les pain points de votre cible si vous les lui avez décrits.
3. Le script Python : lancer les prompts via LLM Responses
On demande à Claude de construire le script. Le cœur de l'appel, c'est un POST en Basic Auth sur l'endpoint de chaque LLM. Voici la structure d'authentification :
import requests
from base64 import b64encode
LOGIN = 'votre_email'
PASSWORD = 'votre_password_API' # API Access, pas le mdp de connexion
def auth_header():
creds = f'{LOGIN}:{PASSWORD}'
encoded = b64encode(creds.encode()).decode()
return {'Authorization': f'Basic {encoded}',
'Content-Type': 'application/json'}Puis l'appel à l'endpoint ChatGPT (les endpoints Gemini et Perplexity suivent la même logique) :
Attention à ces trois points :
- Le texte n'est PAS dans items[0].text. Il est dans items[0].sections[N].text avec type == 'text'. Beaucoup de tutos se trompent là-dessus.
- Gemini refuse web_search_country_iso_code. Ce paramètre fait échouer 100 % des tâches Gemini (erreur de paramètre invalide). À retirer pour Gemini, à garder pour les autres.
- Rate limit sur Gemini (erreur 50301) : l'endpoint sature côté DataForSEO. Prévoyez un retry avec backoff, ou lancez Gemini séparément.
Pour chaque réponse récupérée, le script vérifie si votre domaine/marque apparaît, et range le résultat en trois statuts :
- cité (l'URL est présente comme source),
- mentionné (le nom apparaît sans lien),
- absent.
4. Quelles données on reçoit et comment les analyser
Une fois le script lancé sur les 30 prompts × plusieurs LLMs, on obtient un CSV/JSON avec, pour chaque ligne : le prompt, le LLM, le statut de la marque, les marques concurrentes détectées, les sources citées, et la réponse complète.
Le plus simple est de donner toutes ces données à Claude pour analyse.
Exemple d’analyse :
4.1 Le score de visibilité par LLM
On pondère : une citation (avec URL) vaut 2 points, une mention (sans lien) vaut 1 point. Le score = (citations×2 + mentions) / (nb_prompts×2) × 100. Ça permet de comparer les LLMs entre eux. Dans mon cas réel : Perplexity sortait à 16,7/100, ChatGPT à 6,7/100
4.2 La visibilité par catégorie de prompt
C'est là que se cachent les opportunités. Si la marque ressort sur les prompts de marque mais est absente à 100 % sur les prompts « problème » et « choix de solution », qui sont ceux que tape un prospect qui ne vous connaît pas encore, vous savez exactement où concentrer l'effort de contenu.
4.3 Le benchmark concurrentiel
En extrayant TOUTES les marques citées (pas seulement la vôtre), on cartographie qui domine le terrain conversationnel. Surprise fréquente : ce ne sont pas vos concurrents directs qui ressortent, mais des acteurs adjacents (logiciels génériques) que l'IA cite par défaut faute de mieux. C'est un signal de positionnement à corriger.
5.4 Les erreurs factuelles de l'IA
À lire absolument : les réponses où l'IA parle de vous mais se trompe. Dans mon cas, ChatGPT confondait la marque avec une solution d'un tout autre secteur. C'est le signal le plus actionnable : la marque est sous-représentée dans le corpus d'entraînement, et il faut des contenus de référence + des mentions presse pour corriger l'identité de l'entité.
Le plus simple : redonnez le CSV à Claude et demandez-lui le dashboard. Il lit les données, calcule les scores et génère une visualisation.
FOUCAULD HENIN
Senior SEO consultant et fondateur de 30A
Je vous accompagne dans conception et la mise en place de vos chantiers SEO.
Après plusieurs expériences chez des retaillers, clients grand comptes et scale up, j’apporte une vision rationnelle et data driven dans les stratégies SEO.
Références : Oscaro, Total Energie, Intermarché, Oreegami
#bigquery #Looker #data analyse