Pack SEO / GEO : auditer la visibilité en recherche et dans les réponses IA
SEO / GEO : trois agents auditent la visibilité en recherche et dans les réponses générées par IA (qualité du contenu, données structurées, préparation IA), via 15 commandes. Installation, limites.
Le pack SEO / GEO audite un site sous deux angles. Le SEO, c’est la visibilité dans les résultats des moteurs de recherche. Le GEO (generative engine optimisation), c’est la visibilité dans les réponses générées par les assistants IA et les aperçus IA : leurs robots peuvent-ils lire le site, le contenu et les données structurées sont-ils assez bons pour être cités, et les pages y sont-elles préparées. Le pack apporte trois agents qui partagent une seule commande, /seo : Scout explore et inspecte, Judge évalue le contenu, les données structurées et la préparation à l’IA, et Chief note, planifie et rapporte. Il s’appuie sur une petite boîte à outils Python quand elle est disponible et se replie sur un mode « consignes seules » sinon, auquel cas il refuse d’inventer des chiffres.
SEO est un pack empaqueté : il vit dans .agents/skills/pack-seo/ avec le routeur SKILL.md (la compétence s’appelle seo-engine), les trois fichiers d’agent seo-scout.md, seo-chief.md et seo-judge.md, une checklist.md, un pagespeed-playbook.md, des fichiers de référence dans ref/, des modèles de rapport, requirements.txt et les scripts Python dans scripts/. Le registre ne liste pas de compétences séparées pour ce pack.
Trois agents, dix rôles
Agent
Rôles
Ce qu’il fait
SEO Scout (Technical Scanner)
Crawler, Inspector, Photographer
Explore et cartographie le site, exécute neuf catégories de contrôles techniques, prend des captures mobile et bureau.
SEO Judge (Content & AI Analyst)
Content Expert, Schema Master, GEO Analyst
Note l’E-E-A-T et la qualité du contenu, valide les données structurées, mesure la préparation à la recherche IA.
SEO Chief (Strategist & Reporter)
Scorer, Strategist, Reporter, Benchmarker
Calcule le score de santé SEO, priorise les problèmes, rédige le plan et les correctifs, rapporte, compare, étalonne.
Reconnaissance : récupérer la page d’accueil, explorer jusqu’à une profondeur de 2 et 25 pages au plus, détecter le type d’activité (SaaS, e-commerce, local, éditeur, agence), chercher robots.txt, sitemap.xml et llms.txt. Un point de contrôle demande s’il faut continuer.
Analyse approfondie, en parallèle : Scout vérifie neuf catégories techniques (explorabilité, indexabilité, sécurité, structure des URL, mobile, Core Web Vitals, détection des données structurées, rendu JavaScript, IndexNow) pendant que Judge examine l’E-E-A-T, la qualité du contenu, le schema et les images.
Préparation à l’IA : accès de GPTBot, ClaudeBot et PerplexityBot, llms.txt, citabilité des passages (blocs de 134 à 167 mots) et un score de préparation à l’IA de 0 à 100.
Notation : le score de santé SEO de 0 à 100, uniquement lorsque chaque catégorie pondérée a des entrées vérifiées.
Plan d’action : problèmes classés critique, élevé, moyen ou faible, gains rapides, feuille de route à 30, 60 et 90 jours, correctifs générés (balises meta, JSON-LD, robots.txt, llms.txt). Un point de contrôle demande s’il faut appliquer les correctifs. Une boucle PageSpeed peut suivre.
Suivi, facultatif : enregistrer les résultats sous .bmad-seo/history/ et comparer avec l’audit précédent.
Core est ajouté automatiquement. Le mode « consignes seules » n’exige rien d’autre.
Dans le terminal du projet
npx bmad-plus install --packs seo
02
Facultatif : provisionner la boîte à outils Python
Avec --provision-python, l’installateur construit un environnement isolé dans .bmad/venv/seo/ (il faut Python 3.11 ou plus récent, ou uv, qui peut en récupérer un) et vérifie que requests, bs4, defusedxml et lxml s’importent. C’est sur demande.
Dans le terminal du projet
npx bmad-plus install --packs seo --provision-python
03
Facultatif : définir une clé d’API Google
Nécessaire seulement pour les données PageSpeed et CrUX en direct. La clé est gratuite et lue dans l’environnement ; elle est envoyée dans un en-tête de requête, jamais dans une URL.
Dans le terminal du projet
$env:GOOGLE_API_KEY = "votre-cle"
04
Lancer un premier audit
Remplacez l’adresse par un site que vous avez le droit d’auditer.
Dans le terminal du projet
SEO Scout, lance un audit rapide de https://example.com (la route /seo quick, phases 1 à 4).
À utiliser sur un site qui vous appartient ou que vous êtes mandaté pour auditer. Scout, Judge et Chief interviennent en séquence.
Dans votre assistant IA
SEO Scout, lance l’audit complet en six phases de https://example.com (la route /seo full). Arrête-toi à chaque point de contrôle pour que je décide de continuer ou non.
Ce que vous devriez obtenir La phase 1 se termine par un résumé de découverte et la question « Continue with full audit? ». Viennent ensuite l’analyse approfondie, la préparation à l’IA et la notation, puis le plan d’action, qui s’arrête sur « Apply fixes automatically? ». Si Python n’est pas disponible, l’audit annonce d’emblée le « prompts-only mode », marque les données manquantes comme non vérifiées et omet tout score aux entrées incomplètes, y compris le score de santé SEO global.
À utiliser quand vous soupçonnez des problèmes d’indexation ou d’infrastructure et n’avez pas besoin de l’analyse du contenu.
Dans votre assistant IA
SEO Scout, lance la route technique (/seo technical) sur https://shop.example. Nous avons changé de plateforme vendredi dernier et des pages sortent de Google : vérifie d’abord robots.txt, les directives noindex et les balises canonical.
Ce que vous devriez obtenir Scout agit en Inspector et rend un rapport technique sur neuf catégories, avec les problèmes triés en critique, élevé, moyen et faible. Les Core Web Vitals sont jugés d’après le code source quand aucune donnée d’API en direct n’existe, et INP est utilisé à la place de FID, abandonné.
À utiliser pour les sites à plusieurs langues ou régions, par exemple des variantes /fr/ et /de/.
Dans votre assistant IA
SEO Scout, audite les annotations hreflang de https://example.com (la route /seo hreflang). Le site a des versions /fr/ et /de/ : vérifie que chaque page renvoie vers ses traductions et que x-default est défini.
Ce que vous devriez obtenir Scout vérifie les balises auto-référentes, les balises de retour et x-default selon les règles hreflang du pack et signale les pages qui les enfreignent.
À utiliser avant et après l’ajout de JSON-LD. Judge agit en Schema Master.
Dans votre assistant IA
SEO Judge, valide les données structurées de https://example.com/pricing (la route /seo schema) et dis-moi si un type est obsolète ou manquant.
Ce que vous devriez obtenir Un rapport schema : ce qui a été trouvé, dans quel format, si chaque type est valide et non obsolète, et quelles opportunités manquantes valent d’être ajoutées. Judge recommande JSON-LD, signale les types retirés et peut générer des extraits conformes.
À utiliser pour décider quoi changer afin que les assistants puissent lire et citer vos pages. Judge agit en GEO Analyst.
Dans votre assistant IA
SEO Judge, lance la route GEO (/seo geo) sur https://docs.example. GPTBot, ClaudeBot et PerplexityBot peuvent-ils lire notre documentation, et un llms.txt aiderait-il ?
Ce que vous devriez obtenir Un rapport GEO : quels robots d’IA robots.txt autorise ou bloque, si llms.txt existe et est bien formé, combien de passages entrent dans la plage citable de 134 à 167 mots, et le score de préparation à l’IA, affiché seulement si ses entrées ont été vérifiées.
Améliorer les scores PageSpeed un correctif à la fois#
Exige GOOGLE_API_KEY pour les scores en direct. La cible est 100 dans les quatre catégories Lighthouse.
Dans votre assistant IA
SEO Chief, avec SEO Scout, lance la boucle PageSpeed (/seo pagespeed) sur https://example.com/landing. Ma GOOGLE_API_KEY est définie. Corrige un problème à la fois et reteste après chacun.
Ce que vous devriez obtenir Scout et Chief bouclent : mesurer, corriger un problème, retester, confirmer l’amélioration, passer au suivant, selon le playbook et la checklist PageSpeed du pack. Sans clé, les agents disent que les scores en direct ne sont pas disponibles au lieu de les estimer.
Obtenir un plan adapté à votre type de site, puis les correctifs#
À lancer après un audit. Les types de plan sont saas, ecommerce, local, publisher et agency.
Dans votre assistant IA
SEO Chief, l’audit de notre site est terminé. Rédige le plan stratégique pour un site SaaS (la route /seo plan saas), puis transforme cet audit en correctifs prêts à appliquer (/seo fix).
Ce que vous devriez obtenir Chief rédige un plan stratégique pour un site SaaS (pages de prix, comparaison de fonctionnalités, appels à l’essai, SEO de la documentation). Puis /seo fix transforme le dernier audit en modifications prêtes à appliquer : balises title et description optimisées, JSON-LD construit à partir des modèles du pack, robots.txt amélioré et un llms.txt.
À utiliser quand vous voulez une lecture côte à côte, ou après un second audit pour voir les écarts.
Dans votre assistant IA
SEO Chief, compare https://example.com à https://competitor.example (la route /seo competitor) et dis-moi où le concurrent est devant. Si j’ai enregistré des audits précédents, montre aussi comment notre score a évolué.
Ce que vous devriez obtenir Chief exécute un audit complet des deux sites et compare les scores avec les écarts (score SEO, E-E-A-T, types de schema, score GEO, PageSpeed), puis liste les retards, vos avantages et ce qu’il faut prioriser. L’historique des scores n’existe que si des audits précédents ont été enregistrés sous .bmad-seo/history/ par la phase de suivi facultative (phase 6 d’un audit complet) ; /seo history et /seo compare peuvent alors montrer l’évolution, et sans audit enregistré il n’y a rien à comparer.
Environnements d’exécution : Node.js 20 pour l’installateur ; Python 3.11 ou plus récent seulement si vous voulez la boîte à outils (sinon mode « consignes seules »). Paquets Python : requests, beautifulsoup4, defusedxml, lxml.
Flux hors machine : seo-site-fetch (l’exploration contacte le site audité ; les adresses sont contrôlées contre la falsification de requêtes côté serveur et figées), seo-google-apis (PageSpeed, CrUX et le test d’optimisation mobile, avec votre GOOGLE_API_KEY envoyée dans l’en-tête x-goog-api-key), seo-screenshot (le navigateur n’atteint que l’hôte audité) et python-provision (installation des paquets, sur demande).
Le pack porte l’étiquette de conformité GDPR (RGPD) parce que les données de Google Analytics ou de Search Console peuvent contenir des données personnelles ; traitez ces exports selon vos propres règles.
En mode « consignes seules », ou quand une catégorie n’a pas pu être vérifiée, les agents la marquent non vérifiée. Ils ne la remplacent jamais par zéro et ne repondèrent pas les autres catégories : un audit incomplet montre donc sa couverture (pages et contrôles examinés, sources, éléments non vérifiés) au lieu d’un chiffre global.
Remarque· Les captures exigent un navigateur à installer vous-même
requirements.txt garde Playwright en commentaire, et --provision-python ne vérifie que requests, bs4, defusedxml et lxml. Pour seo_screenshot.py, installez vous-même playwright et Chromium dans le même environnement. Les ressources tierces sont bloquées pendant une capture et listées dans blocked_requests : une image de CDN manquante est un effet de la capture, pas un défaut du site.
Remarque· Demandez en langage naturel : les noms /seo sont des routes, pas des commandes slash
Les noms /seo ... sont le vocabulaire du routeur propre au pack. Le pack ne les enregistre pas comme commandes slash dans votre client IA : saisis seuls, ils peuvent recevoir une réponse « commande inconnue ». Écrivez une demande ordinaire à un agent SEO et nommez la route dans la phrase, comme le font les exemples ci-dessus. Pour un audit, demandez la route full (les six phases) ou la route quick (phases 1 à 4) ; le routeur n’a pas de route audit seule.
Remarque· Provenance
La base SEO Audit 360 a été écrite par Laurent Rochetta chez Oveanet, sa société, puis intégrée à BMAD+.