[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ffDXhvFZZoawKtWqT4h-iK1f0WgHkeksWJc4tuHX8-5Y":3,"$fTUofDyUSk6y_l3yZ0LrsVyVG100dPoRq49Q_rSCwk6E":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},"6a017100aa6b273b0c13e7b7","google-drops-faq-rich-results-from-search-via-sejournal-mattgsouthern",0,"Equipe Seogard","Google a officiellement supprimé les FAQ rich results de ses pages de résultats. Ce n'est pas une surprise — la restriction avait commencé en août 2023 en limitant l'affichage aux seuls sites gouvernementaux et de santé. Mais cette fois, c'est terminé pour tout le monde, et le balisage `FAQPage` devient du code mort dans vos templates.\n\n## La chronologie complète d'une dépréciation annoncée\n\nLe retrait des FAQ rich results ne s'est pas fait du jour au lendemain. Comprendre la séquence aide à anticiper comment Google gère la fin de vie d'un type de résultat enrichi — un pattern qui se répétera.\n\n### Août 2023 : la restriction initiale\n\nGoogle a annoncé que les FAQ rich results ne seraient plus affichés que pour les sites \"well-known government and health websites\". Pour tous les autres — e-commerce, SaaS, médias, blogs — l'affichage a été coupé sans préavis réel. Du jour au lendemain, des millions de pages ont perdu leur expansion FAQ dans les SERPs.\n\nLe rapport d'améliorations dans Search Console a continué à afficher les données FAQ pendant des mois après cette restriction, créant une confusion : les webmasters voyaient des \"impressions\" pour un type de résultat qui n'était plus affiché. Un problème caractéristique des délais de synchronisation de la Search Console, [un sujet récurrent](/blog/google-fixes-search-console-s-year-long-data-logging-issue-well-kind-of).\n\n### 2024-2025 : le schéma zombie\n\nPendant près de deux ans, la documentation de Google a continué à référencer `FAQPage` comme un type de données structurées supporté. La plupart des CMS et des plugins SEO (Yoast, Rank Math, schema plugins divers) ont conservé la fonctionnalité de génération automatique de FAQ schema. Résultat : des milliards de pages web embarquent encore un balisage qui ne produit plus aucun résultat visible.\n\n### Mai 2026 : la suppression définitive\n\nGoogle retire complètement le support. Le rapport \"FAQ\" disparaît de Search Console. La documentation officielle est mise à jour. Le type `FAQPage` n'est plus listé dans la [galerie des résultats enrichis de Google](https://developers.google.com/search/docs/appearance/structured-data/search-gallery).\n\nCette annonce faisait l'objet d'anticipations depuis longtemps — nous avions couvert [la première phase de cette dépréciation](/blog/google-to-no-longer-support-faq-rich-results) dès l'annonce initiale.\n\n## L'impact réel : chiffrer ce que vous avez (déjà) perdu\n\nBeaucoup d'équipes SEO n'ont pas mesuré précisément l'impact de la restriction de 2023. Voici un scénario concret pour illustrer l'ampleur.\n\n### Cas : un e-commerce santé/beauté de 8 000 pages produits\n\nPrenons un site e-commerce dans la niche santé/beauté avec 8 000 fiches produits, chacune embarquant une section FAQ avec 3-5 questions balisées en `FAQPage`. Avant août 2023, ces FAQ généraient un affichage étendu dans les SERPs — chaque résultat occupant 2 à 3 fois plus d'espace vertical qu'un snippet standard.\n\n**Avant la restriction (données réelles typiques) :**\n- CTR moyen positions 3-5 avec FAQ rich result : 8-12%\n- CTR moyen positions 3-5 sans rich result : 4-6%\n- Pages avec FAQ indexées et affichées : ~5 200 sur 8 000\n- Trafic organique mensuel attribuable au boost CTR des FAQ : ~15 000 sessions\n\n**Après la restriction :**\n- Le trafic sur ces pages a chuté de 20 à 35% en 4-6 semaines\n- Aucune perte de positions — les rankings n'ont pas bougé\n- La perte venait exclusivement de la réduction du CTR par perte d'espace SERP\n\nLe piège : sans monitoring automatisé des rich results, cette chute est quasi invisible dans les outils classiques. Les positions sont stables, les impressions aussi. Seul le CTR par type de résultat dans Search Console permettait de tracer le problème — et encore, avec des données agrégées qui masquent la granularité.\n\nUn outil de monitoring comme Seogard, qui détecte les changements de balisage structuré et les régressions d'affichage SERP page par page, aurait signalé immédiatement la perte de rendu FAQ sur chaque URL concernée.\n\n## Audit et nettoyage : supprimer le balisage FAQPage\n\nGarder du `FAQPage` schema sur vos pages n'est pas \"neutre\". C'est du bruit dans votre balisage structuré, ça alourdit le DOM, et ça pollue vos rapports de validation. Nettoyez.\n\n### Identifier toutes les pages concernées\n\nPremière étape : un crawl complet pour repérer chaque page embarquant du `FAQPage`. Avec Screaming Frog, vous pouvez extraire le structured data via l'onglet dédié ou via une extraction custom :\n\n```bash\n# Screaming Frog CLI - extraction structured data\n# Configuration > Spider > Extraction > Custom Search\n# Mode : \"Contains\" sur le body HTML\n# Rechercher : \"FAQPage\" dans le JSON-LD\n\n# Alternative avec grep sur un sitemap crawlé :\ncat urls.txt | xargs -P 10 -I {} curl -s {} | grep -l \"FAQPage\" > pages_with_faq.txt\n```\n\nPour un audit plus robuste sur un gros volume, utilisez un script qui parse le JSON-LD :\n\n```javascript\n// Node.js - Extraction et audit du FAQPage schema\n// Fonctionne avec un fichier d'URLs en entrée\n\nconst axios = require('axios');\nconst cheerio = require('cheerio');\nconst fs = require('fs');\n\nconst urls = fs.readFileSync('urls.txt', 'utf-8').split('\\n').filter(Boolean);\n\nasync function auditFAQSchema(url) {\n  try {\n    const { data: html } = await axios.get(url, {\n      timeout: 10000,\n      headers: { 'User-Agent': 'Mozilla/5.0 (compatible; SEOAuditBot/1.0)' }\n    });\n    \n    const $ = cheerio.load(html);\n    const schemas = [];\n    \n    $('script[type=\"application/ld+json\"]').each((i, el) => {\n      try {\n        const json = JSON.parse($(el).html());\n        const items = Array.isArray(json) ? json : [json];\n        \n        items.forEach(item => {\n          // Gestion du @graph (commun avec Yoast/RankMath)\n          if (item['@graph']) {\n            item['@graph'].forEach(node => {\n              if (node['@type'] === 'FAQPage') {\n                schemas.push({\n                  url,\n                  type: 'FAQPage',\n                  questionCount: node.mainEntity?.length || 0,\n                  location: 'graph'\n                });\n              }\n            });\n          }\n          \n          if (item['@type'] === 'FAQPage') {\n            schemas.push({\n              url,\n              type: 'FAQPage',\n              questionCount: item.mainEntity?.length || 0,\n              location: 'standalone'\n            });\n          }\n        });\n      } catch (parseErr) {\n        // JSON-LD invalide — autre problème à traiter\n      }\n    });\n    \n    return schemas;\n  } catch (err) {\n    return [{ url, error: err.message }];\n  }\n}\n\n(async () => {\n  const results = [];\n  for (const url of urls) {\n    const schemas = await auditFAQSchema(url);\n    if (schemas.length > 0) results.push(...schemas);\n  }\n  \n  console.log(`Pages avec FAQPage schema : ${results.length}`);\n  fs.writeFileSync('faq_audit.json', JSON.stringify(results, null, 2));\n})();\n```\n\nCe script gère les deux patterns courants : le JSON-LD standalone et le format `@graph` utilisé par Yoast SEO et Rank Math. Sur un site de 8 000 pages, l'exécution prend 15-20 minutes avec une parallélisation raisonnable.\n\n### Supprimer proprement selon votre stack\n\nLa méthode de suppression dépend de l'origine du balisage.\n\n**Si le balisage vient d'un plugin WordPress (Yoast, Rank Math) :**\nLa plupart ont déjà ajouté une option pour désactiver les FAQ schema. Dans Rank Math, c'est sous `Rank Math > Titles & Meta > Global Meta > FAQ Block` — désactivez le toggle. Pour Yoast, le bloc FAQ Gutenberg ne génère plus de schema depuis la version 22+.\n\n**Si le balisage est injecté via un template custom :**\n\n```html\n\u003C!-- AVANT : template produit avec FAQ schema -->\n\u003Cscript type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Ce sérum est-il adapté aux peaux sensibles ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Oui, la formulation est testée dermatologiquement...\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Quelle est la durée de conservation après ouverture ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"6 mois après ouverture (symbole PAO sur l'emballage).\"\n      }\n    }\n  ]\n}\n\u003C/script>\n\n\u003C!-- APRÈS : suppression complète du bloc FAQPage -->\n\u003C!-- Le contenu FAQ reste en HTML visible — seul le schema est retiré -->\n```\n\nPoint important : **ne supprimez pas le contenu FAQ visible sur la page**. Les questions/réponses restent utiles pour l'utilisateur et pour la compréhension sémantique de la page par Google. Vous ne retirez que l'enveloppe JSON-LD qui ne produit plus aucun effet.\n\n## Que faire du contenu FAQ existant : stratégies de migration\n\nSupprimer le balisage ne signifie pas abandonner le contenu. Plusieurs options de migration existent, chacune avec ses trade-offs.\n\n### Option 1 : conversion vers HowTo schema (si applicable)\n\nPour les pages où les FAQ étaient en réalité des instructions déguisées (\"Comment appliquer ce produit ?\", \"Comment choisir la bonne taille ?\"), le balisage `HowTo` reste supporté et génère des rich results. Le format est différent :\n\n```html\n\u003Cscript type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"HowTo\",\n  \"name\": \"Comment appliquer le sérum vitamine C\",\n  \"step\": [\n    {\n      \"@type\": \"HowToStep\",\n      \"name\": \"Nettoyer la peau\",\n      \"text\": \"Appliquez votre nettoyant habituel sur peau humide, rincez à l'eau tiède.\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"name\": \"Appliquer le sérum\",\n      \"text\": \"Déposez 3-4 gouttes dans la paume, pressez délicatement sur le visage et le cou.\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"name\": \"Hydrater\",\n      \"text\": \"Terminez avec votre crème hydratante pour sceller les actifs.\"\n    }\n  ]\n}\n\u003C/script>\n```\n\n**Trade-off** : le `HowTo` ne s'applique qu'aux contenus procéduraux. Forcer des FAQ dans un format étape par étape juste pour obtenir un rich result est une violation des guidelines — et Google sait détecter ces abus. Ne le faites que si le contenu est réellement procédural.\n\n### Option 2 : basculer vers des Q&A pages dédiées\n\nSi vos FAQ étaient substantielles (réponses de 200+ mots, questions réellement posées par les utilisateurs), envisagez de les transformer en pages Q&A individuelles ciblant des long-tail queries. Le balisage `QAPage` reste supporté pour les pages de type forum/communautaire, mais attention : Google exige que la page soit structurée comme un vrai espace de questions-réponses avec des contributions utilisateurs, pas une page FAQ statique rebaptisée.\n\n### Option 3 : capitaliser pour l'AI search\n\nL'angle le plus stratégique en 2026. Les contenus FAQ — ces paires question/réponse factuelles et concises — sont exactement le format que les modèles de langage consomment le mieux pour générer des réponses dans les AI Overviews et les résultats d'AI Search.\n\nPlutôt que de penser \"rich results\", pensez \"citation source\". Un contenu structuré en Q&A claires, factuelles, sourcées, a plus de chances d'être cité dans une réponse AI qu'un paragraphe narratif. C'est un pivot stratégique que nous avons détaillé dans notre analyse sur [pourquoi l'AI search ignore certains contenus](/blog/why-ai-search-skips-your-content-and-how-to-diagnose-where-it-s-failing-via-sejournal-jeffrey-coyle) et dans [le pipeline de diagnostic AI search](/blog/the-10-gate-ai-search-pipeline-find-where-your-content-fails).\n\nLe balisage structuré n'est plus le véhicule de visibilité SERP qu'il était. Mais la structuration sémantique du contenu — headings clairs, paires Q&A explicites, faits vérifiables — devient le véhicule de visibilité AI. Le contenu reste, le wrapper technique change.\n\n## Le pattern plus large : Google réduit la surface des rich results\n\nLa suppression des FAQ s'inscrit dans un mouvement de fond qu'il faut analyser.\n\n### Les rich results en recul, les AI Overviews en expansion\n\nGoogle a réduit ou supprimé plusieurs types de rich results ces dernières années :\n- **HowTo** : restriction d'affichage desktop dès septembre 2023\n- **FAQ** : restriction puis suppression complète\n- **Sitelinks search box** : déprécié en novembre 2024\n\nEn parallèle, la surface occupée par les AI Overviews ne cesse de croître. La corrélation n'est pas fortuite. Google déplace l'espace SERP dédié aux \"réponses directes\" (rich snippets, FAQ expansions) vers un format qu'il contrôle entièrement : l'AI Overview, qui synthétise les sources sans laisser à un site individuel le bénéfice d'un affichage enrichi propre.\n\nCe que cela signifie pour votre stratégie : investir du temps d'ingénierie dans le balisage structuré pour obtenir des rich results spécifiques devient risqué. Le retour sur investissement est imprévisible quand Google peut supprimer un type de résultat en quelques mois. En revanche, le balisage structuré comme signal sémantique (aider Google à comprendre votre contenu) reste pertinent — la distinction est cruciale.\n\nNous avons analysé comment [Google oriente désormais les développeurs vers la construction pour les agents AI](/blog/google-tells-developers-to-build-for-ai-agents-not-just-humans-via-sejournal-mattgsouthern) et comment [les liens dans les AI Overviews évoluent](/blog/google-updates-links-within-ai-overviews-ai-mode). Le message est clair : l'investissement structurel doit viser la lisibilité machine au sens large, pas un format d'affichage SERP spécifique.\n\n### Impact sur le crawl budget\n\nUn point technique souvent négligé : le balisage structuré volumineux pèse sur le temps de parsing. Sur notre e-commerce de 8 000 pages, chaque page embarquant un bloc `FAQPage` avec 5 questions ajoute environ 800 octets à 1,5 Ko de JSON-LD. À l'échelle :\n\n- 8 000 pages × 1,2 Ko moyen = ~9,6 Mo de données structurées inutiles crawlées et parsées\n- Sur un crawl budget serré (5 000-10 000 URLs/jour), ce overhead n'est pas négligeable\n- Le temps de parsing côté Googlebot augmente, même marginalement, sur chaque URL\n\nCe n'est pas un facteur bloquant isolément. Mais cumulé avec d'autres sources de bloat (schema Product redondant, breadcrumb en doublon, etc.), le nettoyage du balisage obsolète contribue à une hygiène technique qui facilite le crawl et l'indexation. Pour les sites de 30 000+ pages, l'impact devient mesurable.\n\n## Vérification post-nettoyage : valider la suppression\n\nAprès le nettoyage, validez systématiquement.\n\n### Validation via Search Console\n\nL'onglet \"Améliorations\" de Search Console devrait voir le rapport \"FAQ\" disparaître progressivement à mesure que Google re-crawle vos pages. Surveillez sur 2-3 semaines.\n\nSi le rapport persiste, vérifiez que vos pages nettoyées ont bien été re-crawlées. Forcer un re-crawl via l'outil d'inspection d'URL pour les pages stratégiques :\n\n```bash\n# Soumettre un batch d'URLs au re-crawl via l'API Indexing\n# (nécessite un compte de service avec accès Search Console)\n\n# Pour les sites éligibles (JobPosting, BroadcastEvent) :\ncurl -X POST \"https://indexing.googleapis.com/v3/urlNotifications:publish\" \\\n  -H \"Authorization: Bearer $(gcloud auth print-access-token)\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"url\": \"https://votre-site.com/produit/serum-vitamine-c\",\n    \"type\": \"URL_UPDATED\"\n  }'\n\n# Pour les autres sites, utilisez le sitemap ping :\ncurl \"https://www.google.com/ping?sitemap=https://votre-site.com/sitemap.xml\"\n\n# Ou soumettez individuellement via Search Console UI :\n# URL Inspection > Request Indexing (limité à ~10/jour)\n```\n\nNote : l'API Indexing est limitée aux types `JobPosting` et `BroadcastEvent` officiellement. Pour les autres types de contenus, le ping sitemap et l'inspection manuelle restent vos options. Le re-crawl naturel prend 1 à 4 semaines selon la fréquence de crawl de votre site.\n\n### Validation via le Rich Results Test\n\nPassez vos pages nettoyées dans le [Rich Results Test de Google](https://search.google.com/test/rich-results) pour confirmer que le `FAQPage` n'apparaît plus dans les résultats détectés. Si vous avez migré vers un autre type de schema (`HowTo`, `Product` enrichi), vérifiez que le nouveau balisage est valide.\n\n### Monitoring continu\n\nLe risque principal post-nettoyage : une régression. Un déploiement qui réintroduit un ancien template, un plugin qui se met à jour et réactive le FAQ schema, un cache CDN qui sert encore l'ancienne version. Seogard détecte automatiquement ce type de régression en comparant le balisage structuré de chaque page entre deux crawls — exactement le genre de changement qui passe sous le radar d'un audit manuel mensuel.\n\n## Structured data en 2026 : où concentrer vos efforts\n\nAvec la disparition des FAQ, voici les types de données structurées qui méritent encore un investissement technique.\n\n### Les types à ROI prouvé\n\n- **Product + Merchant Listings** : toujours actifs, génèrent des rich results avec prix, disponibilité, avis. Essentiels pour l'e-commerce.\n- **Article** : pas de rich result visible proprement dit, mais utilisé par Google News, Discover, et les AI Overviews pour comprendre l'auteur, la date, le type de contenu.\n- **Organization + LocalBusiness** : Knowledge Panel, informations de contact. Impact branding direct.\n- **Breadcrumb** : affichage SERP stable depuis des années, améliore la lisibilité des résultats.\n\n### Les types à surveiller\n\n- **HowTo** : toujours supporté sur mobile, mais la restriction desktop de 2023 montre que Google peut réduire l'affichage à tout moment.\n- **Video** : les rich results vidéo restent affichés, mais Google pousse de plus en plus vers les YouTube shorts dans les SERPs. Le schema `VideoObject` sur du contenu hébergé hors YouTube perd en efficacité.\n\n### Le shift vers la sémantique machine-readable\n\nL'avenir du structured data n'est probablement pas dans les rich results visuels. C'est dans la capacité des machines — Googlebot, les LLMs, les agents AI — à parser et comprendre votre contenu. Google a lancé des travaux autour d'un [nouveau standard d'autorisation pour les bots](/blog/google-is-testing-new-bot-authorization-standard-via-sejournal-martinibuster), et les discussions sur le [grounding des réponses AI](/blog/bing-reveals-what-grounding-means-for-ai-search-visibility-via-sejournal-mattgsouthern) montrent que la lisibilité structurelle de votre contenu devient un facteur de citation AI.\n\nLe balisage structuré reste un signal. Mais sa valeur se déplace : moins \"obtenir un affichage enrichi en SERP\", plus \"être compris et cité par les systèmes de réponse AI\".\n\n## Le vrai takeaway\n\nLa suppression des FAQ rich results est le symptôme d'un changement plus profond : Google réduit les formats d'affichage enrichi qu'il délègue aux sites, au profit de formats qu'il contrôle (AI Overviews). Nettoyez votre balisage `FAQPage` — c'est du code mort. Conservez le contenu FAQ sur vos pages — c'est de la matière première pour les citations AI. Et concentrez votre investissement structured data sur les types qui ont un ROI mesurable aujourd'hui, tout en rendant votre contenu le plus lisible possible pour les systèmes d'extraction automatique.\n```","https://seogard.io/blog/google-drops-faq-rich-results-from-search-via-sejournal-mattgsouthern","Actualités SEO","2026-05-11T06:02:40.298Z","2026-05-11","Google supprime définitivement les FAQ rich results. Analyse technique, impact réel sur le trafic, et stratégies de migration du balisage structuré.","\u003Cp>Google a officiellement supprimé les FAQ rich results de ses pages de résultats. Ce n'est pas une surprise — la restriction avait commencé en août 2023 en limitant l'affichage aux seuls sites gouvernementaux et de santé. Mais cette fois, c'est terminé pour tout le monde, et le balisage \u003Ccode>FAQPage\u003C/code> devient du code mort dans vos templates.\u003C/p>\n\u003Ch2>La chronologie complète d'une dépréciation annoncée\u003C/h2>\n\u003Cp>Le retrait des FAQ rich results ne s'est pas fait du jour au lendemain. Comprendre la séquence aide à anticiper comment Google gère la fin de vie d'un type de résultat enrichi — un pattern qui se répétera.\u003C/p>\n\u003Ch3>Août 2023 : la restriction initiale\u003C/h3>\n\u003Cp>Google a annoncé que les FAQ rich results ne seraient plus affichés que pour les sites \"well-known government and health websites\". Pour tous les autres — e-commerce, SaaS, médias, blogs — l'affichage a été coupé sans préavis réel. Du jour au lendemain, des millions de pages ont perdu leur expansion FAQ dans les SERPs.\u003C/p>\n\u003Cp>Le rapport d'améliorations dans Search Console a continué à afficher les données FAQ pendant des mois après cette restriction, créant une confusion : les webmasters voyaient des \"impressions\" pour un type de résultat qui n'était plus affiché. Un problème caractéristique des délais de synchronisation de la Search Console, \u003Ca href=\"/blog/google-fixes-search-console-s-year-long-data-logging-issue-well-kind-of\">un sujet récurrent\u003C/a>.\u003C/p>\n\u003Ch3>2024-2025 : le schéma zombie\u003C/h3>\n\u003Cp>Pendant près de deux ans, la documentation de Google a continué à référencer \u003Ccode>FAQPage\u003C/code> comme un type de données structurées supporté. La plupart des CMS et des plugins SEO (Yoast, Rank Math, schema plugins divers) ont conservé la fonctionnalité de génération automatique de FAQ schema. Résultat : des milliards de pages web embarquent encore un balisage qui ne produit plus aucun résultat visible.\u003C/p>\n\u003Ch3>Mai 2026 : la suppression définitive\u003C/h3>\n\u003Cp>Google retire complètement le support. Le rapport \"FAQ\" disparaît de Search Console. La documentation officielle est mise à jour. Le type \u003Ccode>FAQPage\u003C/code> n'est plus listé dans la \u003Ca href=\"https://developers.google.com/search/docs/appearance/structured-data/search-gallery\">galerie des résultats enrichis de Google\u003C/a>.\u003C/p>\n\u003Cp>Cette annonce faisait l'objet d'anticipations depuis longtemps — nous avions couvert \u003Ca href=\"/blog/google-to-no-longer-support-faq-rich-results\">la première phase de cette dépréciation\u003C/a> dès l'annonce initiale.\u003C/p>\n\u003Ch2>L'impact réel : chiffrer ce que vous avez (déjà) perdu\u003C/h2>\n\u003Cp>Beaucoup d'équipes SEO n'ont pas mesuré précisément l'impact de la restriction de 2023. Voici un scénario concret pour illustrer l'ampleur.\u003C/p>\n\u003Ch3>Cas : un e-commerce santé/beauté de 8 000 pages produits\u003C/h3>\n\u003Cp>Prenons un site e-commerce dans la niche santé/beauté avec 8 000 fiches produits, chacune embarquant une section FAQ avec 3-5 questions balisées en \u003Ccode>FAQPage\u003C/code>. Avant août 2023, ces FAQ généraient un affichage étendu dans les SERPs — chaque résultat occupant 2 à 3 fois plus d'espace vertical qu'un snippet standard.\u003C/p>\n\u003Cp>\u003Cstrong>Avant la restriction (données réelles typiques) :\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>CTR moyen positions 3-5 avec FAQ rich result : 8-12%\u003C/li>\n\u003Cli>CTR moyen positions 3-5 sans rich result : 4-6%\u003C/li>\n\u003Cli>Pages avec FAQ indexées et affichées : ~5 200 sur 8 000\u003C/li>\n\u003Cli>Trafic organique mensuel attribuable au boost CTR des FAQ : ~15 000 sessions\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>Après la restriction :\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Le trafic sur ces pages a chuté de 20 à 35% en 4-6 semaines\u003C/li>\n\u003Cli>Aucune perte de positions — les rankings n'ont pas bougé\u003C/li>\n\u003Cli>La perte venait exclusivement de la réduction du CTR par perte d'espace SERP\u003C/li>\n\u003C/ul>\n\u003Cp>Le piège : sans monitoring automatisé des rich results, cette chute est quasi invisible dans les outils classiques. Les positions sont stables, les impressions aussi. Seul le CTR par type de résultat dans Search Console permettait de tracer le problème — et encore, avec des données agrégées qui masquent la granularité.\u003C/p>\n\u003Cp>Un outil de monitoring comme Seogard, qui détecte les changements de balisage structuré et les régressions d'affichage SERP page par page, aurait signalé immédiatement la perte de rendu FAQ sur chaque URL concernée.\u003C/p>\n\u003Ch2>Audit et nettoyage : supprimer le balisage FAQPage\u003C/h2>\n\u003Cp>Garder du \u003Ccode>FAQPage\u003C/code> schema sur vos pages n'est pas \"neutre\". C'est du bruit dans votre balisage structuré, ça alourdit le DOM, et ça pollue vos rapports de validation. Nettoyez.\u003C/p>\n\u003Ch3>Identifier toutes les pages concernées\u003C/h3>\n\u003Cp>Première étape : un crawl complet pour repérer chaque page embarquant du \u003Ccode>FAQPage\u003C/code>. Avec Screaming Frog, vous pouvez extraire le structured data via l'onglet dédié ou via une extraction custom :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Screaming Frog CLI - extraction structured data\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Configuration > Spider > Extraction > Custom Search\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Mode : \"Contains\" sur le body HTML\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Rechercher : \"FAQPage\" dans le JSON-LD\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Alternative avec grep sur un sitemap crawlé :\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">cat\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> urls.txt\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> xargs\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -P\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 10\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -I\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> {}\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> curl\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -s\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> {}\u003C/span>\u003Cspan style=\"color:#F97583\"> |\u003C/span>\u003Cspan style=\"color:#B392F0\"> grep\u003C/span>\u003Cspan style=\"color:#79B8FF\"> -l\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> \"FAQPage\"\u003C/span>\u003Cspan style=\"color:#F97583\"> >\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> pages_with_faq.txt\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Pour un audit plus robuste sur un gros volume, utilisez un script qui parse le JSON-LD :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">// Node.js - Extraction et audit du FAQPage schema\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">// Fonctionne avec un fichier d'URLs en entrée\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\"> axios\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#B392F0\"> require\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'axios'\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\"> cheerio\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#B392F0\"> require\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'cheerio'\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\"> fs\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#B392F0\"> require\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'fs'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">);\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\"> urls\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> fs.\u003C/span>\u003Cspan style=\"color:#B392F0\">readFileSync\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'urls.txt'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'utf-8'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">).\u003C/span>\u003Cspan style=\"color:#B392F0\">split\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#79B8FF\">\\n\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">).\u003C/span>\u003Cspan style=\"color:#B392F0\">filter\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(Boolean);\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\"> auditFAQSchema\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#FFAB70\">url\u003C/span>\u003Cspan style=\"color:#E1E4E8\">) {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  try\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    const\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"color:#FFAB70\">data\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#79B8FF\">html\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#F97583\"> await\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> axios.\u003C/span>\u003Cspan style=\"color:#B392F0\">get\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(url, {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      timeout: \u003C/span>\u003Cspan style=\"color:#79B8FF\">10000\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      headers: { \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'User-Agent'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'Mozilla/5.0 (compatible; SEOAuditBot/1.0)'\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\">    \u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    const\u003C/span>\u003Cspan style=\"color:#79B8FF\"> $\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> cheerio.\u003C/span>\u003Cspan style=\"color:#B392F0\">load\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(html);\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    const\u003C/span>\u003Cspan style=\"color:#79B8FF\"> schemas\u003C/span>\u003Cspan style=\"color:#F97583\"> =\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:#B392F0\">    $\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'script[type=\"application/ld+json\"]'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">).\u003C/span>\u003Cspan style=\"color:#B392F0\">each\u003C/span>\u003Cspan style=\"color:#E1E4E8\">((\u003C/span>\u003Cspan style=\"color:#FFAB70\">i\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#FFAB70\">el\u003C/span>\u003Cspan style=\"color:#E1E4E8\">) \u003C/span>\u003Cspan style=\"color:#F97583\">=>\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">      try\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\"> json\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#79B8FF\"> JSON\u003C/span>\u003Cspan style=\"color:#E1E4E8\">.\u003C/span>\u003Cspan style=\"color:#B392F0\">parse\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#B392F0\">$\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(el).\u003C/span>\u003Cspan style=\"color:#B392F0\">html\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\"> items\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> Array.\u003C/span>\u003Cspan style=\"color:#B392F0\">isArray\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(json) \u003C/span>\u003Cspan style=\"color:#F97583\">?\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> json \u003C/span>\u003Cspan style=\"color:#F97583\">:\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> [json];\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        \u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        items.\u003C/span>\u003Cspan style=\"color:#B392F0\">forEach\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#FFAB70\">item\u003C/span>\u003Cspan style=\"color:#F97583\"> =>\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">          // Gestion du @graph (commun avec Yoast/RankMath)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">          if\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> (item[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'@graph'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">]) {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            item[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'@graph'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">].\u003C/span>\u003Cspan style=\"color:#B392F0\">forEach\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#FFAB70\">node\u003C/span>\u003Cspan style=\"color:#F97583\"> =>\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">              if\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> (node[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'@type'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">] \u003C/span>\u003Cspan style=\"color:#F97583\">===\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> 'FAQPage'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">) {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                schemas.\u003C/span>\u003Cspan style=\"color:#B392F0\">push\u003C/span>\u003Cspan style=\"color:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                  url,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                  type: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'FAQPage'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                  questionCount: node.mainEntity?.\u003C/span>\u003Cspan style=\"color:#79B8FF\">length\u003C/span>\u003Cspan style=\"color:#F97583\"> ||\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 0\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">                  location: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'graph'\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>\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:#F97583\">          if\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> (item[\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'@type'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">] \u003C/span>\u003Cspan style=\"color:#F97583\">===\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> 'FAQPage'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">) {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">            schemas.\u003C/span>\u003Cspan style=\"color:#B392F0\">push\u003C/span>\u003Cspan style=\"color:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">              url,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">              type: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'FAQPage'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">              questionCount: item.mainEntity?.\u003C/span>\u003Cspan style=\"color:#79B8FF\">length\u003C/span>\u003Cspan style=\"color:#F97583\"> ||\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 0\u003C/span>\u003Cspan style=\"color:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">              location: \u003C/span>\u003Cspan style=\"color:#9ECBFF\">'standalone'\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>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      } \u003C/span>\u003Cspan style=\"color:#F97583\">catch\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> (parseErr) {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">        // JSON-LD invalide — autre problème à traiter\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>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> schemas;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  } \u003C/span>\u003Cspan style=\"color:#F97583\">catch\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> (err) {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> [{ url, error: err.message }];\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:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#F97583\">async\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> () \u003C/span>\u003Cspan style=\"color:#F97583\">=>\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\"> results\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> [];\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  for\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> (\u003C/span>\u003Cspan style=\"color:#F97583\">const\u003C/span>\u003Cspan style=\"color:#79B8FF\"> url\u003C/span>\u003Cspan style=\"color:#F97583\"> of\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> urls) {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    const\u003C/span>\u003Cspan style=\"color:#79B8FF\"> schemas\u003C/span>\u003Cspan style=\"color:#F97583\"> =\u003C/span>\u003Cspan style=\"color:#F97583\"> await\u003C/span>\u003Cspan style=\"color:#B392F0\"> auditFAQSchema\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(url);\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> (schemas.\u003C/span>\u003Cspan style=\"color:#79B8FF\">length\u003C/span>\u003Cspan style=\"color:#F97583\"> >\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 0\u003C/span>\u003Cspan style=\"color:#E1E4E8\">) results.\u003C/span>\u003Cspan style=\"color:#B392F0\">push\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#F97583\">...\u003C/span>\u003Cspan style=\"color:#E1E4E8\">schemas);\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\">  console.\u003C/span>\u003Cspan style=\"color:#B392F0\">log\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">`Pages avec FAQPage schema : ${\u003C/span>\u003Cspan style=\"color:#E1E4E8\">results\u003C/span>\u003Cspan style=\"color:#9ECBFF\">.\u003C/span>\u003Cspan style=\"color:#79B8FF\">length\u003C/span>\u003Cspan style=\"color:#9ECBFF\">}`\u003C/span>\u003Cspan style=\"color:#E1E4E8\">);\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  fs.\u003C/span>\u003Cspan style=\"color:#B392F0\">writeFileSync\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">'faq_audit.json'\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \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\">(results, \u003C/span>\u003Cspan style=\"color:#79B8FF\">null\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#79B8FF\">2\u003C/span>\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 script gère les deux patterns courants : le JSON-LD standalone et le format \u003Ccode>@graph\u003C/code> utilisé par Yoast SEO et Rank Math. Sur un site de 8 000 pages, l'exécution prend 15-20 minutes avec une parallélisation raisonnable.\u003C/p>\n\u003Ch3>Supprimer proprement selon votre stack\u003C/h3>\n\u003Cp>La méthode de suppression dépend de l'origine du balisage.\u003C/p>\n\u003Cp>\u003Cstrong>Si le balisage vient d'un plugin WordPress (Yoast, Rank Math) :\u003C/strong>\nLa plupart ont déjà ajouté une option pour désactiver les FAQ schema. Dans Rank Math, c'est sous \u003Ccode>Rank Math > Titles &#x26; Meta > Global Meta > FAQ Block\u003C/code> — désactivez le toggle. Pour Yoast, le bloc FAQ Gutenberg ne génère plus de schema depuis la version 22+.\u003C/p>\n\u003Cp>\u003Cstrong>Si le balisage est injecté via un template custom :\u003C/strong>\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">&#x3C;!-- AVANT : template produit avec FAQ schema -->\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:#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\": \"FAQPage\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"mainEntity\": [\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\": \"Question\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"name\": \"Ce sérum est-il adapté aux peaux sensibles ?\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"acceptedAnswer\": {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        \"@type\": \"Answer\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        \"text\": \"Oui, la formulation est testée dermatologiquement...\"\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>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"@type\": \"Question\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"name\": \"Quelle est la durée de conservation après ouverture ?\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"acceptedAnswer\": {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        \"@type\": \"Answer\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">        \"text\": \"6 mois après ouverture (symbole PAO sur l'emballage).\"\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>\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>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">&#x3C;!-- APRÈS : suppression complète du bloc FAQPage -->\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">&#x3C;!-- Le contenu FAQ reste en HTML visible — seul le schema est retiré -->\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Point important : \u003Cstrong>ne supprimez pas le contenu FAQ visible sur la page\u003C/strong>. Les questions/réponses restent utiles pour l'utilisateur et pour la compréhension sémantique de la page par Google. Vous ne retirez que l'enveloppe JSON-LD qui ne produit plus aucun effet.\u003C/p>\n\u003Ch2>Que faire du contenu FAQ existant : stratégies de migration\u003C/h2>\n\u003Cp>Supprimer le balisage ne signifie pas abandonner le contenu. Plusieurs options de migration existent, chacune avec ses trade-offs.\u003C/p>\n\u003Ch3>Option 1 : conversion vers HowTo schema (si applicable)\u003C/h3>\n\u003Cp>Pour les pages où les FAQ étaient en réalité des instructions déguisées (\"Comment appliquer ce produit ?\", \"Comment choisir la bonne taille ?\"), le balisage \u003Ccode>HowTo\u003C/code> reste supporté et génère des rich results. Le format est différent :\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\": \"HowTo\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"name\": \"Comment appliquer le sérum vitamine C\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  \"step\": [\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\": \"HowToStep\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"name\": \"Nettoyer la peau\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"text\": \"Appliquez votre nettoyant habituel sur peau humide, rincez à l'eau tiède.\"\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\">      \"@type\": \"HowToStep\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"name\": \"Appliquer le sérum\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"text\": \"Déposez 3-4 gouttes dans la paume, pressez délicatement sur le visage et le cou.\"\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\">      \"@type\": \"HowToStep\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"name\": \"Hydrater\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">      \"text\": \"Terminez avec votre crème hydratante pour sceller les actifs.\"\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>\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>\u003Cstrong>Trade-off\u003C/strong> : le \u003Ccode>HowTo\u003C/code> ne s'applique qu'aux contenus procéduraux. Forcer des FAQ dans un format étape par étape juste pour obtenir un rich result est une violation des guidelines — et Google sait détecter ces abus. Ne le faites que si le contenu est réellement procédural.\u003C/p>\n\u003Ch3>Option 2 : basculer vers des Q&#x26;A pages dédiées\u003C/h3>\n\u003Cp>Si vos FAQ étaient substantielles (réponses de 200+ mots, questions réellement posées par les utilisateurs), envisagez de les transformer en pages Q&#x26;A individuelles ciblant des long-tail queries. Le balisage \u003Ccode>QAPage\u003C/code> reste supporté pour les pages de type forum/communautaire, mais attention : Google exige que la page soit structurée comme un vrai espace de questions-réponses avec des contributions utilisateurs, pas une page FAQ statique rebaptisée.\u003C/p>\n\u003Ch3>Option 3 : capitaliser pour l'AI search\u003C/h3>\n\u003Cp>L'angle le plus stratégique en 2026. Les contenus FAQ — ces paires question/réponse factuelles et concises — sont exactement le format que les modèles de langage consomment le mieux pour générer des réponses dans les AI Overviews et les résultats d'AI Search.\u003C/p>\n\u003Cp>Plutôt que de penser \"rich results\", pensez \"citation source\". Un contenu structuré en Q&#x26;A claires, factuelles, sourcées, a plus de chances d'être cité dans une réponse AI qu'un paragraphe narratif. C'est un pivot stratégique que nous avons détaillé dans notre analyse sur \u003Ca href=\"/blog/why-ai-search-skips-your-content-and-how-to-diagnose-where-it-s-failing-via-sejournal-jeffrey-coyle\">pourquoi l'AI search ignore certains contenus\u003C/a> et dans \u003Ca href=\"/blog/the-10-gate-ai-search-pipeline-find-where-your-content-fails\">le pipeline de diagnostic AI search\u003C/a>.\u003C/p>\n\u003Cp>Le balisage structuré n'est plus le véhicule de visibilité SERP qu'il était. Mais la structuration sémantique du contenu — headings clairs, paires Q&#x26;A explicites, faits vérifiables — devient le véhicule de visibilité AI. Le contenu reste, le wrapper technique change.\u003C/p>\n\u003Ch2>Le pattern plus large : Google réduit la surface des rich results\u003C/h2>\n\u003Cp>La suppression des FAQ s'inscrit dans un mouvement de fond qu'il faut analyser.\u003C/p>\n\u003Ch3>Les rich results en recul, les AI Overviews en expansion\u003C/h3>\n\u003Cp>Google a réduit ou supprimé plusieurs types de rich results ces dernières années :\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>HowTo\u003C/strong> : restriction d'affichage desktop dès septembre 2023\u003C/li>\n\u003Cli>\u003Cstrong>FAQ\u003C/strong> : restriction puis suppression complète\u003C/li>\n\u003Cli>\u003Cstrong>Sitelinks search box\u003C/strong> : déprécié en novembre 2024\u003C/li>\n\u003C/ul>\n\u003Cp>En parallèle, la surface occupée par les AI Overviews ne cesse de croître. La corrélation n'est pas fortuite. Google déplace l'espace SERP dédié aux \"réponses directes\" (rich snippets, FAQ expansions) vers un format qu'il contrôle entièrement : l'AI Overview, qui synthétise les sources sans laisser à un site individuel le bénéfice d'un affichage enrichi propre.\u003C/p>\n\u003Cp>Ce que cela signifie pour votre stratégie : investir du temps d'ingénierie dans le balisage structuré pour obtenir des rich results spécifiques devient risqué. Le retour sur investissement est imprévisible quand Google peut supprimer un type de résultat en quelques mois. En revanche, le balisage structuré comme signal sémantique (aider Google à comprendre votre contenu) reste pertinent — la distinction est cruciale.\u003C/p>\n\u003Cp>Nous avons analysé comment \u003Ca href=\"/blog/google-tells-developers-to-build-for-ai-agents-not-just-humans-via-sejournal-mattgsouthern\">Google oriente désormais les développeurs vers la construction pour les agents AI\u003C/a> et comment \u003Ca href=\"/blog/google-updates-links-within-ai-overviews-ai-mode\">les liens dans les AI Overviews évoluent\u003C/a>. Le message est clair : l'investissement structurel doit viser la lisibilité machine au sens large, pas un format d'affichage SERP spécifique.\u003C/p>\n\u003Ch3>Impact sur le crawl budget\u003C/h3>\n\u003Cp>Un point technique souvent négligé : le balisage structuré volumineux pèse sur le temps de parsing. Sur notre e-commerce de 8 000 pages, chaque page embarquant un bloc \u003Ccode>FAQPage\u003C/code> avec 5 questions ajoute environ 800 octets à 1,5 Ko de JSON-LD. À l'échelle :\u003C/p>\n\u003Cul>\n\u003Cli>8 000 pages × 1,2 Ko moyen = ~9,6 Mo de données structurées inutiles crawlées et parsées\u003C/li>\n\u003Cli>Sur un crawl budget serré (5 000-10 000 URLs/jour), ce overhead n'est pas négligeable\u003C/li>\n\u003Cli>Le temps de parsing côté Googlebot augmente, même marginalement, sur chaque URL\u003C/li>\n\u003C/ul>\n\u003Cp>Ce n'est pas un facteur bloquant isolément. Mais cumulé avec d'autres sources de bloat (schema Product redondant, breadcrumb en doublon, etc.), le nettoyage du balisage obsolète contribue à une hygiène technique qui facilite le crawl et l'indexation. Pour les sites de 30 000+ pages, l'impact devient mesurable.\u003C/p>\n\u003Ch2>Vérification post-nettoyage : valider la suppression\u003C/h2>\n\u003Cp>Après le nettoyage, validez systématiquement.\u003C/p>\n\u003Ch3>Validation via Search Console\u003C/h3>\n\u003Cp>L'onglet \"Améliorations\" de Search Console devrait voir le rapport \"FAQ\" disparaître progressivement à mesure que Google re-crawle vos pages. Surveillez sur 2-3 semaines.\u003C/p>\n\u003Cp>Si le rapport persiste, vérifiez que vos pages nettoyées ont bien été re-crawlées. Forcer un re-crawl via l'outil d'inspection d'URL pour les pages stratégiques :\u003C/p>\n\u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Soumettre un batch d'URLs au re-crawl via l'API Indexing\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># (nécessite un compte de service avec accès Search Console)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Pour les sites éligibles (JobPosting, BroadcastEvent) :\u003C/span>\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:#9ECBFF\"> \"https://indexing.googleapis.com/v3/urlNotifications:publish\"\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 $(\u003C/span>\u003Cspan style=\"color:#B392F0\">gcloud\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> auth print-access-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\">    \"url\": \"https://votre-site.com/produit/serum-vitamine-c\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"type\": \"URL_UPDATED\"\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\"># Pour les autres sites, utilisez le sitemap ping :\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">curl\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> \"https://www.google.com/ping?sitemap=https://votre-site.com/sitemap.xml\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># Ou soumettez individuellement via Search Console UI :\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># URL Inspection > Request Indexing (limité à ~10/jour)\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>Note : l'API Indexing est limitée aux types \u003Ccode>JobPosting\u003C/code> et \u003Ccode>BroadcastEvent\u003C/code> officiellement. Pour les autres types de contenus, le ping sitemap et l'inspection manuelle restent vos options. Le re-crawl naturel prend 1 à 4 semaines selon la fréquence de crawl de votre site.\u003C/p>\n\u003Ch3>Validation via le Rich Results Test\u003C/h3>\n\u003Cp>Passez vos pages nettoyées dans le \u003Ca href=\"https://search.google.com/test/rich-results\">Rich Results Test de Google\u003C/a> pour confirmer que le \u003Ccode>FAQPage\u003C/code> n'apparaît plus dans les résultats détectés. Si vous avez migré vers un autre type de schema (\u003Ccode>HowTo\u003C/code>, \u003Ccode>Product\u003C/code> enrichi), vérifiez que le nouveau balisage est valide.\u003C/p>\n\u003Ch3>Monitoring continu\u003C/h3>\n\u003Cp>Le risque principal post-nettoyage : une régression. Un déploiement qui réintroduit un ancien template, un plugin qui se met à jour et réactive le FAQ schema, un cache CDN qui sert encore l'ancienne version. Seogard détecte automatiquement ce type de régression en comparant le balisage structuré de chaque page entre deux crawls — exactement le genre de changement qui passe sous le radar d'un audit manuel mensuel.\u003C/p>\n\u003Ch2>Structured data en 2026 : où concentrer vos efforts\u003C/h2>\n\u003Cp>Avec la disparition des FAQ, voici les types de données structurées qui méritent encore un investissement technique.\u003C/p>\n\u003Ch3>Les types à ROI prouvé\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Product + Merchant Listings\u003C/strong> : toujours actifs, génèrent des rich results avec prix, disponibilité, avis. Essentiels pour l'e-commerce.\u003C/li>\n\u003Cli>\u003Cstrong>Article\u003C/strong> : pas de rich result visible proprement dit, mais utilisé par Google News, Discover, et les AI Overviews pour comprendre l'auteur, la date, le type de contenu.\u003C/li>\n\u003Cli>\u003Cstrong>Organization + LocalBusiness\u003C/strong> : Knowledge Panel, informations de contact. Impact branding direct.\u003C/li>\n\u003Cli>\u003Cstrong>Breadcrumb\u003C/strong> : affichage SERP stable depuis des années, améliore la lisibilité des résultats.\u003C/li>\n\u003C/ul>\n\u003Ch3>Les types à surveiller\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>HowTo\u003C/strong> : toujours supporté sur mobile, mais la restriction desktop de 2023 montre que Google peut réduire l'affichage à tout moment.\u003C/li>\n\u003Cli>\u003Cstrong>Video\u003C/strong> : les rich results vidéo restent affichés, mais Google pousse de plus en plus vers les YouTube shorts dans les SERPs. Le schema \u003Ccode>VideoObject\u003C/code> sur du contenu hébergé hors YouTube perd en efficacité.\u003C/li>\n\u003C/ul>\n\u003Ch3>Le shift vers la sémantique machine-readable\u003C/h3>\n\u003Cp>L'avenir du structured data n'est probablement pas dans les rich results visuels. C'est dans la capacité des machines — Googlebot, les LLMs, les agents AI — à parser et comprendre votre contenu. Google a lancé des travaux autour d'un \u003Ca href=\"/blog/google-is-testing-new-bot-authorization-standard-via-sejournal-martinibuster\">nouveau standard d'autorisation pour les bots\u003C/a>, et les discussions sur le \u003Ca href=\"/blog/bing-reveals-what-grounding-means-for-ai-search-visibility-via-sejournal-mattgsouthern\">grounding des réponses AI\u003C/a> montrent que la lisibilité structurelle de votre contenu devient un facteur de citation AI.\u003C/p>\n\u003Cp>Le balisage structuré reste un signal. Mais sa valeur se déplace : moins \"obtenir un affichage enrichi en SERP\", plus \"être compris et cité par les systèmes de réponse AI\".\u003C/p>\n\u003Ch2>Le vrai takeaway\u003C/h2>\n\u003Cp>La suppression des FAQ rich results est le symptôme d'un changement plus profond : Google réduit les formats d'affichage enrichi qu'il délègue aux sites, au profit de formats qu'il contrôle (AI Overviews). Nettoyez votre balisage \u003Ccode>FAQPage\u003C/code> — c'est du code mort. Conservez le contenu FAQ sur vos pages — c'est de la matière première pour les citations AI. Et concentrez votre investissement structured data sur les types qui ont un ROI mesurable aujourd'hui, tout en rendant votre contenu le plus lisible possible pour les systèmes d'extraction automatique.\u003C/p>\n\u003Cpre>\u003Ccode>\u003C/code>\u003C/pre>",null,12,[18,19,20,21,22],"rich results","FAQ schema","structured data","SERP","Google Search","Fin des FAQ Rich Results : impact technique et migration","Mon May 11 2026 06:02:40 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,52,53,20],"tech seo audit","ai search","ai visibility","crawl budget","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":67,"updatedAt":68},"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,65,66],"consensus gap","LLM visibility","GEO","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)"]