Marketing

Comment construire un audit seo technique headless qui récupère les pages tombées du classement avec une checklist priorisée

Comment construire un audit seo technique headless qui récupère les pages tombées du classement avec une checklist priorisée

J’ai récemment mené plusieurs audits SEO sur des sites headless — des architectures où le front-end est découplé du back-end (Next.js, Nuxt, Gatsby, React SPA, etc.). Quand une page chute dans les classements, l’enquête est souvent la même : il faut comprendre ce qui a changé dans la chaîne de rendu, d’indexation ou de distribution. Voici ma méthode pratique, testée sur des projets clients, pour construire un audit SEO technique headless qui vise spécifiquement à récupérer des pages tombées du classement. Je vous donne aussi une checklist priorisée et actionnable.

Pourquoi le headless complique l’audit SEO

Dans une architecture headless, le HTML initial peut être minimal et le contenu est injecté via JavaScript ou récupéré côté serveur. Les moteurs de recherche comme Google rendent les pages, mais il y a des limites : quotas de rendu, délais, différences entre bots, et erreurs de configuration (prerendering, SSR, SSG) peuvent empêcher l’indexation correcte. De plus, les problèmes de réseau, redirect loops ou erreurs d’API auront un impact immédiat sur la visibilité.

Premiers diagnostics rapides (5–15 minutes)

Avant de plonger dans les logs, je fais des vérifications rapides pour exclure les causes évidentes :

  • Vérifier Google Search Console — erreurs d’indexation, pages exclues, couverture, problèmes d’exploration.
  • Tester la page avec l’outil URL Inspection de GSC pour voir la dernière version indexée et si le rendu pose problème.
  • Ouvrir la page dans un navigateur en désactivant JavaScript (ou au contraire en activant uniquement JS) pour comparer le contenu initial et le rendu final.
  • Faire un curl ou wget pour voir les headers HTTP (status codes, server, cache-control).
  • Ces étapes permettent souvent d’identifier si la page est renvoyée en 404/500, si le robots.txt bloque ou si la page est servie en noindex.

    Checklist priorisée — impact / effort

    Je classe les vérifications selon trois critères : impact (sur le classement), probabilité (d’être la cause), et effort (temps pour corriger). Voici une table récapitulative que j’utilise en audit :

    Vérification Impact Probabilité Effort
    Code de statut HTTP (200/3xx/4xx/5xx) Élevé Élevée Faible
    Balise meta robots / X-Robots-Tag Élevé Moyenne Faible
    Blocage via robots.txt Élevé Moyenne Faible
    Rendering JS / SSR / Prerender Élevé Élevée Moyen
    Sitemap & canonical Moyen Moyenne Faible
    Core Web Vitals (LCP, CLS, TTFB) Moyen Moyenne Moyen
    Erreurs d’API / contenu manquant Élevé Moyenne Moyen
    Problèmes de liens internes / depth Moyen Moyenne Faible

    Processus détaillé pas à pas

    Voici la séquence que j’applique systématiquement, avec les outils que j’utilise.

    1) Collecte et tri des URLs affectées

    Je commence par récupérer les pages en chute depuis Search Console (performance, filtrer par baisse d’impressions / position) et via des outils comme Ahrefs ou Semrush. Je regroupe : pages fortes qui ont chuté, pages avec trafic en baisse, et pages récemment modifiées.

    2) Vérifier l’accessibilité et les réponses HTTP

    Outils : curl, HTTPie, Screaming Frog, Sitebulb.

  • Confirmer le status code (200 vs 4xx/5xx/redirects). Les redirections en chaîne ou 5xx sont souvent la cause.
  • Vérifier les headers Cache-Control et X-Robots-Tag (parfois mis côté serveur).
  • 3) Rendu client vs rendu serveur

    Outils : Google Search Console URL Inspection, Chrome DevTools (Network > Disable Javascript / JavaScript Console), Lighthouse, Puppeteer.

  • Comparer le HTML initial (curl) et le HTML rendu (View Source vs Inspect).
  • Si le contenu principal n’apparaît qu’après JS, tester si Googlebot peut le rendre : GSC montre souvent le rendu tel que Google l’a vu.
  • Pour les apps React/Vue, vérifier si le SSR (server-side rendering) ou le prerendering est correctement configuré. Si non, prioriser l’ajout de SSR ou un fallback de pre-render pour les pages stratégiques.
  • 4) Logs d’exploration et problème d’API

    Outils : logs serveur, Cloudflare/Netlify/ Vercel logs, Google Cloud / AWS logs.

  • Analyser les logs pour voir si Googlebot reçoit des 200 au moment de ses crawls ou des 5xx/timeout.
  • Si les pages dépendent d’API pour charger le contenu, vérifier les erreurs d’API (503, rate limiting). Un API slow peut empêcher le rendu complet.
  • 5) Canonicals, sitemaps, et liens internes

    Vérifier la cohérence des balises rel=canonical — les erreurs ici font disparaître une page des index si elle pointe vers une autre. Assurer que la sitemap XML contient les bonnes URLs et les soumettre dans GSC. Audit des liens internes : pages profondes non liées n’ont pas de priorité d’exploration.

    6) Signaux de qualité et contenu dupliqué

    Un changement de template ou d’URL peut créer du contenu dupliqué. Vérifier via Screaming Frog / Sitebulb et corriger via canonical ou param handling.

    7) Performance et Core Web Vitals

    Même si la qualité de contenu prime, des dégradations importantes (TTFB élevé, LCP lent, CLS instable) peuvent affaiblir la visibilité. J’utilise PageSpeed Insights, WebPageTest et les rapports Core Web Vitals de GSC.

    8) Structured data et balisage

    Vérifier que le schema.org n’est pas cassé (Outils de test des résultats enrichis, Rich Results Test). Les erreurs JSON-LD ne font pas tomber une page en 404, mais peuvent impacter les snippets et CTR.

    Actions prioritaires à lancer immédiatement (si détectées)

  • Corriger les erreurs 5xx/4xx ou restaurer les redirections correctes (impact majeur, effort faible).
  • Retirer les meta robots noindex/X-Robots-Tag accidentels et soumettre la page à l’indexation via GSC (impact majeur, effort faible).
  • Corriger les timeouts d’API ou mettre en cache le contenu côté server pour le rendu (impact majeur, effort moyen).
  • Activer SSR/prerender pour les pages stratégiques si elles dépendent fortement de JS (impact majeur, effort moyen à élevé).
  • Rectifier canonical et sitemaps incohérents, puis valider via la Search Console (impact moyen, effort faible).
  • Exemples concrets de bugs rencontrés

    Voici des cas que j’ai résolus pour des clients :

  • Un site Next.js qui avait basculé en ISR mal configuré : les pages renvoyaient un HTML vide pendant la regeneration, causant des chutes temporaires. Solution : corriger la logique d’ISR et ajouter un fallback SEO-friendly.
  • Une SPA React dont le contenu principal provenait d’une API qui avait commencé à renvoyer 502 sous charge : Google voyait des pages vides. Solution : mettre en place un cache côté serveur et monitorer l’API.
  • Un site migré où les canonical pointaient vers la racine après une réécriture d’URL : il fallait corriger la génération des canonicals dans le template.
  • Rapport final et priorisation

    Pour livrer un audit utile, je fournis toujours :

  • Une liste des anomalies classées par priorité (critique, élevé, moyen, faible).
  • Un plan d’action avec responsabilité (développeur, infra, contenu), estimation d’effort et test à réaliser après correction.
  • Des scripts de test automatisés (ex : checks curl, Puppeteer) pour valider que les pages restent renderables par Google.
  • Si vous avez une page ou un segment de site qui a perdu du classement, je peux vous aider à diagnostiquer rapidement l’origine (rendering, indexation, infra) et établir une checklist de corrections prioritaires. Dites-moi quelle technologie front/back vous utilisez (Next.js, Nuxt, Gatsby, Strapi, Contentful, etc.) et je vous propose un plan adapté.

    Vous devriez également consulter les actualités suivante :