[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fL10Uke1hDWxFgizHftR5mPl0hpaeqp0S0DmPqjx83Lo":3,"$fBV8NLqVDH5Vm8nc9UhpLressNplkTj-Cw9hPZ6WnUq0":25},{"_id":4,"slug":5,"__v":6,"author":7,"body":8,"canonical":9,"category":10,"createdAt":11,"date":12,"description":13,"htmlContent":14,"image":15,"imageAlt":15,"readingTime":16,"tags":17,"title":23,"updatedAt":24},"69f8b521aa6b273b0cdf0c1a","why-ai-visibility-starts-before-search-and-ends-with-citations",0,"Equipe Seogard","Un utilisateur tape une question dans ChatGPT, Perplexity ou Google AI Overview. La réponse cite trois sources. Aucune n'est la vôtre — alors que votre contenu est objectivement le plus complet. La raison : le modèle a consolidé ses signaux d'autorité bien avant cette requête. Le moment de la recherche est trop tard pour influencer quoi que ce soit.\n\nC'est le décalage fondamental que la plupart des stratégies SEO ignorent encore. Le pipeline de visibilité AI ne fonctionne pas comme un moteur de recherche classique. Il n'y a pas de crawl-then-rank en temps réel. Il y a une phase d'ingestion, une phase de compression sémantique, et une phase de génération — et c'est dans les deux premières que votre sort se décide.\n\n## Le pipeline de citation AI : trois phases, une seule fenêtre d'influence\n\nPour comprendre pourquoi la visibilité AI \"commence avant la recherche\", il faut décomposer le pipeline technique de ces systèmes.\n\n### Phase 1 : ingestion et crawl\n\nLes crawlers AI (GPTBot, ClaudeBot, PerplexityBot) parcourent le web de manière massive mais sélective. Les données analysées par Ahrefs sur [68 millions de visites de crawlers AI](/blog/68-million-ai-crawler-visits-show-what-drives-ai-search-visibility-via-sejournal-martinibuster) montrent que ces bots concentrent leur activité sur des pages à forte densité de signaux : données structurées riches, backlinks de qualité, fraîcheur du contenu.\n\nLa fréquence de crawl d'OpenAI a [triplé depuis le lancement de GPT-5](/blog/openai-crawl-activity-tripled-since-gpt-5-data-shows-via-sejournal-mattgsouthern), mais cette augmentation ne bénéficie pas uniformément à tous les sites. Les domaines avec un Knowledge Graph entity consolidé reçoivent proportionnellement plus de visites.\n\n### Phase 2 : compression sémantique\n\nLe contenu crawlé est tokenisé, vectorisé, et intégré dans des embeddings. À ce stade, le modèle ne \"retient\" pas votre page — il encode des relations entre entités. Votre marque devient un nœud dans un graphe de concepts, avec des poids d'association. C'est ce que nous avons détaillé dans [AI sees your brand as math, not messaging](/blog/ai-sees-your-brand-as-math-not-messaging) : pour un LLM, vous n'êtes pas un site web, vous êtes un vecteur dans un espace à haute dimension.\n\n### Phase 3 : génération et citation\n\nAu moment de la requête, le modèle fait du retrieval (RAG pour les systèmes comme Perplexity, ou recall interne pour les modèles pré-entraînés) puis génère une réponse. Les citations sont attribuées aux sources dont les embeddings sont les plus proches du contexte sémantique de la question — ET dont le \"poids d'autorité\" encodé est le plus élevé.\n\nLe point critique : **les phases 1 et 2 se produisent des jours, des semaines, voire des mois avant la requête**. La phase 3 est un simple lookup. Si vous n'êtes pas encodé correctement dans les phases amont, aucune optimisation de contenu au moment T ne vous sauvera.\n\n## Les entity signals qui déterminent la citation\n\nLa différence entre être cité et être ignoré par un système AI repose sur la qualité de vos signaux d'entité. Pas votre contenu brut — vos signaux de légitimité computationnelle.\n\n### Structured data comme déclaration d'identité\n\nLe schema markup n'est plus un \"nice to have\" pour les rich snippets. C'est votre déclaration d'identité formelle auprès des systèmes d'extraction. Un LLM qui ingère une page avec du JSON-LD bien structuré peut mapper directement vos claims à des entités connues.\n\n```html\n\u003Cscript type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"TechArticle\",\n  \"headline\": \"Impact du Server-Side Rendering sur le crawl budget AI\",\n  \"author\": {\n    \"@type\": \"Person\",\n    \"name\": \"Marie Durand\",\n    \"url\": \"https://mariedurand.fr\",\n    \"sameAs\": [\n      \"https://www.linkedin.com/in/mariedurand-seo\",\n      \"https://twitter.com/mariedurand_seo\"\n    ],\n    \"jobTitle\": \"Lead SEO Technique\",\n    \"worksFor\": {\n      \"@type\": \"Organization\",\n      \"name\": \"TechRetail SAS\",\n      \"url\": \"https://techretail.fr\"\n    }\n  },\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"TechRetail SAS\",\n    \"sameAs\": [\n      \"https://www.wikidata.org/wiki/Q123456789\",\n      \"https://www.crunchbase.com/organization/techretail\"\n    ]\n  },\n  \"about\": {\n    \"@type\": \"Thing\",\n    \"name\": \"Server-Side Rendering\",\n    \"sameAs\": \"https://www.wikidata.org/wiki/Q29566186\"\n  },\n  \"citation\": [\n    {\n      \"@type\": \"ScholarlyArticle\",\n      \"name\": \"Web Rendering Service Architecture\",\n      \"url\": \"https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering\"\n    }\n  ],\n  \"datePublished\": \"2026-04-15\",\n  \"dateModified\": \"2026-05-01\"\n}\n\u003C/script>\n```\n\nTrois éléments décisifs dans ce markup :\n\n1. **`sameAs` vers Wikidata** : lie votre organisation à une entité vérifiable dans le Knowledge Graph. Les LLMs entraînés sur des dumps Wikidata pondèrent plus fortement les sources liées à des entités connues.\n2. **`citation` explicite** : déclare formellement vos sources, ce qui renforce la chaîne de confiance épistémique que les modèles tentent de reconstruire.\n3. **`about` avec identifiant Wikidata** : désambiguïse le sujet de votre contenu. \"SSR\" peut signifier des dizaines de choses — le lien Wikidata tranche.\n\n### Cohérence cross-platform des attributions\n\nUn signal d'entité fort est un signal cohérent à travers de multiples sources. Si votre expert \"Marie Durand\" publie sur votre blog, est citée dans un article de Search Engine Journal, a un profil LinkedIn cohérent, et apparaît comme speaker dans des conférences indexées — le modèle consolide ces signaux en un nœud d'autorité robuste.\n\nL'inverse est vrai aussi. Une entité fragmentée (noms différents, pas de `sameAs`, pas de présence externe vérifiable) produit un signal faible. Le modèle ne peut pas lui attribuer de poids d'autorité significatif. C'est précisément pourquoi [la visibilité AI est un problème de réputation](/blog/why-geo-is-a-reputation-problem), pas un problème de contenu.\n\n## L'avantage décisif des données originales\n\nLes systèmes AI citent préférentiellement les sources qui apportent des données primaires — des informations qui n'existent nulle part ailleurs. C'est logique d'un point de vue architecturel : un modèle qui doit choisir entre une source qui synthétise et une source qui produit la donnée originale va favoriser la source primaire, parce qu'elle minimise le risque de déformation dans la chaîne de transmission.\n\n### Produire des données citables\n\nPrenons un cas concret. Vous gérez le SEO de **MedShop.fr**, un e-commerce santé de 18 000 pages produit. Vous avez accès à des données que personne d'autre n'a : volumes de recherche internes, tendances de vente par catégorie, corrélations entre saisons et demandes produit.\n\nTransformer ces données en contenu citable :\n\n```typescript\n// Script d'extraction des tendances de recherche interne\n// pour générer un rapport trimestriel publiable\n\ninterface SearchTrend {\n  query: string;\n  volume: number;\n  growthRate: number; // % vs trimestre précédent\n  category: string;\n}\n\nasync function extractCitableData(\n  startDate: string,\n  endDate: string\n): Promise\u003CSearchTrend[]> {\n  const rawSearches = await db.query(`\n    SELECT \n      search_term,\n      COUNT(*) as volume,\n      category_slug\n    FROM internal_searches\n    WHERE created_at BETWEEN $1 AND $2\n      AND search_term NOT IN (SELECT term FROM brand_terms)\n    GROUP BY search_term, category_slug\n    HAVING COUNT(*) > 50\n    ORDER BY volume DESC\n    LIMIT 200\n  `, [startDate, endDate]);\n\n  const previousPeriod = await getPreviousPeriodData(startDate, endDate);\n  \n  return rawSearches.map(search => ({\n    query: search.search_term,\n    volume: search.volume,\n    growthRate: calculateGrowth(\n      search.volume, \n      previousPeriod.get(search.search_term)?.volume ?? 0\n    ),\n    category: search.category_slug\n  }));\n}\n\n// Publication automatique en tant que dataset structuré\nfunction generateStructuredReport(trends: SearchTrend[]): string {\n  const topGrowing = trends\n    .filter(t => t.growthRate > 20)\n    .sort((a, b) => b.growthRate - a.growthRate)\n    .slice(0, 20);\n\n  return JSON.stringify({\n    \"@context\": \"https://schema.org\",\n    \"@type\": \"Dataset\",\n    \"name\": \"MedShop Tendances Recherche Santé Q1 2026\",\n    \"description\": \"Top 200 recherches internes MedShop.fr, Q1 2026\",\n    \"temporalCoverage\": \"2026-01/2026-03\",\n    \"distribution\": {\n      \"@type\": \"DataDownload\",\n      \"encodingFormat\": \"text/csv\",\n      \"contentUrl\": \"https://medshop.fr/data/search-trends-q1-2026.csv\"\n    },\n    \"creator\": {\n      \"@type\": \"Organization\",\n      \"name\": \"MedShop.fr\",\n      \"sameAs\": \"https://www.wikidata.org/wiki/Q987654321\"\n    }\n  });\n}\n```\n\nCe rapport trimestriel, publié avec un `Dataset` schema markup et un CSV téléchargeable, devient une source primaire citable. Les journalistes santé le reprendront. Les modèles AI l'ingéreront comme donnée de référence.\n\nL'article de Search Engine Land qui a inspiré cette analyse souligne exactement ce point : les systèmes AI ne cherchent pas le \"meilleur contenu\" — ils cherchent la **source la plus fiable pour une affirmation donnée**. Et la source la plus fiable est celle qui a produit la donnée en premier.\n\n### Le problème des ghost citations\n\nUn phénomène croissant que nous avons documenté dans [l'analyse du problème des ghost citations](/blog/the-ghost-citation-problem-via-sejournal-kevin-indig) : les LLMs utilisent vos données sans vous citer. Votre étude est ingérée, compressée, et restituée — mais le lien de citation pointe vers un agrégateur qui a repris votre donnée.\n\nLa contre-mesure technique : rendre vos données si spécifiques et si clairement attribuées que le modèle ne peut pas les dissocier de votre entité. Un chiffre comme \"les recherches internes sur les tenseurs de glycémie ont augmenté de 47% en Q1 2026 selon MedShop.fr\" est plus difficile à \"ghost-citer\" qu'une affirmation générique. L'attribution est encodée dans la donnée elle-même.\n\n## Architecture technique pour maximiser l'ingestion AI\n\nAu-delà du contenu et des entity signals, l'architecture technique de votre site détermine si les crawlers AI peuvent efficacement ingérer vos pages.\n\n### Robots.txt et directives de crawl AI\n\nLa gestion des crawlers AI via `robots.txt` est devenue un sujet à part entière. Google a récemment [élargi sa documentation sur les règles robots.txt](/blog/google-s-robots-txt-docs-expand-deep-links-get-rules-eu-steps-in-seo-pulse-via-sejournal-mattgsouthern), et la question de [l'expansion des règles non supportées](/blog/google-may-expand-unsupported-robots-txt-rules-list-via-sejournal-mattgsouthern) est activement discutée.\n\nUne configuration raisonnée pour un site e-commerce qui veut maximiser sa visibilité AI tout en protégeant certaines ressources :\n\n```nginx\n# robots.txt — Configuration e-commerce pour crawlers AI\n\n# Crawlers AI principaux — accès large\nUser-agent: GPTBot\nAllow: /blog/\nAllow: /guides/\nAllow: /data/\nAllow: /produits/*/avis\nDisallow: /compte/\nDisallow: /panier/\nDisallow: /checkout/\nDisallow: /api/internal/\nCrawl-delay: 2\n\nUser-agent: ClaudeBot\nAllow: /blog/\nAllow: /guides/\nAllow: /data/\nDisallow: /compte/\nDisallow: /panier/\nCrawl-delay: 3\n\nUser-agent: PerplexityBot\nAllow: /\nDisallow: /compte/\nDisallow: /panier/\nDisallow: /checkout/\n\n# Googlebot — configuration standard\nUser-agent: Googlebot\nAllow: /\nDisallow: /compte/\nDisallow: /recherche?*facet=\n\n# Sitemap spécifique contenu éditorial + données\nSitemap: https://medshop.fr/sitemap-editorial.xml\nSitemap: https://medshop.fr/sitemap-datasets.xml\n```\n\nPoints d'attention :\n\n- **PerplexityBot** reçoit un accès plus large parce que Perplexity fonctionne en RAG temps réel — il a besoin d'accéder à vos pages au moment de la requête, contrairement à GPTBot qui pré-ingère.\n- **Les pages d'avis produits** (`/produits/*/avis`) sont explicitement ouvertes à GPTBot. Les avis authentiques sont des données primaires que les modèles valorisent pour les requêtes de recommandation.\n- **Le `Crawl-delay`** est ajusté par bot. ClaudeBot est plus agressif que GPTBot en termes de requêtes concurrentes — surveiller vos logs serveur pour ajuster.\n\n### Monitoring des crawlers AI dans les logs\n\nVérifier si les crawlers AI accèdent réellement à vos pages stratégiques, et à quelle fréquence :\n\n```bash\n# Extraction des visites GPTBot des 30 derniers jours\n# depuis les access logs Nginx\n\nzcat /var/log/nginx/access.log.*.gz | \\\n  grep -i \"gptbot\\|claudebot\\|perplexitybot\\|googleother\" | \\\n  awk '{print $1, $4, $7, $9}' | \\\n  sed 's/\\[//g' | \\\n  sort -t'/' -k2 -M | \\\n  awk -F' ' '{\n    split($2, date, \"/\");\n    bot=\"unknown\";\n    if (tolower($0) ~ /gptbot/) bot=\"GPTBot\";\n    if (tolower($0) ~ /claudebot/) bot=\"ClaudeBot\";\n    if (tolower($0) ~ /perplexitybot/) bot=\"PerplexityBot\";\n    if (tolower($0) ~ /googleother/) bot=\"GoogleOther\";\n    print bot, $2, $3, $4\n  }' > ai_crawler_visits.tsv\n\n# Résumé par bot et par jour\nawk '{print $1, $2}' ai_crawler_visits.tsv | \\\n  sort | uniq -c | sort -rn | head -30\n\n# Pages les plus crawlées par les bots AI\nawk '{print $1, $3}' ai_crawler_visits.tsv | \\\n  sort | uniq -c | sort -rn | head -50\n```\n\nSur MedShop.fr (18 000 pages), ce type d'analyse a révélé un pattern révélateur : GPTBot crawlait 83% du temps les guides `/guides/` et seulement 4% les pages produit — alors que les pages produit représentent 90% du site. Le bot AI concentre son activité sur le contenu à haute densité informationnelle.\n\n## Scénario concret : migration et impact sur la visibilité AI\n\n**Contexte** : FinanceInfo.fr, un média financier de 12 000 articles, migre de Gatsby (SSG) vers Next.js App Router (SSR hybride). L'objectif est d'améliorer la fraîcheur du contenu pour les crawlers AI, qui pénalisent les pages avec des dates de modification anciennes.\n\n**Avant migration** : les pages Gatsby sont statiquement générées. Le build complet prend 47 minutes. Les articles sont mis à jour en batch une fois par semaine. Dans les logs, GPTBot visite en moyenne 340 pages/jour, principalement des articles datés de moins de 30 jours.\n\n**Problème identifié** : Perplexity cite FinanceInfo.fr dans 2.3% des réponses financières en français. Un concurrent (BourseDaily.fr, 4 000 articles) est cité à 5.1%. La différence : BourseDaily publie en SSR avec des données de marché en temps réel, et ses pages retournent systématiquement un `Last-Modified` header à jour.\n\n**Après migration** :\n\n- Les pages d'analyse financière passent en SSR dynamique avec ISR (Incremental Static Regeneration) à 1 heure.\n- Les pages \"evergreen\" (guides, glossaire) restent en SSG.\n- Un header `Last-Modified` dynamique est ajouté, basé sur la dernière mise à jour des données de marché référencées.\n\n**Résultat à 8 semaines** : le crawl GPTBot passe de 340 à 1 200 pages/jour. Le taux de citation Perplexity monte à 4.8%. Le gain n'est pas dû au contenu — aucun article n'a été réécrit. Il est dû à la **fraîcheur perçue** et à l'**accessibilité technique** du contenu pour les systèmes RAG.\n\nLe point technique critique : Perplexity, qui opère en RAG temps réel, ne pouvait pas efficacement crawler les pages Gatsby parce que le CDN retournait des réponses cached avec des headers `Age: 604800` (7 jours). Le passage en ISR avec un `stale-while-revalidate` de 3600 secondes a changé la perception de fraîcheur du contenu par le bot.\n\nC'est exactement le type de régression invisible qu'un outil comme Seogard détecte en continu : un header `Last-Modified` qui cesse d'être envoyé après un déploiement, un `robots.txt` qui bloque accidentellement un crawler AI après une mise à jour d'infrastructure.\n\n## L'influence off-site : le signal que vous ne contrôlez pas (mais pouvez orienter)\n\nL'article de Search Engine Land pointe un élément que la communauté SEO sous-estime : une part significative des signaux de citation AI provient de mentions off-site. Les LLMs ne se contentent pas de crawler votre site — ils ingèrent l'ensemble du web et construisent des associations d'autorité à partir de la fréquence et du contexte dans lesquels votre marque est mentionnée.\n\n### Le graphe de co-occurrence\n\nQuand un modèle rencontre \"MedShop.fr\" mentionné dans un article de Le Monde Santé, dans une étude ANSM, et dans trois threads Reddit spécialisés — il encode une association forte entre l'entité \"MedShop\" et le domaine thématique \"santé / parapharmacie\". Cette co-occurrence renforce le poids de citation pour les requêtes liées.\n\nÀ l'inverse, une marque mentionnée uniquement sur ses propres propriétés (site + réseaux sociaux propriétaires) a un profil d'entité mince. Le modèle ne peut pas triangulariser son autorité.\n\nC'est un point que [l'expérience de la fausse marque en AI search](/blog/can-a-fake-brand-win-in-ai-search-new-experiment-says-yes) a démontré de manière frappante : une entité artificielle, avec suffisamment de mentions cohérentes sur des sources tierces, peut acquérir un poids de citation significatif. La leçon pour les marques légitimes : votre profil de mentions externes est un levier direct de visibilité AI.\n\n### Stratégie d'influence concrète\n\nLe travail de \"digital PR pour AI\" n'est pas fondamentalement différent du link building classique, mais l'objectif change. Vous ne cherchez pas des backlinks pour du PageRank — vous cherchez des **mentions contextuelles cohérentes** sur des sources que les crawlers AI ingèrent fréquemment.\n\nLes sources à haute ingestion AI (basé sur les données de crawl observées) :\n- Wikipedia et Wikidata (les LLMs sont massivement entraînés sur ces dumps)\n- Publications académiques (Google Scholar, PubMed pour le médical)\n- Documentation officielle de projets open-source (GitHub)\n- Articles de presse tech (The Verge, Ars Technica, TechCrunch)\n- Forums spécialisés à forte modération (Stack Overflow, HackerNews)\n\nUne mention dans un article Wikipedia bien sourcé a un impact disproportionné sur la visibilité AI par rapport à un backlink classique. Le modèle pondère cette source comme hautement fiable, et l'association entité-domaine qui en résulte persiste à travers les mises à jour du modèle.\n\n## Mesurer la visibilité AI : au-delà du ranking classique\n\nLes métriques traditionnelles (position, impressions, CTR) ne capturent pas la visibilité AI. Bing commence à fournir des [données de citation share dans Webmaster Tools](/blog/bing-previews-ai-citation-share-for-webmaster-tools-via-sejournal-mattgsouthern), ce qui constitue une première étape vers des métriques natives.\n\nEn attendant une standardisation, les approches de mesure combinent :\n\n- **Monitoring des citations** : interroger périodiquement les APIs des LLMs avec vos requêtes cibles et tracker la présence de citations vers votre domaine. Attention cependant aux [biais introduits par les trackers de visibilité AI](/blog/your-ai-visibility-tracker-is-quietly-breaking-your-analytics-and-your-strategy-via-sejournal-taylordanrw) qui peuvent fausser votre stratégie.\n- **Analyse des logs crawlers AI** : la commande bash présentée plus haut, industrialisée et monitorée en continu.\n- **Suivi des AI Overviews** : le CTR des AI Overviews a [montré des signes précoces de recovery](/blog/google-ai-overviews-ctr-shows-early-signs-of-recovery-study) après une chute initiale, ce qui signifie que les citations dans les AIO redeviennent un canal de trafic significatif.\n\nLes [4 signaux qui définissent la visibilité AI](/blog/4-signals-that-now-define-visibility-in-ai-search) — autorité d'entité, données originales, cohérence cross-platform, et fraîcheur technique — sont les métriques proxy les plus fiables en l'absence de données de citation directes.\n\n## Le contenu seul ne suffit plus\n\nL'ère où un article exhaustif, bien optimisé on-page, suffisait à dominer les résultats est révolue. Comme nous l'avons analysé dans [pourquoi un excellent contenu ne suffit plus en AI search](/blog/why-great-content-is-no-longer-enough-what-beats-it-in-ai-search-via-sejournal-taylordanrw) et [pourquoi produire plus de contenu n'est plus une stratégie fiable](/blog/why-more-content-is-no-longer-a-reliable-way-to-grow-seo), le contenu est une condition nécessaire mais pas suffisante.\n\nCe qui fait la différence maintenant, c'est la couche d'infrastructure sous le contenu : les entity signals, la cohérence cross-platform, la fraîcheur technique, la qualité des données primaires, et — peut-être le plus sous-estimé — la vitesse à laquelle vous détectez et corrigez les régressions qui dégradent ces signaux.\n\n[Google dit aux développeurs de construire pour les agents AI](/blog/google-tells-developers-to-build-for-ai-agents-not-just-humans-via-sejournal-mattgsouthern), pas uniquement pour les humains. Cette directive n'est pas cosmétique. Elle reflète un changement architectural dans la manière dont le contenu est consommé : votre site est devenu [une source, pas un mégaphone](/blog/your-website-is-a-source-not-a-megaphone-via-sejournal-slobodanmanic).\n\nLa visibilité AI se construit des semaines avant la requête, dans les logs de crawl que personne ne regarde, dans les signaux d'entité que personne ne monitore, dans les headers HTTP que personne ne vérifie après un déploiement. C'est précisément là qu'un monitoring continu — du type que Seogard automatise — transforme un angle mort en avantage compétitif.","https://seogard.io/blog/why-ai-visibility-starts-before-search-and-ends-with-citations","Actualités SEO","2026-05-04T15:02:57.007Z","2026-05-04","L'essentiel de la visibilité AI se construit avant la recherche. Signaux d'entité, données originales et citations : guide technique complet.","\u003Cp>Un utilisateur tape une question dans ChatGPT, Perplexity ou Google AI Overview. La réponse cite trois sources. Aucune n'est la vôtre — alors que votre contenu est objectivement le plus complet. La raison : le modèle a consolidé ses signaux d'autorité bien avant cette requête. Le moment de la recherche est trop tard pour influencer quoi que ce soit.\u003C/p>\n\u003Cp>C'est le décalage fondamental que la plupart des stratégies SEO ignorent encore. Le pipeline de visibilité AI ne fonctionne pas comme un moteur de recherche classique. Il n'y a pas de crawl-then-rank en temps réel. Il y a une phase d'ingestion, une phase de compression sémantique, et une phase de génération — et c'est dans les deux premières que votre sort se décide.\u003C/p>\n\u003Ch2>Le pipeline de citation AI : trois phases, une seule fenêtre d'influence\u003C/h2>\n\u003Cp>Pour comprendre pourquoi la visibilité AI \"commence avant la recherche\", il faut décomposer le pipeline technique de ces systèmes.\u003C/p>\n\u003Ch3>Phase 1 : ingestion et crawl\u003C/h3>\n\u003Cp>Les crawlers AI (GPTBot, ClaudeBot, PerplexityBot) parcourent le web de manière massive mais sélective. Les données analysées par Ahrefs sur \u003Ca href=\"/blog/68-million-ai-crawler-visits-show-what-drives-ai-search-visibility-via-sejournal-martinibuster\">68 millions de visites de crawlers AI\u003C/a> montrent que ces bots concentrent leur activité sur des pages à forte densité de signaux : données structurées riches, backlinks de qualité, fraîcheur du contenu.\u003C/p>\n\u003Cp>La fréquence de crawl d'OpenAI a \u003Ca href=\"/blog/openai-crawl-activity-tripled-since-gpt-5-data-shows-via-sejournal-mattgsouthern\">triplé depuis le lancement de GPT-5\u003C/a>, mais cette augmentation ne bénéficie pas uniformément à tous les sites. Les domaines avec un Knowledge Graph entity consolidé reçoivent proportionnellement plus de visites.\u003C/p>\n\u003Ch3>Phase 2 : compression sémantique\u003C/h3>\n\u003Cp>Le contenu crawlé est tokenisé, vectorisé, et intégré dans des embeddings. À ce stade, le modèle ne \"retient\" pas votre page — il encode des relations entre entités. Votre marque devient un nœud dans un graphe de concepts, avec des poids d'association. C'est ce que nous avons détaillé dans \u003Ca href=\"/blog/ai-sees-your-brand-as-math-not-messaging\">AI sees your brand as math, not messaging\u003C/a> : pour un LLM, vous n'êtes pas un site web, vous êtes un vecteur dans un espace à haute dimension.\u003C/p>\n\u003Ch3>Phase 3 : génération et citation\u003C/h3>\n\u003Cp>Au moment de la requête, le modèle fait du retrieval (RAG pour les systèmes comme Perplexity, ou recall interne pour les modèles pré-entraînés) puis génère une réponse. Les citations sont attribuées aux sources dont les embeddings sont les plus proches du contexte sémantique de la question — ET dont le \"poids d'autorité\" encodé est le plus élevé.\u003C/p>\n\u003Cp>Le point critique : \u003Cstrong>les phases 1 et 2 se produisent des jours, des semaines, voire des mois avant la requête\u003C/strong>. La phase 3 est un simple lookup. Si vous n'êtes pas encodé correctement dans les phases amont, aucune optimisation de contenu au moment T ne vous sauvera.\u003C/p>\n\u003Ch2>Les entity signals qui déterminent la citation\u003C/h2>\n\u003Cp>La différence entre être cité et être ignoré par un système AI repose sur la qualité de vos signaux d'entité. Pas votre contenu brut — vos signaux de légitimité computationnelle.\u003C/p>\n\u003Ch3>Structured data comme déclaration d'identité\u003C/h3>\n\u003Cp>Le schema markup n'est plus un \"nice to have\" pour les rich snippets. C'est votre déclaration d'identité formelle auprès des systèmes d'extraction. Un LLM qui ingère une page avec du JSON-LD bien structuré peut mapper directement vos claims à des entités connues.\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">&#x3C;\u003C/span>\u003Cspan style=\"color:#85E89D\">script\u003C/span>\u003Cspan style=\"color:#B392F0\"> type\u003C/span>\u003Cspan style=\"color:#E1E4E8\">=\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"application/ld+json\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">>\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">{\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"@context\": \"https://schema.org\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"@type\": \"TechArticle\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"headline\": \"Impact du Server-Side Rendering sur le crawl budget AI\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"author\": {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"@type\": \"Person\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"name\": \"Marie Durand\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"url\": \"https://mariedurand.fr\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"sameAs\": [\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"https://www.linkedin.com/in/mariedurand-seo\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"https://twitter.com/mariedurand_seo\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    ],\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"jobTitle\": \"Lead SEO Technique\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"worksFor\": {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"@type\": \"Organization\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"name\": \"TechRetail SAS\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"url\": \"https://techretail.fr\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"publisher\": {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"@type\": \"Organization\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"name\": \"TechRetail SAS\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"sameAs\": [\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"https://www.wikidata.org/wiki/Q123456789\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"https://www.crunchbase.com/organization/techretail\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    ]\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"about\": {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"@type\": \"Thing\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"name\": \"Server-Side Rendering\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"sameAs\": \"https://www.wikidata.org/wiki/Q29566186\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"citation\": [\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"@type\": \"ScholarlyArticle\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"name\": \"Web Rendering Service Architecture\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"url\": \"https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  ],\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"datePublished\": \"2026-04-15\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"dateModified\": \"2026-05-01\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">&#x3C;/\u003C/span>\u003Cspan style=\"color:#85E89D\">script\u003C/span>\u003Cspan style=\"color:#E1E4E8\">>\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Trois éléments décisifs dans ce markup :\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>\u003Ccode>sameAs\u003C/code> vers Wikidata\u003C/strong> : lie votre organisation à une entité vérifiable dans le Knowledge Graph. Les LLMs entraînés sur des dumps Wikidata pondèrent plus fortement les sources liées à des entités connues.\u003C/li>\n\u003Cli>\u003Cstrong>\u003Ccode>citation\u003C/code> explicite\u003C/strong> : déclare formellement vos sources, ce qui renforce la chaîne de confiance épistémique que les modèles tentent de reconstruire.\u003C/li>\n\u003Cli>\u003Cstrong>\u003Ccode>about\u003C/code> avec identifiant Wikidata\u003C/strong> : désambiguïse le sujet de votre contenu. \"SSR\" peut signifier des dizaines de choses — le lien Wikidata tranche.\u003C/li>\n\u003C/ol>\n\u003Ch3>Cohérence cross-platform des attributions\u003C/h3>\n\u003Cp>Un signal d'entité fort est un signal cohérent à travers de multiples sources. Si votre expert \"Marie Durand\" publie sur votre blog, est citée dans un article de Search Engine Journal, a un profil LinkedIn cohérent, et apparaît comme speaker dans des conférences indexées — le modèle consolide ces signaux en un nœud d'autorité robuste.\u003C/p>\n\u003Cp>L'inverse est vrai aussi. Une entité fragmentée (noms différents, pas de \u003Ccode>sameAs\u003C/code>, pas de présence externe vérifiable) produit un signal faible. Le modèle ne peut pas lui attribuer de poids d'autorité significatif. C'est précisément pourquoi \u003Ca href=\"/blog/why-geo-is-a-reputation-problem\">la visibilité AI est un problème de réputation\u003C/a>, pas un problème de contenu.\u003C/p>\n\u003Ch2>L'avantage décisif des données originales\u003C/h2>\n\u003Cp>Les systèmes AI citent préférentiellement les sources qui apportent des données primaires — des informations qui n'existent nulle part ailleurs. C'est logique d'un point de vue architecturel : un modèle qui doit choisir entre une source qui synthétise et une source qui produit la donnée originale va favoriser la source primaire, parce qu'elle minimise le risque de déformation dans la chaîne de transmission.\u003C/p>\n\u003Ch3>Produire des données citables\u003C/h3>\n\u003Cp>Prenons un cas concret. Vous gérez le SEO de \u003Cstrong>MedShop.fr\u003C/strong>, un e-commerce santé de 18 000 pages produit. Vous avez accès à des données que personne d'autre n'a : volumes de recherche internes, tendances de vente par catégorie, corrélations entre saisons et demandes produit.\u003C/p>\n\u003Cp>Transformer ces données en contenu citable :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">// Script d'extraction des tendances de recherche interne\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">// pour générer un rapport trimestriel publiable\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">interface\u003C/span>\u003Cspan style=\"color:#B392F0\"> SearchTrend\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FFAB70\">  query\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#79B8FF\"> string\u003C/span>\u003Cspan style=\"color:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FFAB70\">  volume\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#79B8FF\"> number\u003C/span>\u003Cspan style=\"color:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FFAB70\">  growthRate\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#79B8FF\"> number\u003C/span>\u003Cspan style=\"color:#E1E4E8\">; \u003C/span>\u003Cspan style=\"color:#6A737D\">// % vs trimestre précédent\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FFAB70\">  category\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#79B8FF\"> string\u003C/span>\u003Cspan style=\"color:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">async\u003C/span>\u003Cspan style=\"color:#F97583\"> function\u003C/span>\u003Cspan style=\"color:#B392F0\"> extractCitableData\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FFAB70\">  startDate\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#79B8FF\"> string\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FFAB70\">  endDate\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#79B8FF\"> string\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#B392F0\"> Promise\u003C/span>\u003Cspan style=\"color:#E1E4E8\">&#x3C;\u003C/span>\u003Cspan style=\"color:#B392F0\">SearchTrend\u003C/span>\u003Cspan style=\"color:#E1E4E8\">[]> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  const\u003C/span>\u003Cspan style=\"color:#79B8FF\"> rawSearches\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#F97583\"> await\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> db.\u003C/span>\u003Cspan style=\"color:#B392F0\">query\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">`\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    SELECT \u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      search_term,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      COUNT(*) as volume,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      category_slug\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    FROM internal_searches\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    WHERE created_at BETWEEN $1 AND $2\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      AND search_term NOT IN (SELECT term FROM brand_terms)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    GROUP BY search_term, category_slug\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    HAVING COUNT(*) > 50\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    ORDER BY volume DESC\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    LIMIT 200\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  `\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, [startDate, endDate]);\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  const\u003C/span>\u003Cspan style=\"color:#79B8FF\"> previousPeriod\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#F97583\"> await\u003C/span>\u003Cspan style=\"color:#B392F0\"> getPreviousPeriodData\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(startDate, endDate);\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  return\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> rawSearches.\u003C/span>\u003Cspan style=\"color:#B392F0\">map\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#FFAB70\">search\u003C/span>\u003Cspan style=\"color:#F97583\"> =>\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> ({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    query: search.search_term,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    volume: search.volume,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    growthRate: \u003C/span>\u003Cspan style=\"color:#B392F0\">calculateGrowth\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      search.volume, \u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      previousPeriod.\u003C/span>\u003Cspan style=\"color:#B392F0\">get\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(search.search_term)?.volume \u003C/span>\u003Cspan style=\"color:#F97583\">??\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 0\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    ),\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    category: search.category_slug\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  }));\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">// Publication automatique en tant que dataset structuré\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">function\u003C/span>\u003Cspan style=\"color:#B392F0\"> generateStructuredReport\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#FFAB70\">trends\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#B392F0\"> SearchTrend\u003C/span>\u003Cspan style=\"color:#E1E4E8\">[])\u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#79B8FF\"> string\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  const\u003C/span>\u003Cspan style=\"color:#79B8FF\"> topGrowing\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> trends\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    .\u003C/span>\u003Cspan style=\"color:#B392F0\">filter\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#FFAB70\">t\u003C/span>\u003Cspan style=\"color:#F97583\"> =>\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> t.growthRate \u003C/span>\u003Cspan style=\"color:#F97583\">>\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 20\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    .\u003C/span>\u003Cspan style=\"color:#B392F0\">sort\u003C/span>\u003Cspan style=\"color:#E1E4E8\">((\u003C/span>\u003Cspan style=\"color:#FFAB70\">a\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#FFAB70\">b\u003C/span>\u003Cspan style=\"color:#E1E4E8\">) \u003C/span>\u003Cspan style=\"color:#F97583\">=>\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> b.growthRate \u003C/span>\u003Cspan style=\"color:#F97583\">-\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> a.growthRate)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    .\u003C/span>\u003Cspan style=\"color:#B392F0\">slice\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#79B8FF\">0\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#79B8FF\">20\u003C/span>\u003Cspan style=\"color:#E1E4E8\">);\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  return\u003C/span>\u003Cspan style=\"color:#79B8FF\"> JSON\u003C/span>\u003Cspan style=\"color:#E1E4E8\">.\u003C/span>\u003Cspan style=\"color:#B392F0\">stringify\u003C/span>\u003Cspan style=\"color:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"@context\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"https://schema.org\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"@type\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Dataset\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"name\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"MedShop Tendances Recherche Santé Q1 2026\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"description\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Top 200 recherches internes MedShop.fr, Q1 2026\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"temporalCoverage\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"2026-01/2026-03\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"distribution\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      \"@type\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"DataDownload\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      \"encodingFormat\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"text/csv\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      \"contentUrl\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"https://medshop.fr/data/search-trends-q1-2026.csv\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"creator\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      \"@type\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Organization\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      \"name\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"MedShop.fr\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      \"sameAs\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"https://www.wikidata.org/wiki/Q987654321\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    }\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  });\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Ce rapport trimestriel, publié avec un \u003Ccode>Dataset\u003C/code> schema markup et un CSV téléchargeable, devient une source primaire citable. Les journalistes santé le reprendront. Les modèles AI l'ingéreront comme donnée de référence.\u003C/p>\n\u003Cp>L'article de Search Engine Land qui a inspiré cette analyse souligne exactement ce point : les systèmes AI ne cherchent pas le \"meilleur contenu\" — ils cherchent la \u003Cstrong>source la plus fiable pour une affirmation donnée\u003C/strong>. Et la source la plus fiable est celle qui a produit la donnée en premier.\u003C/p>\n\u003Ch3>Le problème des ghost citations\u003C/h3>\n\u003Cp>Un phénomène croissant que nous avons documenté dans \u003Ca href=\"/blog/the-ghost-citation-problem-via-sejournal-kevin-indig\">l'analyse du problème des ghost citations\u003C/a> : les LLMs utilisent vos données sans vous citer. Votre étude est ingérée, compressée, et restituée — mais le lien de citation pointe vers un agrégateur qui a repris votre donnée.\u003C/p>\n\u003Cp>La contre-mesure technique : rendre vos données si spécifiques et si clairement attribuées que le modèle ne peut pas les dissocier de votre entité. Un chiffre comme \"les recherches internes sur les tenseurs de glycémie ont augmenté de 47% en Q1 2026 selon MedShop.fr\" est plus difficile à \"ghost-citer\" qu'une affirmation générique. L'attribution est encodée dans la donnée elle-même.\u003C/p>\n\u003Ch2>Architecture technique pour maximiser l'ingestion AI\u003C/h2>\n\u003Cp>Au-delà du contenu et des entity signals, l'architecture technique de votre site détermine si les crawlers AI peuvent efficacement ingérer vos pages.\u003C/p>\n\u003Ch3>Robots.txt et directives de crawl AI\u003C/h3>\n\u003Cp>La gestion des crawlers AI via \u003Ccode>robots.txt\u003C/code> est devenue un sujet à part entière. Google a récemment \u003Ca href=\"/blog/google-s-robots-txt-docs-expand-deep-links-get-rules-eu-steps-in-seo-pulse-via-sejournal-mattgsouthern\">élargi sa documentation sur les règles robots.txt\u003C/a>, et la question de \u003Ca href=\"/blog/google-may-expand-unsupported-robots-txt-rules-list-via-sejournal-mattgsouthern\">l'expansion des règles non supportées\u003C/a> est activement discutée.\u003C/p>\n\u003Cp>Une configuration raisonnée pour un site e-commerce qui veut maximiser sa visibilité AI tout en protégeant certaines ressources :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># robots.txt — Configuration e-commerce pour crawlers AI\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Crawlers AI principaux — accès large\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">User-agent: \u003C/span>\u003Cspan style=\"color:#F97583\">GPTBot\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /blog/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /guides/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /data/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /produits/*/\u003C/span>\u003Cspan style=\"color:#F97583\">avis\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /compte/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /panier/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /checkout/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /\u003C/span>\u003Cspan style=\"color:#79B8FF\">api/internal\u003C/span>\u003Cspan style=\"color:#E1E4E8\">/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Crawl-delay: 2\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">User-agent: ClaudeBot\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /blog/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /guides/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /data/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /compte/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /panier/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Crawl-delay: 3\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">User-agent: PerplexityBot\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /compte/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /panier/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /checkout/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Googlebot — configuration standard\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">User-agent: Googlebot\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Allow: /\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /compte/\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Disallow: /recherche?*facet=\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Sitemap spécifique contenu éditorial + données\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Sitemap: https://medshop.fr/sitemap-editorial.xml\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">Sitemap: https://medshop.fr/sitemap-datasets.xml\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Points d'attention :\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>PerplexityBot\u003C/strong> reçoit un accès plus large parce que Perplexity fonctionne en RAG temps réel — il a besoin d'accéder à vos pages au moment de la requête, contrairement à GPTBot qui pré-ingère.\u003C/li>\n\u003Cli>\u003Cstrong>Les pages d'avis produits\u003C/strong> (\u003Ccode>/produits/*/avis\u003C/code>) sont explicitement ouvertes à GPTBot. Les avis authentiques sont des données primaires que les modèles valorisent pour les requêtes de recommandation.\u003C/li>\n\u003Cli>\u003Cstrong>Le \u003Ccode>Crawl-delay\u003C/code>\u003C/strong> est ajusté par bot. ClaudeBot est plus agressif que GPTBot en termes de requêtes concurrentes — surveiller vos logs serveur pour ajuster.\u003C/li>\n\u003C/ul>\n\u003Ch3>Monitoring des crawlers AI dans les logs\u003C/h3>\n\u003Cp>Vérifier si les crawlers AI accèdent réellement à vos pages stratégiques, et à quelle fréquence :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Extraction des visites GPTBot des 30 derniers jours\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># depuis les access logs Nginx\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">zcat\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> /var/log/nginx/access.log.\u003C/span>\u003Cspan style=\"color:#79B8FF\">*\u003C/span>\u003Cspan style=\"color:#9ECBFF\">.gz\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">  grep\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -i\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> \"gptbot\\|claudebot\\|perplexitybot\\|googleother\"\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">  awk\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> '{print $1, $4, $7, $9}'\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">  sed\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> 's/\\[//g'\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">  sort\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -t\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'/'\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -k2\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -M\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">  awk\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -F\u003C/span>\u003Cspan style=\"color:#9ECBFF\">' '\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> '{\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    split($2, date, \"/\");\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    bot=\"unknown\";\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    if (tolower($0) ~ /gptbot/) bot=\"GPTBot\";\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    if (tolower($0) ~ /claudebot/) bot=\"ClaudeBot\";\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    if (tolower($0) ~ /perplexitybot/) bot=\"PerplexityBot\";\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    if (tolower($0) ~ /googleother/) bot=\"GoogleOther\";\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    print bot, $2, $3, $4\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  }'\u003C/span>\u003Cspan style=\"color:#F97583\"> >\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> ai_crawler_visits.tsv\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Résumé par bot et par jour\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">awk\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> '{print $1, $2}'\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> ai_crawler_visits.tsv\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">  sort\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> uniq\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -c\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> sort\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -rn\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> head\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -30\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Pages les plus crawlées par les bots AI\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">awk\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> '{print $1, $3}'\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> ai_crawler_visits.tsv\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">  sort\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> uniq\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -c\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> sort\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -rn\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> head\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -50\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Sur MedShop.fr (18 000 pages), ce type d'analyse a révélé un pattern révélateur : GPTBot crawlait 83% du temps les guides \u003Ccode>/guides/\u003C/code> et seulement 4% les pages produit — alors que les pages produit représentent 90% du site. Le bot AI concentre son activité sur le contenu à haute densité informationnelle.\u003C/p>\n\u003Ch2>Scénario concret : migration et impact sur la visibilité AI\u003C/h2>\n\u003Cp>\u003Cstrong>Contexte\u003C/strong> : FinanceInfo.fr, un média financier de 12 000 articles, migre de Gatsby (SSG) vers Next.js App Router (SSR hybride). L'objectif est d'améliorer la fraîcheur du contenu pour les crawlers AI, qui pénalisent les pages avec des dates de modification anciennes.\u003C/p>\n\u003Cp>\u003Cstrong>Avant migration\u003C/strong> : les pages Gatsby sont statiquement générées. Le build complet prend 47 minutes. Les articles sont mis à jour en batch une fois par semaine. Dans les logs, GPTBot visite en moyenne 340 pages/jour, principalement des articles datés de moins de 30 jours.\u003C/p>\n\u003Cp>\u003Cstrong>Problème identifié\u003C/strong> : Perplexity cite FinanceInfo.fr dans 2.3% des réponses financières en français. Un concurrent (BourseDaily.fr, 4 000 articles) est cité à 5.1%. La différence : BourseDaily publie en SSR avec des données de marché en temps réel, et ses pages retournent systématiquement un \u003Ccode>Last-Modified\u003C/code> header à jour.\u003C/p>\n\u003Cp>\u003Cstrong>Après migration\u003C/strong> :\u003C/p>\n\u003Cul>\n\u003Cli>Les pages d'analyse financière passent en SSR dynamique avec ISR (Incremental Static Regeneration) à 1 heure.\u003C/li>\n\u003Cli>Les pages \"evergreen\" (guides, glossaire) restent en SSG.\u003C/li>\n\u003Cli>Un header \u003Ccode>Last-Modified\u003C/code> dynamique est ajouté, basé sur la dernière mise à jour des données de marché référencées.\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>Résultat à 8 semaines\u003C/strong> : le crawl GPTBot passe de 340 à 1 200 pages/jour. Le taux de citation Perplexity monte à 4.8%. Le gain n'est pas dû au contenu — aucun article n'a été réécrit. Il est dû à la \u003Cstrong>fraîcheur perçue\u003C/strong> et à l'\u003Cstrong>accessibilité technique\u003C/strong> du contenu pour les systèmes RAG.\u003C/p>\n\u003Cp>Le point technique critique : Perplexity, qui opère en RAG temps réel, ne pouvait pas efficacement crawler les pages Gatsby parce que le CDN retournait des réponses cached avec des headers \u003Ccode>Age: 604800\u003C/code> (7 jours). Le passage en ISR avec un \u003Ccode>stale-while-revalidate\u003C/code> de 3600 secondes a changé la perception de fraîcheur du contenu par le bot.\u003C/p>\n\u003Cp>C'est exactement le type de régression invisible qu'un outil comme Seogard détecte en continu : un header \u003Ccode>Last-Modified\u003C/code> qui cesse d'être envoyé après un déploiement, un \u003Ccode>robots.txt\u003C/code> qui bloque accidentellement un crawler AI après une mise à jour d'infrastructure.\u003C/p>\n\u003Ch2>L'influence off-site : le signal que vous ne contrôlez pas (mais pouvez orienter)\u003C/h2>\n\u003Cp>L'article de Search Engine Land pointe un élément que la communauté SEO sous-estime : une part significative des signaux de citation AI provient de mentions off-site. Les LLMs ne se contentent pas de crawler votre site — ils ingèrent l'ensemble du web et construisent des associations d'autorité à partir de la fréquence et du contexte dans lesquels votre marque est mentionnée.\u003C/p>\n\u003Ch3>Le graphe de co-occurrence\u003C/h3>\n\u003Cp>Quand un modèle rencontre \"MedShop.fr\" mentionné dans un article de Le Monde Santé, dans une étude ANSM, et dans trois threads Reddit spécialisés — il encode une association forte entre l'entité \"MedShop\" et le domaine thématique \"santé / parapharmacie\". Cette co-occurrence renforce le poids de citation pour les requêtes liées.\u003C/p>\n\u003Cp>À l'inverse, une marque mentionnée uniquement sur ses propres propriétés (site + réseaux sociaux propriétaires) a un profil d'entité mince. Le modèle ne peut pas triangulariser son autorité.\u003C/p>\n\u003Cp>C'est un point que \u003Ca href=\"/blog/can-a-fake-brand-win-in-ai-search-new-experiment-says-yes\">l'expérience de la fausse marque en AI search\u003C/a> a démontré de manière frappante : une entité artificielle, avec suffisamment de mentions cohérentes sur des sources tierces, peut acquérir un poids de citation significatif. La leçon pour les marques légitimes : votre profil de mentions externes est un levier direct de visibilité AI.\u003C/p>\n\u003Ch3>Stratégie d'influence concrète\u003C/h3>\n\u003Cp>Le travail de \"digital PR pour AI\" n'est pas fondamentalement différent du link building classique, mais l'objectif change. Vous ne cherchez pas des backlinks pour du PageRank — vous cherchez des \u003Cstrong>mentions contextuelles cohérentes\u003C/strong> sur des sources que les crawlers AI ingèrent fréquemment.\u003C/p>\n\u003Cp>Les sources à haute ingestion AI (basé sur les données de crawl observées) :\u003C/p>\n\u003Cul>\n\u003Cli>Wikipedia et Wikidata (les LLMs sont massivement entraînés sur ces dumps)\u003C/li>\n\u003Cli>Publications académiques (Google Scholar, PubMed pour le médical)\u003C/li>\n\u003Cli>Documentation officielle de projets open-source (GitHub)\u003C/li>\n\u003Cli>Articles de presse tech (The Verge, Ars Technica, TechCrunch)\u003C/li>\n\u003Cli>Forums spécialisés à forte modération (Stack Overflow, HackerNews)\u003C/li>\n\u003C/ul>\n\u003Cp>Une mention dans un article Wikipedia bien sourcé a un impact disproportionné sur la visibilité AI par rapport à un backlink classique. Le modèle pondère cette source comme hautement fiable, et l'association entité-domaine qui en résulte persiste à travers les mises à jour du modèle.\u003C/p>\n\u003Ch2>Mesurer la visibilité AI : au-delà du ranking classique\u003C/h2>\n\u003Cp>Les métriques traditionnelles (position, impressions, CTR) ne capturent pas la visibilité AI. Bing commence à fournir des \u003Ca href=\"/blog/bing-previews-ai-citation-share-for-webmaster-tools-via-sejournal-mattgsouthern\">données de citation share dans Webmaster Tools\u003C/a>, ce qui constitue une première étape vers des métriques natives.\u003C/p>\n\u003Cp>En attendant une standardisation, les approches de mesure combinent :\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Monitoring des citations\u003C/strong> : interroger périodiquement les APIs des LLMs avec vos requêtes cibles et tracker la présence de citations vers votre domaine. Attention cependant aux \u003Ca href=\"/blog/your-ai-visibility-tracker-is-quietly-breaking-your-analytics-and-your-strategy-via-sejournal-taylordanrw\">biais introduits par les trackers de visibilité AI\u003C/a> qui peuvent fausser votre stratégie.\u003C/li>\n\u003Cli>\u003Cstrong>Analyse des logs crawlers AI\u003C/strong> : la commande bash présentée plus haut, industrialisée et monitorée en continu.\u003C/li>\n\u003Cli>\u003Cstrong>Suivi des AI Overviews\u003C/strong> : le CTR des AI Overviews a \u003Ca href=\"/blog/google-ai-overviews-ctr-shows-early-signs-of-recovery-study\">montré des signes précoces de recovery\u003C/a> après une chute initiale, ce qui signifie que les citations dans les AIO redeviennent un canal de trafic significatif.\u003C/li>\n\u003C/ul>\n\u003Cp>Les \u003Ca href=\"/blog/4-signals-that-now-define-visibility-in-ai-search\">4 signaux qui définissent la visibilité AI\u003C/a> — autorité d'entité, données originales, cohérence cross-platform, et fraîcheur technique — sont les métriques proxy les plus fiables en l'absence de données de citation directes.\u003C/p>\n\u003Ch2>Le contenu seul ne suffit plus\u003C/h2>\n\u003Cp>L'ère où un article exhaustif, bien optimisé on-page, suffisait à dominer les résultats est révolue. Comme nous l'avons analysé dans \u003Ca href=\"/blog/why-great-content-is-no-longer-enough-what-beats-it-in-ai-search-via-sejournal-taylordanrw\">pourquoi un excellent contenu ne suffit plus en AI search\u003C/a> et \u003Ca href=\"/blog/why-more-content-is-no-longer-a-reliable-way-to-grow-seo\">pourquoi produire plus de contenu n'est plus une stratégie fiable\u003C/a>, le contenu est une condition nécessaire mais pas suffisante.\u003C/p>\n\u003Cp>Ce qui fait la différence maintenant, c'est la couche d'infrastructure sous le contenu : les entity signals, la cohérence cross-platform, la fraîcheur technique, la qualité des données primaires, et — peut-être le plus sous-estimé — la vitesse à laquelle vous détectez et corrigez les régressions qui dégradent ces signaux.\u003C/p>\n\u003Cp>\u003Ca href=\"/blog/google-tells-developers-to-build-for-ai-agents-not-just-humans-via-sejournal-mattgsouthern\">Google dit aux développeurs de construire pour les agents AI\u003C/a>, pas uniquement pour les humains. Cette directive n'est pas cosmétique. Elle reflète un changement architectural dans la manière dont le contenu est consommé : votre site est devenu \u003Ca href=\"/blog/your-website-is-a-source-not-a-megaphone-via-sejournal-slobodanmanic\">une source, pas un mégaphone\u003C/a>.\u003C/p>\n\u003Cp>La visibilité AI se construit des semaines avant la requête, dans les logs de crawl que personne ne regarde, dans les signaux d'entité que personne ne monitore, dans les headers HTTP que personne ne vérifie après un déploiement. C'est précisément là qu'un monitoring continu — du type que Seogard automatise — transforme un angle mort en avantage compétitif.\u003C/p>",null,12,[18,19,20,21,22],"ai visibility","citations","entity signals","GEO","knowledge graph","AI Visibility : pourquoi tout se joue avant la requête","Mon May 04 2026 15:02:57 GMT+0000 (Coordinated Universal Time)",[26,41,56],{"_id":27,"slug":28,"__v":6,"author":7,"canonical":29,"category":10,"createdAt":30,"date":31,"description":32,"image":15,"imageAlt":15,"readingTime":16,"tags":33,"title":39,"updatedAt":40},"6a041412aa6b273b0c40f181","how-to-build-local-pages-that-win-in-ai-powered-search-via-sejournal-lorenbaker","https://seogard.io/blog/how-to-build-local-pages-that-win-in-ai-powered-search-via-sejournal-lorenbaker","2026-05-13T06:02:58.743Z","2026-05-13","Guide technique pour construire des pages locales qui performent dans les AI Overviews et AI Mode. Schema, SSR, contenu structuré.",[34,35,36,37,38],"local SEO","AI search","pages locales","schema markup","SSR","Pages locales pour l'AI Search : architecture technique","Wed May 13 2026 06:02:58 GMT+0000 (Coordinated Universal Time)",{"_id":42,"slug":43,"__v":6,"author":7,"canonical":44,"category":10,"createdAt":45,"date":46,"description":47,"image":15,"imageAlt":15,"readingTime":48,"tags":49,"title":54,"updatedAt":55},"6a02c291aa6b273b0c2a74f9","the-tech-seo-audit-for-the-ai-search-era-how-to-maximize-your-ai-visibility-via-sejournal-jetoctopus","https://seogard.io/blog/the-tech-seo-audit-for-the-ai-search-era-how-to-maximize-your-ai-visibility-via-sejournal-jetoctopus","2026-05-12T06:02:57.339Z","2026-05-12","Comment adapter votre audit technique SEO aux exigences des AI Overviews, du crawl par les LLMs et du grounding. Méthodes, code et scénarios concrets.",14,[50,51,18,52,53],"tech seo audit","ai search","crawl budget","structured data","Audit SEO technique pour l'ère AI Search : guide avancé","Tue May 12 2026 06:02:57 GMT+0000 (Coordinated Universal Time)",{"_id":57,"slug":58,"__v":6,"author":7,"canonical":59,"category":10,"createdAt":60,"date":46,"description":61,"image":15,"imageAlt":15,"readingTime":16,"tags":62,"title":66,"updatedAt":67},"6a02fac0aa6b273b0c58d096","the-consensus-gap-via-sejournal-kevin-indig","https://seogard.io/blog/the-consensus-gap-via-sejournal-kevin-indig","2026-05-12T10:02:40.519Z","Une marque peut dominer dans un dashboard AI agrégé et être absente de deux moteurs sur trois. Analyse technique du Consensus Gap et méthodes pour le détecter.",[63,35,64,21,65],"consensus gap","LLM visibility","multi-engine","The Consensus Gap : votre marque visible sur un LLM, invisible sur deux autres","Tue May 12 2026 10:02:40 GMT+0000 (Coordinated Universal Time)"]