[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fltKytWieC-5U0YRYz5ZCaMqlsCCQHWocUHakarZ9-kQ":3,"$f9YuZha1A29ZVAJkyzdZoDGdbzKLCG9Pqdabl54htoxM":25,"$fcTFjTaPPT1sVcnh1wWEGoTWMSaOD4bwmwntkMae6w5s":112},{"_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},"6a2e441caa6b273b0c22bc85","what-apple-s-gemini-powered-siri-means-for-search-visibility-via-sejournal-mattgsouthern",0,"Equipe Seogard","Apple vient de transformer un partenariat commercial en produit livré à 1,5 milliard d'appareils. L'intégration de Gemini dans Siri, annoncée à la WWDC 2025 et désormais déployée, redirige une partie significative des requêtes informationnelles vers un pipeline LLM qui ne passe plus par la page de résultats Google. Pour les équipes SEO, ce n'est pas un signal faible — c'est un changement d'architecture dans la distribution du trafic.\n\n## Le pipeline technique : comment Siri consomme le web via Gemini\n\nPour comprendre l'impact sur la visibilité, il faut d'abord comprendre le mécanisme. Siri ne \"cherche\" plus sur Google au sens classique. Le flux est désormais hybride :\n\n1. L'utilisateur pose une question à Siri (voix ou texte).\n2. Siri évalue si la requête relève d'une action locale (timer, appel, rappel) ou d'une requête informationnelle/transactionnelle.\n3. Pour les requêtes informationnelles, Siri délègue à Gemini via l'API Apple Intelligence.\n4. Gemini génère une réponse synthétisée, potentiellement enrichie par un appel au Google Search API (grounding), puis la renvoie à Siri.\n5. Siri affiche une réponse conversationnelle, avec éventuellement un lien source — mais sans SERP.\n\nLe point critique : l'étape 4. Le grounding de Gemini utilise les résultats de recherche Google comme contexte pour la génération, mais la réponse finale est une synthèse. L'utilisateur ne voit jamais la SERP. Il ne voit jamais vos meta descriptions. Il ne voit souvent même pas votre URL.\n\n### Ce que Gemini \"voit\" réellement de votre page\n\nQuand Gemini effectue du grounding, il ne rend pas votre page comme un navigateur. Il consomme une version simplifiée — probablement le contenu extrait par le système de [featured snippets / passages](https://developers.google.com/search/docs/appearance/featured-snippets) de Google, enrichi par le structured data disponible.\n\nConcrètement, voici ce que Gemini reçoit pour générer sa réponse :\n\n```\n// Représentation simplifiée du contexte de grounding\n{\n  \"query\": \"meilleur framework JavaScript SSR 2026\",\n  \"grounding_sources\": [\n    {\n      \"url\": \"https://engineering.votre-site.com/comparatif-ssr-2026\",\n      \"title\": \"Comparatif SSR 2026 : Next.js vs Nuxt vs Astro\",\n      \"extracted_passage\": \"Next.js 15 domine pour les applications full-stack grâce au Server Components...\",\n      \"structured_data\": {\n        \"@type\": \"Article\",\n        \"datePublished\": \"2026-05-20\",\n        \"author\": { \"@type\": \"Person\", \"name\": \"Marie Dupont\" }\n      },\n      \"domain_authority_signal\": 0.72\n    },\n    // ... 4-6 autres sources\n  ]\n}\n```\n\nDeux implications directes :\n\n- **Votre contenu est consommé, pas visité.** Le trafic organique classique diminue mécaniquement sur les requêtes informationnelles traitées par Siri.\n- **Le structured data devient votre carte de visite.** C'est la seule métadonnée exploitable par le LLM pour évaluer la fiabilité et la fraîcheur de votre contenu.\n\nCe mécanisme rappelle directement les enjeux soulevés par les [démos de Google I/O sur la visibilité des entreprises](/blog/google-s-i-o-demos-reveal-the-new-business-visibility-problem-via-sejournal-mattgsouthern) — la synthèse LLM remplace la SERP, et les règles du jeu changent.\n\n## L'impact quantifiable : scénario d'un média tech à 12 000 pages\n\nPrenons un cas concret. TechRecap.fr est un média tech avec 12 000 articles indexés, 450K sessions organiques mensuelles. 62% de leur trafic provient de requêtes informationnelles (\"comment configurer X\", \"différence entre Y et Z\", \"meilleur outil pour W\").\n\n### Avant Siri + Gemini\n\n- 62% × 450K = **279K sessions/mois** sur des requêtes informationnelles\n- Ces requêtes génèrent des clics depuis la SERP Google (position 1-3 capte ~40% du CTR)\n- Le site monétise via display ads : ~15€ RPM → **~4 185€/mois** sur ce segment\n\n### Après déploiement massif (estimation conservatrice)\n\nApple détient environ 27% du marché mobile en France (Statcounter, données Q1 2026). Si 30% des requêtes informationnelles des utilisateurs iOS passent par Siri au lieu de Safari/Google :\n\n- Requêtes informationnelles impactées : 279K × 27% (part iOS) × 30% (adoption Siri) = **~22 600 sessions/mois** potentiellement perdues\n- Impact revenus : **~339€/mois** — pas catastrophique sur ce volume, mais la tendance est exponentielle avec l'adoption.\n\nLe vrai danger n'est pas la perte immédiate. C'est l'absence de visibilité dans la réponse Siri. Si votre contenu est utilisé pour le grounding mais que l'utilisateur ne voit jamais votre marque, vous perdez à la fois le clic ET la notoriété.\n\n### Vérification dans Search Console\n\nGoogle a commencé à tester des rapports dédiés pour le trafic AI. Surveillez ces métriques dans Search Console :\n\n```bash\n# Export des données Search Console via l'API pour détecter la baisse\n# sur les requêtes informationnelles\n\ncurl -X POST \\\n  'https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Ftechrecap.fr/searchAnalytics/query' \\\n  -H 'Authorization: Bearer YOUR_TOKEN' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"startDate\": \"2026-05-01\",\n    \"endDate\": \"2026-06-14\",\n    \"dimensions\": [\"query\", \"device\"],\n    \"dimensionFilterGroups\": [{\n      \"filters\": [{\n        \"dimension\": \"device\",\n        \"expression\": \"MOBILE\"\n      }]\n    }],\n    \"rowLimit\": 5000,\n    \"dataState\": \"final\"\n  }'\n\n# Comparer les impressions mobile vs desktop sur les requêtes \"comment\", \n# \"quel\", \"meilleur\", \"différence\" — une baisse asymétrique mobile \n# signale un transfert vers Siri\n```\n\nLes [rapports AI dédiés en test dans Search Console](/blog/google-tests-dedicated-ai-search-reports-in-search-console-via-sejournal-mattgsouthern) devraient à terme permettre de distinguer le trafic issu du grounding Gemini. En attendant, la corrélation mobile/desktop est votre meilleur proxy.\n\n## Optimiser pour le grounding : le structured data comme levier principal\n\nSi votre contenu va être consommé par un LLM plutôt que lu par un humain sur une SERP, la question devient : comment maximiser votre présence dans la réponse synthétisée ET obtenir l'attribution (le lien source) ?\n\n### Structured data : au-delà du basique\n\nLe schema.org basique (Article, Product, FAQ) ne suffit plus. Les LLMs exploitent des signaux de fiabilité que le markup structuré peut fournir explicitement :\n\n```html\n\u003Cscript type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"TechArticle\",\n  \"headline\": \"Configurer le SSR incrémental avec Next.js 15 et Vercel\",\n  \"datePublished\": \"2026-06-10\",\n  \"dateModified\": \"2026-06-13\",\n  \"author\": {\n    \"@type\": \"Person\",\n    \"name\": \"Marie Dupont\",\n    \"url\": \"https://techrecap.fr/auteurs/marie-dupont\",\n    \"jobTitle\": \"Lead Frontend Engineer\",\n    \"worksFor\": {\n      \"@type\": \"Organization\",\n      \"name\": \"TechRecap\"\n    },\n    \"sameAs\": [\n      \"https://github.com/mariedupont\",\n      \"https://linkedin.com/in/mariedupont\"\n    ]\n  },\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"TechRecap\",\n    \"url\": \"https://techrecap.fr\",\n    \"logo\": {\n      \"@type\": \"ImageObject\",\n      \"url\": \"https://techrecap.fr/logo.png\"\n    }\n  },\n  \"about\": {\n    \"@type\": \"SoftwareApplication\",\n    \"name\": \"Next.js\",\n    \"applicationCategory\": \"DeveloperApplication\",\n    \"softwareVersion\": \"15\"\n  },\n  \"proficiencyLevel\": \"Expert\",\n  \"dependencies\": \"Node.js 20+, Vercel CLI 35+\",\n  \"wordCount\": 2847,\n  \"inLanguage\": \"fr\",\n  \"isAccessibleForFree\": true,\n  \"speakable\": {\n    \"@type\": \"SpeakableSpecification\",\n    \"cssSelector\": [\"article h1\", \"article h2\", \"article > p:first-of-type\"]\n  }\n}\n\u003C/script>\n```\n\nTrois éléments critiques dans ce markup :\n\n**`speakable`** — Cette propriété, [documentée par Google](https://developers.google.com/search/docs/appearance/structured-data/speakable), indique explicitement quelles sections de votre page sont adaptées à la lecture vocale. Siri est un assistant vocal. Le lien est direct. Le `SpeakableSpecification` permet de pointer les LLMs vers les passages les plus pertinents pour une synthèse orale.\n\n**`proficiencyLevel` et `dependencies`** — Ces propriétés de `TechArticle` (schema.org) donnent au LLM un signal de spécialisation. Un article marqué \"Expert\" avec des dépendances techniques spécifiques sera préféré pour des requêtes techniques pointues.\n\n**`author.sameAs`** — Les profils liés (GitHub, LinkedIn) servent de signal d'existence et de crédibilité de l'auteur. Google utilise déjà ces signaux pour l'E-E-A-T ; les LLMs en grounding font probablement de même.\n\nL'initiative [EntityMap pour fournir une vue structurée aux systèmes AI](/blog/entitymap-the-open-standard-that-gives-ai-systems-a-structured-view-of-your-business-via-sejournal-dixon-jones) va exactement dans cette direction — structurer l'identité de votre entité pour les machines, pas pour les humains.\n\n## Le rendering SSR devient non-négociable\n\nSiri + Gemini ne rend pas votre JavaScript. Si votre contenu dépend d'un hydratation côté client pour être lisible, il est invisible au grounding.\n\nCe n'est pas nouveau — Googlebot a le même problème, mais avec un rendering budget plus généreux. Le pipeline Gemini est plus restrictif : il consomme ce que Google a déjà extrait et indexé. Si votre page n'est pas correctement indexée à cause d'un problème SSR, elle n'entre même pas dans le pool de grounding.\n\n### Vérification du rendering pour le grounding\n\n```bash\n# Test 1 : Vérifier ce que Google voit réellement (contenu indexé)\n# Utiliser l'inspection d'URL dans Search Console, puis comparer avec un fetch brut\n\ncurl -s -A \"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)\" \\\n  https://techrecap.fr/articles/configurer-ssr-nextjs-15 \\\n  | pup 'article text{}' | head -50\n\n# Test 2 : Comparer avec la version JS-rendered\n# Dans Chrome DevTools : Ctrl+Shift+P → \"Disable JavaScript\" → recharger\n# Si le contenu principal disparaît, votre page est invisible au grounding\n\n# Test 3 : Vérification automatisée avec Screaming Frog\n# Configuration > Spider > Rendering > JavaScript\n# Puis comparer le crawl JS vs HTML brut\n# Filtrer les pages où le H1 diffère entre les deux modes\n```\n\nLes régressions SSR sont les plus dangereuses car elles sont silencieuses. Un déploiement qui casse le server-side rendering — [comme un passage de Vercel vers Railway qui multiplie le TTFB par 4](/blog/migration-vercel-vers-railway-perte-du-edge-isr-ttfb-multiplie-par-4) — peut faire disparaître votre contenu du pool de grounding sans aucune alerte dans Search Console avant le prochain recrawl.\n\nLes frameworks modernes ajoutent des couches de complexité. Un [composant heading mal configuré qui rend un `div` au lieu d'un `h1`](/blog/design-system-composant-heading-qui-rend-div-selon-la-prop-as-mal-configuree), un [`useHead` Nuxt dont les meta sont silencieusement écrasées par un layout enfant](/blog/nuxt-useseometa-le-child-override-silencieusement-les-meta-du-layout-parent), un [metadata async Next.js qui throw et sert les meta par défaut](/blog/next-js-metadata-async-qui-throw-la-page-sert-le-fallback-default-next-js) — chacun de ces bugs réduit la qualité du signal que Google transmet à Gemini pour le grounding.\n\n## Identifier et protéger le trafic à risque\n\nToutes vos pages ne sont pas également exposées au transfert vers Siri. Le risque est concentré sur un profil de requêtes très spécifique.\n\n### Requêtes à haut risque de cannibabilisation par Siri\n\n- **Définitionnelles** : \"qu'est-ce que le SSR\", \"différence entre SSG et ISR\"\n- **How-to courtes** : \"comment activer le mode sombre CSS\", \"commande pour vider le cache DNS\"\n- **Comparatifs simples** : \"Next.js vs Nuxt 2026\"\n- **Factuelles** : \"dernière version de Node.js\", \"date de sortie iPhone 17\"\n\n### Requêtes à faible risque (pour l'instant)\n\n- **Transactionnelles** : \"acheter chaussures running homme\" — Siri redirige vers Safari/une app\n- **Navigationnelles** : \"site SNCF\" — Siri ouvre l'app ou le site\n- **Requêtes longue traîne complexes** : \"comment migrer un e-commerce Magento 2 vers Shopify avec redirection des 15K URL produits sans perdre le PageRank\" — trop complexe pour une réponse synthétisée fiable\n\nVous pouvez segmenter votre trafic Search Console pour identifier l'exposition :\n\n```python\nimport pandas as pd\n\n# Charger l'export Search Console (Performance > Pages > Export)\ndf = pd.read_csv('search_console_queries.csv')\n\n# Patterns de requêtes informationnelles à risque Siri\nrisk_patterns = [\n    r'^(qu est ce que|what is|comment|how to|différence entre|vs |comparatif)',\n    r'^(meilleur|best|top \\d)',\n    r'^(définition|meaning of)',\n    r'(c est quoi|pourquoi|when did)'\n]\n\nimport re\npattern = '|'.join(risk_patterns)\ndf['siri_risk'] = df['query'].str.lower().str.contains(pattern, regex=True)\n\n# Calculer l'exposition\nrisk_traffic = df[df['siri_risk'] == True]\ntotal_clicks = df['clicks'].sum()\nrisk_clicks = risk_traffic['clicks'].sum()\n\nprint(f\"Trafic total : {total_clicks:,} clics\")\nprint(f\"Trafic à risque Siri : {risk_clicks:,} clics ({risk_clicks/total_clicks*100:.1f}%)\")\nprint(f\"\\nTop 20 requêtes à risque :\")\nprint(risk_traffic.nlargest(20, 'clicks')[['query', 'clicks', 'impressions', 'position']])\n\n# Identifier les pages les plus exposées\nrisk_pages = risk_traffic.groupby('page').agg({\n    'clicks': 'sum',\n    'impressions': 'sum'\n}).sort_values('clicks', ascending=False)\n\nprint(f\"\\nTop 10 pages exposées :\")\nprint(risk_pages.head(10))\n```\n\nCe script vous donne une vue claire de votre surface d'exposition. Sur le cas TechRecap, cette analyse a révélé que 34% des clics provenaient de requêtes à risque — concentrées sur seulement 8% des pages (les guides \"comment faire\" et les pages de glossaire).\n\n## Stratégie d'adaptation : ne pas subir, architecturer\n\nLa réaction instinctive serait de se dire \"il faut bloquer les LLMs\". C'est contre-productif. Si vous bloquez le grounding, vous disparaissez de la réponse Siri ET vous perdez le lien d'attribution qui reste votre seule porte d'entrée.\n\n### 1. Maximiser l'attribution dans les réponses LLM\n\nLe grounding Gemini attribue des sources. Votre objectif est d'être la source citée, pas juste une source consommée silencieusement.\n\nPour cela :\n- **Produisez des données originales.** Les LLMs préfèrent citer la source primaire. Un benchmark que vous avez conduit vous-même, une étude avec des chiffres originaux — c'est ce qui génère des citations.\n- **Structurez vos conclusions en passages autonomes.** Gemini extrait des passages. Si votre conclusion clé est noyée dans un paragraphe de 300 mots, elle sera paraphrasée sans attribution. Si elle est dans un paragraphe court, clairement formulé, après un H2 explicite, elle sera citée verbatim avec lien source.\n\n### 2. Déplacer la valeur vers le transactionnel\n\nLes requêtes informationnelles pures vont être progressivement captées par les LLMs. La stratégie durable est de transformer vos pages informationnelles en passerelles vers des actions que Siri ne peut pas accomplir :\n\n- Un article \"Comment optimiser les Core Web Vitals\" → intégrer un outil d'audit interactif\n- Un comparatif \"Next.js vs Nuxt\" → intégrer un quiz de recommandation personnalisé\n- Un guide technique → intégrer un playground de code exécutable\n\n### 3. Surveiller les changements de comportement utilisateur\n\nLes [données de clic sur les AI Overviews](/blog/ai-overview-click-data-reveals-unexpected-user-behavior-patterns-for-marketers-via-sejournal-gregjarboe) montrent déjà des patterns inattendus. Les utilisateurs qui reçoivent une réponse synthétisée cliquent moins, mais ceux qui cliquent ont un engagement significativement plus élevé (temps sur page, pages par session). Le trafic diminue en volume mais augmente en qualité.\n\nSurveillez aussi le [layout de la SERP Google elle-même](/blog/google-serp-layout-shift-position-1-now-appears-halfway-down-the-page-via-sejournal-lorenbaker) — les positions organiques classiques sont repoussées de plus en plus bas, amplifiant l'effet de la synthèse LLM en haut de page.\n\n### 4. Monitorer les user-agents AI\n\nLes crawlers AI commencent à s'identifier. Vérifiez vos logs serveur :\n\n```bash\n# Identifier les crawlers AI dans vos access logs\ngrep -iE \"(GPTBot|ChatGPT|Google-Extended|Applebot|anthropic-ai|ClaudeBot|PerplexityBot)\" \\\n  /var/log/nginx/access.log \\\n  | awk '{print $1, $14}' \\\n  | sort | uniq -c | sort -rn | head -20\n\n# Applebot est le crawler d'Apple — son activité croissante \n# sur vos pages informationnelles est un signal direct\n# que votre contenu est candidat au grounding Siri\n\n# Configurer un monitoring spécifique dans votre robots.txt\n# ATTENTION : bloquer ≠ bonne stratégie (voir section précédente)\n# Mais vous devez au minimum mesurer l'activité\n\n# Ajout dans la config Nginx pour logger séparément les bots AI\nmap $http_user_agent $is_ai_bot {\n    default 0;\n    \"~*Applebot\" 1;\n    \"~*GPTBot\" 1;\n    \"~*Google-Extended\" 1;\n    \"~*ClaudeBot\" 1;\n    \"~*PerplexityBot\" 1;\n}\n\n# Dans le bloc server\naccess_log /var/log/nginx/ai_bots.log combined if=$is_ai_bot;\n```\n\nLa montée en puissance d'Applebot dans vos logs est le signal avancé le plus fiable que vos pages entrent dans le pipeline Siri/Gemini. Les [données récentes montrent que les bots représentent déjà 57% des requêtes web](/blog/cloudflare-bots-now-make-up-57-of-webpage-requests) — et la part des bots AI dans ce chiffre croît chaque trimestre.\n\n## Le paradoxe Apple-Google et ses conséquences structurelles\n\nL'aspect le plus sous-analysé de cette intégration est le paradoxe business qu'elle crée.\n\nApple paie Google environ 20 milliards de dollars par an pour que Google soit le moteur de recherche par défaut sur iOS et Safari. Ce deal est le cœur du modèle économique de Google Search sur mobile. Mais en intégrant Gemini dans Siri, Apple crée un canal qui contourne la SERP — c'est-à-dire le produit même pour lequel elle paie.\n\nLe résultat est un conflit d'intérêts structurel :\n- **Google veut** que les requêtes passent par la SERP (c'est là que les ads génèrent du revenu).\n- **Apple veut** que les requêtes soient résolues dans Siri (c'est là que l'expérience utilisateur est la meilleure).\n- **Gemini sert les deux** : il fournit les réponses à Siri, mais il a besoin de l'index Google pour le grounding.\n\nPour les éditeurs de sites, ce conflit signifie une chose : le trafic organique sur iOS va se fragmenter entre la SERP classique (Safari) et Siri (réponse directe). Et vous n'avez aucune visibilité sur la répartition — pour l'instant.\n\nC'est précisément le type de changement invisible que les outils de monitoring doivent détecter. Une baisse de 15% du trafic mobile organique sur vos pages informationnelles pourrait être un changement d'algorithme, un problème technique, ou un transfert vers Siri. Sans monitoring continu capable de corréler les signaux (baisse mobile asymétrique + hausse Applebot + stabilité desktop), vous pilotez à l'aveugle. Un outil comme Seogard qui surveille en continu les régressions SEO techniques et les variations de signaux permet de distinguer un vrai problème technique d'un shift structurel de distribution.\n\n## Les actions à lancer cette semaine\n\nL'intégration Siri + Gemini n'est pas un événement futur — elle est déployée. Voici la checklist technique immédiate :\n\n**Audit structured data** : passez toutes vos pages informationnelles au validateur schema.org. Ajoutez `speakable`, `author.sameAs`, `dateModified`. [Le nombre de sites utilisant chaque type de schema](/blog/schema-org-now-shows-you-how-many-sites-are-using-each-schema-type) montre que `TechArticle` et `speakable` restent largement sous-utilisés — c'est un avantage concurrentiel.\n\n**Audit SSR** : vérifiez que 100% de vos pages servent le contenu critique en HTML initial. Un [hero H1 dans un `v-if` invisible au fetch HTTP brut](/blog/lazy-load-du-hero-h1-dans-une-section-v-if-invisible-au-fetch-http-brut) vous exclut du grounding.\n\n**Segmentation trafic** : identifiez vos pages à risque avec le script Python ci-dessus. Priorisez la transformation de ces pages (ajout de valeur interactive, déplacement vers le transactionnel).\n\n**Monitoring Applebot** : configurez le logging séparé dans Nginx. Établissez une baseline de crawl Applebot sur 30 jours.\n\n**Veille Search Console** : suivez les [rapports AI en test](/blog/google-tests-dedicated-ai-search-reports-in-search-console-via-sejournal-mattgsouthern) et activez-les dès qu'ils sont disponibles.\n\nLe shift vers les réponses LLM est structurel, pas conjoncturel. Le [May Core Update de Google qui favorise les pages matchant l'intent](/blog/google-s-may-core-update-favored-pages-that-match-intent-via-sejournal-mattgsouthern) renforce cette logique : Google optimise son index pour que Gemini puisse y puiser des réponses de qualité. Votre visibilité future dépend de votre capacité à être la source que le LLM cite — pas celle qu'il paraphrase.","https://seogard.io/blog/what-apple-s-gemini-powered-siri-means-for-search-visibility-via-sejournal-mattgsouthern","Actualités SEO","2026-06-14T06:03:08.037Z","2026-06-14","Apple intègre Gemini dans Siri. Analyse technique des conséquences pour le crawl, le rendering, le structured data et la visibilité organique de vos pages.","\u003Cp>Apple vient de transformer un partenariat commercial en produit livré à 1,5 milliard d'appareils. L'intégration de Gemini dans Siri, annoncée à la WWDC 2025 et désormais déployée, redirige une partie significative des requêtes informationnelles vers un pipeline LLM qui ne passe plus par la page de résultats Google. Pour les équipes SEO, ce n'est pas un signal faible — c'est un changement d'architecture dans la distribution du trafic.\u003C/p>\n\u003Ch2>Le pipeline technique : comment Siri consomme le web via Gemini\u003C/h2>\n\u003Cp>Pour comprendre l'impact sur la visibilité, il faut d'abord comprendre le mécanisme. Siri ne \"cherche\" plus sur Google au sens classique. Le flux est désormais hybride :\u003C/p>\n\u003Col>\n\u003Cli>L'utilisateur pose une question à Siri (voix ou texte).\u003C/li>\n\u003Cli>Siri évalue si la requête relève d'une action locale (timer, appel, rappel) ou d'une requête informationnelle/transactionnelle.\u003C/li>\n\u003Cli>Pour les requêtes informationnelles, Siri délègue à Gemini via l'API Apple Intelligence.\u003C/li>\n\u003Cli>Gemini génère une réponse synthétisée, potentiellement enrichie par un appel au Google Search API (grounding), puis la renvoie à Siri.\u003C/li>\n\u003Cli>Siri affiche une réponse conversationnelle, avec éventuellement un lien source — mais sans SERP.\u003C/li>\n\u003C/ol>\n\u003Cp>Le point critique : l'étape 4. Le grounding de Gemini utilise les résultats de recherche Google comme contexte pour la génération, mais la réponse finale est une synthèse. L'utilisateur ne voit jamais la SERP. Il ne voit jamais vos meta descriptions. Il ne voit souvent même pas votre URL.\u003C/p>\n\u003Ch3>Ce que Gemini \"voit\" réellement de votre page\u003C/h3>\n\u003Cp>Quand Gemini effectue du grounding, il ne rend pas votre page comme un navigateur. Il consomme une version simplifiée — probablement le contenu extrait par le système de \u003Ca href=\"https://developers.google.com/search/docs/appearance/featured-snippets\">featured snippets / passages\u003C/a> de Google, enrichi par le structured data disponible.\u003C/p>\n\u003Cp>Concrètement, voici ce que Gemini reçoit pour générer sa réponse :\u003C/p>\n\u003Cpre>\u003Ccode>// Représentation simplifiée du contexte de grounding\n{\n  \"query\": \"meilleur framework JavaScript SSR 2026\",\n  \"grounding_sources\": [\n    {\n      \"url\": \"https://engineering.votre-site.com/comparatif-ssr-2026\",\n      \"title\": \"Comparatif SSR 2026 : Next.js vs Nuxt vs Astro\",\n      \"extracted_passage\": \"Next.js 15 domine pour les applications full-stack grâce au Server Components...\",\n      \"structured_data\": {\n        \"@type\": \"Article\",\n        \"datePublished\": \"2026-05-20\",\n        \"author\": { \"@type\": \"Person\", \"name\": \"Marie Dupont\" }\n      },\n      \"domain_authority_signal\": 0.72\n    },\n    // ... 4-6 autres sources\n  ]\n}\n\u003C/code>\u003C/pre>\n\u003Cp>Deux implications directes :\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Votre contenu est consommé, pas visité.\u003C/strong> Le trafic organique classique diminue mécaniquement sur les requêtes informationnelles traitées par Siri.\u003C/li>\n\u003Cli>\u003Cstrong>Le structured data devient votre carte de visite.\u003C/strong> C'est la seule métadonnée exploitable par le LLM pour évaluer la fiabilité et la fraîcheur de votre contenu.\u003C/li>\n\u003C/ul>\n\u003Cp>Ce mécanisme rappelle directement les enjeux soulevés par les \u003Ca href=\"/blog/google-s-i-o-demos-reveal-the-new-business-visibility-problem-via-sejournal-mattgsouthern\">démos de Google I/O sur la visibilité des entreprises\u003C/a> — la synthèse LLM remplace la SERP, et les règles du jeu changent.\u003C/p>\n\u003Ch2>L'impact quantifiable : scénario d'un média tech à 12 000 pages\u003C/h2>\n\u003Cp>Prenons un cas concret. TechRecap.fr est un média tech avec 12 000 articles indexés, 450K sessions organiques mensuelles. 62% de leur trafic provient de requêtes informationnelles (\"comment configurer X\", \"différence entre Y et Z\", \"meilleur outil pour W\").\u003C/p>\n\u003Ch3>Avant Siri + Gemini\u003C/h3>\n\u003Cul>\n\u003Cli>62% × 450K = \u003Cstrong>279K sessions/mois\u003C/strong> sur des requêtes informationnelles\u003C/li>\n\u003Cli>Ces requêtes génèrent des clics depuis la SERP Google (position 1-3 capte ~40% du CTR)\u003C/li>\n\u003Cli>Le site monétise via display ads : ~15€ RPM → \u003Cstrong>~4 185€/mois\u003C/strong> sur ce segment\u003C/li>\n\u003C/ul>\n\u003Ch3>Après déploiement massif (estimation conservatrice)\u003C/h3>\n\u003Cp>Apple détient environ 27% du marché mobile en France (Statcounter, données Q1 2026). Si 30% des requêtes informationnelles des utilisateurs iOS passent par Siri au lieu de Safari/Google :\u003C/p>\n\u003Cul>\n\u003Cli>Requêtes informationnelles impactées : 279K × 27% (part iOS) × 30% (adoption Siri) = \u003Cstrong>~22 600 sessions/mois\u003C/strong> potentiellement perdues\u003C/li>\n\u003Cli>Impact revenus : \u003Cstrong>~339€/mois\u003C/strong> — pas catastrophique sur ce volume, mais la tendance est exponentielle avec l'adoption.\u003C/li>\n\u003C/ul>\n\u003Cp>Le vrai danger n'est pas la perte immédiate. C'est l'absence de visibilité dans la réponse Siri. Si votre contenu est utilisé pour le grounding mais que l'utilisateur ne voit jamais votre marque, vous perdez à la fois le clic ET la notoriété.\u003C/p>\n\u003Ch3>Vérification dans Search Console\u003C/h3>\n\u003Cp>Google a commencé à tester des rapports dédiés pour le trafic AI. Surveillez ces métriques dans Search Console :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Export des données Search Console via l'API pour détecter la baisse\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># sur les requêtes informationnelles\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">curl\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -X\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> POST\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  'https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Ftechrecap.fr/searchAnalytics/query'\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">  -H\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> 'Authorization: Bearer YOUR_TOKEN'\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">  -H\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> 'Content-Type: application/json'\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">  -d\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> '{\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"startDate\": \"2026-05-01\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"endDate\": \"2026-06-14\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"dimensions\": [\"query\", \"device\"],\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"dimensionFilterGroups\": [{\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      \"filters\": [{\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        \"dimension\": \"device\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        \"expression\": \"MOBILE\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">      }]\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    }],\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"rowLimit\": 5000,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"dataState\": \"final\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  }'\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Comparer les impressions mobile vs desktop sur les requêtes \"comment\", \u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># \"quel\", \"meilleur\", \"différence\" — une baisse asymétrique mobile \u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># signale un transfert vers Siri\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Les \u003Ca href=\"/blog/google-tests-dedicated-ai-search-reports-in-search-console-via-sejournal-mattgsouthern\">rapports AI dédiés en test dans Search Console\u003C/a> devraient à terme permettre de distinguer le trafic issu du grounding Gemini. En attendant, la corrélation mobile/desktop est votre meilleur proxy.\u003C/p>\n\u003Ch2>Optimiser pour le grounding : le structured data comme levier principal\u003C/h2>\n\u003Cp>Si votre contenu va être consommé par un LLM plutôt que lu par un humain sur une SERP, la question devient : comment maximiser votre présence dans la réponse synthétisée ET obtenir l'attribution (le lien source) ?\u003C/p>\n\u003Ch3>Structured data : au-delà du basique\u003C/h3>\n\u003Cp>Le schema.org basique (Article, Product, FAQ) ne suffit plus. Les LLMs exploitent des signaux de fiabilité que le markup structuré peut fournir explicitement :\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\": \"Configurer le SSR incrémental avec Next.js 15 et Vercel\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"datePublished\": \"2026-06-10\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"dateModified\": \"2026-06-13\",\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 Dupont\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"url\": \"https://techrecap.fr/auteurs/marie-dupont\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"jobTitle\": \"Lead Frontend Engineer\",\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\": \"TechRecap\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    },\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://github.com/mariedupont\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"https://linkedin.com/in/mariedupont\"\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\": \"TechRecap\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"url\": \"https://techrecap.fr\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"logo\": {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"@type\": \"ImageObject\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"url\": \"https://techrecap.fr/logo.png\"\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\": \"SoftwareApplication\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"name\": \"Next.js\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"applicationCategory\": \"DeveloperApplication\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"softwareVersion\": \"15\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"proficiencyLevel\": \"Expert\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"dependencies\": \"Node.js 20+, Vercel CLI 35+\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"wordCount\": 2847,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"inLanguage\": \"fr\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"isAccessibleForFree\": true,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"speakable\": {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"@type\": \"SpeakableSpecification\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    \"cssSelector\": [\"article h1\", \"article h2\", \"article > p:first-of-type\"]\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\">&#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 critiques dans ce markup :\u003C/p>\n\u003Cp>\u003Cstrong>\u003Ccode>speakable\u003C/code>\u003C/strong> — Cette propriété, \u003Ca href=\"https://developers.google.com/search/docs/appearance/structured-data/speakable\">documentée par Google\u003C/a>, indique explicitement quelles sections de votre page sont adaptées à la lecture vocale. Siri est un assistant vocal. Le lien est direct. Le \u003Ccode>SpeakableSpecification\u003C/code> permet de pointer les LLMs vers les passages les plus pertinents pour une synthèse orale.\u003C/p>\n\u003Cp>\u003Cstrong>\u003Ccode>proficiencyLevel\u003C/code> et \u003Ccode>dependencies\u003C/code>\u003C/strong> — Ces propriétés de \u003Ccode>TechArticle\u003C/code> (schema.org) donnent au LLM un signal de spécialisation. Un article marqué \"Expert\" avec des dépendances techniques spécifiques sera préféré pour des requêtes techniques pointues.\u003C/p>\n\u003Cp>\u003Cstrong>\u003Ccode>author.sameAs\u003C/code>\u003C/strong> — Les profils liés (GitHub, LinkedIn) servent de signal d'existence et de crédibilité de l'auteur. Google utilise déjà ces signaux pour l'E-E-A-T ; les LLMs en grounding font probablement de même.\u003C/p>\n\u003Cp>L'initiative \u003Ca href=\"/blog/entitymap-the-open-standard-that-gives-ai-systems-a-structured-view-of-your-business-via-sejournal-dixon-jones\">EntityMap pour fournir une vue structurée aux systèmes AI\u003C/a> va exactement dans cette direction — structurer l'identité de votre entité pour les machines, pas pour les humains.\u003C/p>\n\u003Ch2>Le rendering SSR devient non-négociable\u003C/h2>\n\u003Cp>Siri + Gemini ne rend pas votre JavaScript. Si votre contenu dépend d'un hydratation côté client pour être lisible, il est invisible au grounding.\u003C/p>\n\u003Cp>Ce n'est pas nouveau — Googlebot a le même problème, mais avec un rendering budget plus généreux. Le pipeline Gemini est plus restrictif : il consomme ce que Google a déjà extrait et indexé. Si votre page n'est pas correctement indexée à cause d'un problème SSR, elle n'entre même pas dans le pool de grounding.\u003C/p>\n\u003Ch3>Vérification du rendering pour le grounding\u003C/h3>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Test 1 : Vérifier ce que Google voit réellement (contenu indexé)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Utiliser l'inspection d'URL dans Search Console, puis comparer avec un fetch brut\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">curl\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -s\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -A\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> \"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)\"\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  https://techrecap.fr/articles/configurer-ssr-nextjs-15\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  |\u003C/span>\u003Cspan style=\"color:#B392F0\"> pup\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> 'article text{}'\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> head\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -50\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Test 2 : Comparer avec la version JS-rendered\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Dans Chrome DevTools : Ctrl+Shift+P → \"Disable JavaScript\" → recharger\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Si le contenu principal disparaît, votre page est invisible au grounding\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Test 3 : Vérification automatisée avec Screaming Frog\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Configuration > Spider > Rendering > JavaScript\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Puis comparer le crawl JS vs HTML brut\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Filtrer les pages où le H1 diffère entre les deux modes\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Les régressions SSR sont les plus dangereuses car elles sont silencieuses. Un déploiement qui casse le server-side rendering — \u003Ca href=\"/blog/migration-vercel-vers-railway-perte-du-edge-isr-ttfb-multiplie-par-4\">comme un passage de Vercel vers Railway qui multiplie le TTFB par 4\u003C/a> — peut faire disparaître votre contenu du pool de grounding sans aucune alerte dans Search Console avant le prochain recrawl.\u003C/p>\n\u003Cp>Les frameworks modernes ajoutent des couches de complexité. Un \u003Ca href=\"/blog/design-system-composant-heading-qui-rend-div-selon-la-prop-as-mal-configuree\">composant heading mal configuré qui rend un \u003Ccode>div\u003C/code> au lieu d'un \u003Ccode>h1\u003C/code>\u003C/a>, un \u003Ca href=\"/blog/nuxt-useseometa-le-child-override-silencieusement-les-meta-du-layout-parent\">\u003Ccode>useHead\u003C/code> Nuxt dont les meta sont silencieusement écrasées par un layout enfant\u003C/a>, un \u003Ca href=\"/blog/next-js-metadata-async-qui-throw-la-page-sert-le-fallback-default-next-js\">metadata async Next.js qui throw et sert les meta par défaut\u003C/a> — chacun de ces bugs réduit la qualité du signal que Google transmet à Gemini pour le grounding.\u003C/p>\n\u003Ch2>Identifier et protéger le trafic à risque\u003C/h2>\n\u003Cp>Toutes vos pages ne sont pas également exposées au transfert vers Siri. Le risque est concentré sur un profil de requêtes très spécifique.\u003C/p>\n\u003Ch3>Requêtes à haut risque de cannibabilisation par Siri\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Définitionnelles\u003C/strong> : \"qu'est-ce que le SSR\", \"différence entre SSG et ISR\"\u003C/li>\n\u003Cli>\u003Cstrong>How-to courtes\u003C/strong> : \"comment activer le mode sombre CSS\", \"commande pour vider le cache DNS\"\u003C/li>\n\u003Cli>\u003Cstrong>Comparatifs simples\u003C/strong> : \"Next.js vs Nuxt 2026\"\u003C/li>\n\u003Cli>\u003Cstrong>Factuelles\u003C/strong> : \"dernière version de Node.js\", \"date de sortie iPhone 17\"\u003C/li>\n\u003C/ul>\n\u003Ch3>Requêtes à faible risque (pour l'instant)\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Transactionnelles\u003C/strong> : \"acheter chaussures running homme\" — Siri redirige vers Safari/une app\u003C/li>\n\u003Cli>\u003Cstrong>Navigationnelles\u003C/strong> : \"site SNCF\" — Siri ouvre l'app ou le site\u003C/li>\n\u003Cli>\u003Cstrong>Requêtes longue traîne complexes\u003C/strong> : \"comment migrer un e-commerce Magento 2 vers Shopify avec redirection des 15K URL produits sans perdre le PageRank\" — trop complexe pour une réponse synthétisée fiable\u003C/li>\n\u003C/ul>\n\u003Cp>Vous pouvez segmenter votre trafic Search Console pour identifier l'exposition :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">import\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> pandas \u003C/span>\u003Cspan style=\"color:#F97583\">as\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> pd\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Charger l'export Search Console (Performance > Pages > Export)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">df \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> pd.read_csv(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'search_console_queries.csv'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Patterns de requêtes informationnelles à risque Siri\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">risk_patterns \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> [\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    r\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#79B8FF\">^(\u003C/span>\u003Cspan style=\"color:#DBEDFF\">qu est ce que\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">what is\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">comment\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">how to\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">différence entre\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">vs \u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">comparatif\u003C/span>\u003Cspan style=\"color:#79B8FF\">)\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    r\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#79B8FF\">^(\u003C/span>\u003Cspan style=\"color:#DBEDFF\">meilleur\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">best\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">top \u003C/span>\u003Cspan style=\"color:#79B8FF\">\\d)\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    r\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#79B8FF\">^(\u003C/span>\u003Cspan style=\"color:#DBEDFF\">définition\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">meaning of\u003C/span>\u003Cspan style=\"color:#79B8FF\">)\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    r\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#79B8FF\">(\u003C/span>\u003Cspan style=\"color:#DBEDFF\">c est quoi\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">pourquoi\u003C/span>\u003Cspan style=\"color:#F97583\">|\u003C/span>\u003Cspan style=\"color:#DBEDFF\">when did\u003C/span>\u003Cspan style=\"color:#79B8FF\">)\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\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\">import\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> re\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">pattern \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> '|'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">.join(risk_patterns)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">df[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'siri_risk'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">] \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> df[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'query'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">].str.lower().str.contains(pattern, \u003C/span>\u003Cspan style=\"color:#FFAB70\">regex\u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#79B8FF\">True\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Calculer l'exposition\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">risk_traffic \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> df[df[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'siri_risk'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">] \u003C/span>\u003Cspan style=\"color:#F97583\">==\u003C/span>\u003Cspan style=\"color:#79B8FF\"> True\u003C/span>\u003Cspan style=\"color:#E1E4E8\">]\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">total_clicks \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> df[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'clicks'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">].sum()\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">risk_clicks \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> risk_traffic[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'clicks'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">].sum()\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#F97583\">f\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Trafic total : \u003C/span>\u003Cspan style=\"color:#79B8FF\">{\u003C/span>\u003Cspan style=\"color:#E1E4E8\">total_clicks\u003C/span>\u003Cspan style=\"color:#F97583\">:,\u003C/span>\u003Cspan style=\"color:#79B8FF\">}\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> clics\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#F97583\">f\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Trafic à risque Siri : \u003C/span>\u003Cspan style=\"color:#79B8FF\">{\u003C/span>\u003Cspan style=\"color:#E1E4E8\">risk_clicks\u003C/span>\u003Cspan style=\"color:#F97583\">:,\u003C/span>\u003Cspan style=\"color:#79B8FF\">}\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> clics (\u003C/span>\u003Cspan style=\"color:#79B8FF\">{\u003C/span>\u003Cspan style=\"color:#E1E4E8\">risk_clicks\u003C/span>\u003Cspan style=\"color:#F97583\">/\u003C/span>\u003Cspan style=\"color:#E1E4E8\">total_clicks\u003C/span>\u003Cspan style=\"color:#F97583\">*\u003C/span>\u003Cspan style=\"color:#79B8FF\">100\u003C/span>\u003Cspan style=\"color:#F97583\">:.1f\u003C/span>\u003Cspan style=\"color:#79B8FF\">}\u003C/span>\u003Cspan style=\"color:#9ECBFF\">%)\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#F97583\">f\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"\u003C/span>\u003Cspan style=\"color:#79B8FF\">\\n\u003C/span>\u003Cspan style=\"color:#9ECBFF\">Top 20 requêtes à risque :\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(risk_traffic.nlargest(\u003C/span>\u003Cspan style=\"color:#79B8FF\">20\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'clicks'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)[[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'query'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'clicks'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'impressions'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'position'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">]])\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Identifier les pages les plus exposées\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">risk_pages \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> risk_traffic.groupby(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'page'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">).agg({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    'clicks'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'sum'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    'impressions'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'sum'\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">}).sort_values(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'clicks'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#FFAB70\">ascending\u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#79B8FF\">False\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#F97583\">f\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"\u003C/span>\u003Cspan style=\"color:#79B8FF\">\\n\u003C/span>\u003Cspan style=\"color:#9ECBFF\">Top 10 pages exposées :\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(risk_pages.head(\u003C/span>\u003Cspan style=\"color:#79B8FF\">10\u003C/span>\u003Cspan style=\"color:#E1E4E8\">))\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Ce script vous donne une vue claire de votre surface d'exposition. Sur le cas TechRecap, cette analyse a révélé que 34% des clics provenaient de requêtes à risque — concentrées sur seulement 8% des pages (les guides \"comment faire\" et les pages de glossaire).\u003C/p>\n\u003Ch2>Stratégie d'adaptation : ne pas subir, architecturer\u003C/h2>\n\u003Cp>La réaction instinctive serait de se dire \"il faut bloquer les LLMs\". C'est contre-productif. Si vous bloquez le grounding, vous disparaissez de la réponse Siri ET vous perdez le lien d'attribution qui reste votre seule porte d'entrée.\u003C/p>\n\u003Ch3>1. Maximiser l'attribution dans les réponses LLM\u003C/h3>\n\u003Cp>Le grounding Gemini attribue des sources. Votre objectif est d'être la source citée, pas juste une source consommée silencieusement.\u003C/p>\n\u003Cp>Pour cela :\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Produisez des données originales.\u003C/strong> Les LLMs préfèrent citer la source primaire. Un benchmark que vous avez conduit vous-même, une étude avec des chiffres originaux — c'est ce qui génère des citations.\u003C/li>\n\u003Cli>\u003Cstrong>Structurez vos conclusions en passages autonomes.\u003C/strong> Gemini extrait des passages. Si votre conclusion clé est noyée dans un paragraphe de 300 mots, elle sera paraphrasée sans attribution. Si elle est dans un paragraphe court, clairement formulé, après un H2 explicite, elle sera citée verbatim avec lien source.\u003C/li>\n\u003C/ul>\n\u003Ch3>2. Déplacer la valeur vers le transactionnel\u003C/h3>\n\u003Cp>Les requêtes informationnelles pures vont être progressivement captées par les LLMs. La stratégie durable est de transformer vos pages informationnelles en passerelles vers des actions que Siri ne peut pas accomplir :\u003C/p>\n\u003Cul>\n\u003Cli>Un article \"Comment optimiser les Core Web Vitals\" → intégrer un outil d'audit interactif\u003C/li>\n\u003Cli>Un comparatif \"Next.js vs Nuxt\" → intégrer un quiz de recommandation personnalisé\u003C/li>\n\u003Cli>Un guide technique → intégrer un playground de code exécutable\u003C/li>\n\u003C/ul>\n\u003Ch3>3. Surveiller les changements de comportement utilisateur\u003C/h3>\n\u003Cp>Les \u003Ca href=\"/blog/ai-overview-click-data-reveals-unexpected-user-behavior-patterns-for-marketers-via-sejournal-gregjarboe\">données de clic sur les AI Overviews\u003C/a> montrent déjà des patterns inattendus. Les utilisateurs qui reçoivent une réponse synthétisée cliquent moins, mais ceux qui cliquent ont un engagement significativement plus élevé (temps sur page, pages par session). Le trafic diminue en volume mais augmente en qualité.\u003C/p>\n\u003Cp>Surveillez aussi le \u003Ca href=\"/blog/google-serp-layout-shift-position-1-now-appears-halfway-down-the-page-via-sejournal-lorenbaker\">layout de la SERP Google elle-même\u003C/a> — les positions organiques classiques sont repoussées de plus en plus bas, amplifiant l'effet de la synthèse LLM en haut de page.\u003C/p>\n\u003Ch3>4. Monitorer les user-agents AI\u003C/h3>\n\u003Cp>Les crawlers AI commencent à s'identifier. Vérifiez vos logs serveur :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Identifier les crawlers AI dans vos access logs\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">grep\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -iE\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> \"(GPTBot|ChatGPT|Google-Extended|Applebot|anthropic-ai|ClaudeBot|PerplexityBot)\"\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">  /var/log/nginx/access.log\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  |\u003C/span>\u003Cspan style=\"color:#B392F0\"> awk\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> '{print $1, $14}'\u003C/span>\u003Cspan style=\"color:#79B8FF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  |\u003C/span>\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\"> -20\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Applebot est le crawler d'Apple — son activité croissante \u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># sur vos pages informationnelles est un signal direct\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># que votre contenu est candidat au grounding Siri\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Configurer un monitoring spécifique dans votre robots.txt\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># ATTENTION : bloquer ≠ bonne stratégie (voir section précédente)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Mais vous devez au minimum mesurer l'activité\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Ajout dans la config Nginx pour logger séparément les bots AI\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">map\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> $http_user_agent $is_ai_bot \u003C/span>\u003Cspan style=\"color:#9ECBFF\">{\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    default\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 0\u003C/span>\u003Cspan style=\"color:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    \"~*Applebot\"\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 1\u003C/span>\u003Cspan style=\"color:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    \"~*GPTBot\"\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 1\u003C/span>\u003Cspan style=\"color:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    \"~*Google-Extended\"\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 1\u003C/span>\u003Cspan style=\"color:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    \"~*ClaudeBot\"\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 1\u003C/span>\u003Cspan style=\"color:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">    \"~*PerplexityBot\"\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 1\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:#6A737D\"># Dans le bloc server\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">access_log\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> /var/log/nginx/ai_bots.log\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> combined\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> if=\u003C/span>\u003Cspan style=\"color:#E1E4E8\">$is_ai_bot;\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>La montée en puissance d'Applebot dans vos logs est le signal avancé le plus fiable que vos pages entrent dans le pipeline Siri/Gemini. Les \u003Ca href=\"/blog/cloudflare-bots-now-make-up-57-of-webpage-requests\">données récentes montrent que les bots représentent déjà 57% des requêtes web\u003C/a> — et la part des bots AI dans ce chiffre croît chaque trimestre.\u003C/p>\n\u003Ch2>Le paradoxe Apple-Google et ses conséquences structurelles\u003C/h2>\n\u003Cp>L'aspect le plus sous-analysé de cette intégration est le paradoxe business qu'elle crée.\u003C/p>\n\u003Cp>Apple paie Google environ 20 milliards de dollars par an pour que Google soit le moteur de recherche par défaut sur iOS et Safari. Ce deal est le cœur du modèle économique de Google Search sur mobile. Mais en intégrant Gemini dans Siri, Apple crée un canal qui contourne la SERP — c'est-à-dire le produit même pour lequel elle paie.\u003C/p>\n\u003Cp>Le résultat est un conflit d'intérêts structurel :\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Google veut\u003C/strong> que les requêtes passent par la SERP (c'est là que les ads génèrent du revenu).\u003C/li>\n\u003Cli>\u003Cstrong>Apple veut\u003C/strong> que les requêtes soient résolues dans Siri (c'est là que l'expérience utilisateur est la meilleure).\u003C/li>\n\u003Cli>\u003Cstrong>Gemini sert les deux\u003C/strong> : il fournit les réponses à Siri, mais il a besoin de l'index Google pour le grounding.\u003C/li>\n\u003C/ul>\n\u003Cp>Pour les éditeurs de sites, ce conflit signifie une chose : le trafic organique sur iOS va se fragmenter entre la SERP classique (Safari) et Siri (réponse directe). Et vous n'avez aucune visibilité sur la répartition — pour l'instant.\u003C/p>\n\u003Cp>C'est précisément le type de changement invisible que les outils de monitoring doivent détecter. Une baisse de 15% du trafic mobile organique sur vos pages informationnelles pourrait être un changement d'algorithme, un problème technique, ou un transfert vers Siri. Sans monitoring continu capable de corréler les signaux (baisse mobile asymétrique + hausse Applebot + stabilité desktop), vous pilotez à l'aveugle. Un outil comme Seogard qui surveille en continu les régressions SEO techniques et les variations de signaux permet de distinguer un vrai problème technique d'un shift structurel de distribution.\u003C/p>\n\u003Ch2>Les actions à lancer cette semaine\u003C/h2>\n\u003Cp>L'intégration Siri + Gemini n'est pas un événement futur — elle est déployée. Voici la checklist technique immédiate :\u003C/p>\n\u003Cp>\u003Cstrong>Audit structured data\u003C/strong> : passez toutes vos pages informationnelles au validateur schema.org. Ajoutez \u003Ccode>speakable\u003C/code>, \u003Ccode>author.sameAs\u003C/code>, \u003Ccode>dateModified\u003C/code>. \u003Ca href=\"/blog/schema-org-now-shows-you-how-many-sites-are-using-each-schema-type\">Le nombre de sites utilisant chaque type de schema\u003C/a> montre que \u003Ccode>TechArticle\u003C/code> et \u003Ccode>speakable\u003C/code> restent largement sous-utilisés — c'est un avantage concurrentiel.\u003C/p>\n\u003Cp>\u003Cstrong>Audit SSR\u003C/strong> : vérifiez que 100% de vos pages servent le contenu critique en HTML initial. Un \u003Ca href=\"/blog/lazy-load-du-hero-h1-dans-une-section-v-if-invisible-au-fetch-http-brut\">hero H1 dans un \u003Ccode>v-if\u003C/code> invisible au fetch HTTP brut\u003C/a> vous exclut du grounding.\u003C/p>\n\u003Cp>\u003Cstrong>Segmentation trafic\u003C/strong> : identifiez vos pages à risque avec le script Python ci-dessus. Priorisez la transformation de ces pages (ajout de valeur interactive, déplacement vers le transactionnel).\u003C/p>\n\u003Cp>\u003Cstrong>Monitoring Applebot\u003C/strong> : configurez le logging séparé dans Nginx. Établissez une baseline de crawl Applebot sur 30 jours.\u003C/p>\n\u003Cp>\u003Cstrong>Veille Search Console\u003C/strong> : suivez les \u003Ca href=\"/blog/google-tests-dedicated-ai-search-reports-in-search-console-via-sejournal-mattgsouthern\">rapports AI en test\u003C/a> et activez-les dès qu'ils sont disponibles.\u003C/p>\n\u003Cp>Le shift vers les réponses LLM est structurel, pas conjoncturel. Le \u003Ca href=\"/blog/google-s-may-core-update-favored-pages-that-match-intent-via-sejournal-mattgsouthern\">May Core Update de Google qui favorise les pages matchant l'intent\u003C/a> renforce cette logique : Google optimise son index pour que Gemini puisse y puiser des réponses de qualité. Votre visibilité future dépend de votre capacité à être la source que le LLM cite — pas celle qu'il paraphrase.\u003C/p>",null,12,[18,19,20,21,22],"siri","gemini","apple-intelligence","llm-seo","search-visibility","Siri + Gemini : impact concret sur la visibilité SEO","Sun Jun 14 2026 06:03:08 GMT+0000 (Coordinated Universal Time)",[26,41,54,69,84,98],{"_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},"6a30222eaa6b273b0ca1e7dc","what-ai-overview-click-data-reveals-about-consumer-search-behavior-5-strategic-insights-for-cmos-via-sejournal-gregjarboe","https://seogard.io/blog/what-ai-overview-click-data-reveals-about-consumer-search-behavior-5-strategic-insights-for-cmos-via-sejournal-gregjarboe","2026-06-15T16:02:54.519Z","2026-06-15","Les utilisateurs quotidiens d'AI Overview cliquent 3.5x plus sur les sources. Analyse technique des données et stratégies d'optimisation concrètes.",[34,35,36,37,38],"AI Overview","click data","search behavior","SGE","structured data","AI Overview Click Data : ce que les clics révèlent vraiment","Mon Jun 15 2026 16:02:54 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":16,"tags":48,"title":52,"updatedAt":53},"6a2c2decaa6b273b0c6a5308","ai-overview-click-data-reveals-unexpected-user-behavior-patterns-for-marketers-via-sejournal-gregjarboe","https://seogard.io/blog/ai-overview-click-data-reveals-unexpected-user-behavior-patterns-for-marketers-via-sejournal-gregjarboe","2026-06-12T16:03:56.058Z","2026-06-12","Les utilisateurs quotidiens d'AI Overviews cliquent 3,5x plus sur les sources. Analyse technique des opportunités d'optimisation pour les sites à fort volume.",[49,35,50,51,38],"ai overview","seo technique","google search","AI Overviews : les données de clics révèlent un comportement inattendu","Fri Jun 12 2026 16:03:56 GMT+0000 (Coordinated Universal Time)",{"_id":55,"slug":56,"__v":6,"author":7,"canonical":57,"category":10,"createdAt":58,"date":59,"description":60,"image":15,"imageAlt":15,"readingTime":16,"tags":61,"title":67,"updatedAt":68},"6a2a4fa0aa6b273b0cdf1eab","schema-org-now-shows-you-how-many-sites-are-using-each-schema-type","https://seogard.io/blog/schema-org-now-shows-you-how-many-sites-are-using-each-schema-type","2026-06-11T06:03:12.448Z","2026-06-11","Schema.org expose désormais le nombre de sites utilisant chaque type. Analyse technique, requêtes SPARQL et stratégies pour exploiter ces données d'adoption.",[62,63,64,65,66],"schema","structured-data","schema.org","json-ld","seo-technique","Schema.org affiche l'adoption réelle de chaque type : exploitez ces données","Thu Jun 11 2026 06:03:12 GMT+0000 (Coordinated Universal Time)",{"_id":70,"slug":71,"__v":6,"author":7,"canonical":72,"category":10,"createdAt":73,"date":74,"description":75,"image":15,"imageAlt":15,"readingTime":76,"tags":77,"title":82,"updatedAt":83},"6a283936aa6b273b0c255fdd","how-ai-forms-opinions-about-your-brand","https://seogard.io/blog/how-ai-forms-opinions-about-your-brand","2026-06-09T16:03:02.486Z","2026-06-09","Construisez une empreinte numérique que les LLMs comprennent : structured data, entités, corpus de citations. Guide technique pour Lead SEO.",14,[78,79,38,80,81],"AI visibility","brand authority","LLM optimization","entity SEO","Comment l'IA se forge une opinion sur votre marque","Tue Jun 09 2026 16:03:02 GMT+0000 (Coordinated Universal Time)",{"_id":85,"slug":86,"__v":6,"author":7,"canonical":87,"category":10,"createdAt":88,"date":89,"description":90,"image":15,"imageAlt":15,"readingTime":16,"tags":91,"title":96,"updatedAt":97},"6a265b17aa6b273b0c9a6fff","your-next-ai-visitor-will-know-who-sent-it-via-sejournal-slobodanmanic","https://seogard.io/blog/your-next-ai-visitor-will-know-who-sent-it-via-sejournal-slobodanmanic","2026-06-08T06:03:03.429Z","2026-06-08","Les agents AI arrivent avec le contexte utilisateur. Comment adapter votre contenu pour rester utile face au blended retrieval.",[92,93,94,95,38],"AI agents","blended retrieval","SEO technique","crawl AI","AI Visitors contextuels : préparer vos pages au blended retrieval","Mon Jun 08 2026 06:03:03 GMT+0000 (Coordinated Universal Time)",{"_id":99,"slug":100,"__v":6,"author":7,"canonical":101,"category":10,"createdAt":102,"date":103,"description":104,"image":15,"imageAlt":15,"readingTime":16,"tags":105,"title":110,"updatedAt":111},"6a2444b8aa6b273b0ce0dbc7","cloudflare-bots-now-make-up-57-of-webpage-requests","https://seogard.io/blog/cloudflare-bots-now-make-up-57-of-webpage-requests","2026-06-06T16:03:04.236Z","2026-06-06","Cloudflare révèle que 57% des requêtes web sont des bots. Analyse technique des impacts SEO et stratégies concrètes pour protéger votre crawl budget.",[106,107,108,50,109],"cloudflare","bots","crawl budget","trafic automatisé","57% de bots : impact SEO et stratégies de défense technique","Sat Jun 06 2026 16:03:04 GMT+0000 (Coordinated Universal Time)",{"categories":113},[114,117,121,125,129,132,136,139,141,145,149,152,154,158,161,164,167,170,174],{"category":10,"slug":115,"count":116},"actualites-seo",168,{"category":118,"slug":119,"count":120},"Migration","migration",18,{"category":122,"slug":123,"count":124},"Rendering","rendering",9,{"category":126,"slug":127,"count":128},"Framework","framework",8,{"category":130,"slug":131,"count":128},"Performance","performance",{"category":133,"slug":134,"count":135},"Crawl","crawl",7,{"category":137,"slug":138,"count":135},"Meta Tags","meta-tags",{"category":140,"slug":66,"count":135},"SEO Technique",{"category":142,"slug":143,"count":144},"Architecture","architecture",6,{"category":146,"slug":147,"count":148},"Monitoring","monitoring",5,{"category":150,"slug":151,"count":148},"JavaScript SEO","javascript-seo",{"category":153,"slug":63,"count":148},"Structured Data",{"category":155,"slug":156,"count":157},"Outils","outils",4,{"category":159,"slug":160,"count":157},"Avancé","avance",{"category":162,"slug":163,"count":157},"Redirections","redirections",{"category":165,"slug":166,"count":157},"Refonte","refonte",{"category":168,"slug":169,"count":157},"E-commerce","e-commerce",{"category":171,"slug":172,"count":173},"Contenu","contenu",3,{"category":175,"slug":176,"count":173},"IA & SEO","ia-seo"]