technical-seo-audit-screaming-frog-gsc.html
< BACK Bureau encombré à Londres avec des notes SEO manuscrites, lumière de lampe ambre chaleureuse, faible profondeur de champ

Comment je réalise un audit SEO technique avec Screaming Frog et GSC

Un client m'a envoyé un site qui avait été « optimisé pour le SEO par une agence professionnelle » pendant 18 mois. Les classements étaient stables. Le trafic baissait d'une année sur l'autre. Le rapport de l'agence faisait 47 pages et incluait une section sur « l'alignement de la voix de marque ». Ce qu'il ne mentionnait pas, c'est que 3 400 pages retournaient des codes de statut 200 mais avaient des balises noindex intégrées dans la meta. Trois mille cinq cents pages. Disparues. Invisibles. L'agence n'avait jamais réellement crawlé le site.

Je l'ai réparé en une semaine. Avec Screaming Frog et Google Search Console.

C'est ça, le SEO technique — ça récompense les gens qui regardent réellement les données plutôt que d'en parler. Et honnêtement, pour 90 % des sites que j'audite via Seahawk, je n'ai pas besoin d'Ahrefs, Semrush, ou de l'une des grandes plateformes pour trouver les problèmes qui nuisent réellement à la performance. Deux outils. Un processus. Le voici.Seahawk, I don't need Ahrefs, Semrush, or any of the big platforms to find the problems that are genuinely hurting performance. Two tools. One process. Here it is.

---

Avant de crawler quoi que ce soit, configurez Screaming Frog correctement

La plupart des gens ouvrent Screaming Frog, collent une URL, et cliquent sur démarrer. C'est correct pour un blog de 50 pages. Pour tout ce qui est plus gros, vous attendrez 40 minutes pour un crawl qui vous donne des données incorrectes.

La configuration compte plus que la vitesse de crawl.

Première chose que je fais : je vais dans Configuration > Spider et je m'assure que je crawle le bon protocole. Si le site est en HTTPS (ce qu'il devrait être), je démarre à partir de la page d'accueil HTTPS canonique. Je désactive aussi le crawl de certains types de fichiers — PDFs, images, vidéos — sauf si je veux spécifiquement auditer ceux-là. Ça réduit le temps de crawl de moitié.Configuration > Spider and make sure I'm crawling the correct protocol. If the site is on HTTPS (it should be), I'm starting from the canonical HTTPS homepage. I also turn off crawling of certain file types — PDFs, images, videos — unless I specifically want to audit those. It halves the crawl time.

Ensuite je mets Configuration > Respect Canonical Tags sur off. C'est contre-intuitif, je sais. Mais je veux voir chaque URL canonicalisée pour pouvoir auditer si la canonicalisation est réellement correcte. Si Screaming Frog saute les pages canonicalisées, vous ne saurez jamais qu'elles existent.Configuration > Respect Canonical Tags to off. Counter-intuitive, I know. But I want to see every canonicalised URL so I can audit whether the canonicalisation is actually correct. If Screaming Frog skips canonicalised pages, you'll never know they exist.

Une chose de plus : sous Configuration > Custom Extraction, je configure une règle d'extraction pour récupérer la balise <title> brute et la meta description directement depuis le code source HTML. Pourquoi ? Parce que certains sites WordPress — particulièrement ceux qui exécutent Yoast aux côtés d'un page builder — produisent deux balises title. La colonne par défaut de Screaming Frog ne vous montre que la première. La règle d'extraction vous montre tout.Configuration > Custom Extraction, I set up an extraction rule to pull the raw <title> and meta description directly from the HTML source. Why? Because some WordPress sites — particularly ones running Yoast alongside a page builder — output two title tags. Screaming Frog's default column only shows you the first one. The extraction rule shows you everything.

---

Le premier passage : ce que je cherche dans les données de crawl

Une fois le crawl terminé, je ne commence pas par les liens brisés. Tout le monde commence par les liens brisés. Je commence par l'onglet Response Codes et je filtre les redirections 3xx.Response Codes tab and filter for 3xx redirects.

En 2021, Seahawk a pris un client e-commerce — détaillant de meubles de taille moyenne, environ 8 000 URLs. Leur équipe dev gérait les redirections au cas par cas depuis deux ans. Nous avons trouvé 19 chaînes de redirection, certaines avec quatre sauts. La page A redirige vers la page B, qui redirige vers la page C, qui redirige vers la page D. Google dit qu'il suit jusqu'à 10 sauts, mais en pratique, tout au-delà de deux sauts gaspille le budget de crawl et dilue l'équité de lien. Nous avons tout réduit à des redirections en un seul saut. Ça seul — sans changements de contenu, sans création de liens — a déplacé trois pages de catégories de la page 3 à la page 1 en six semaines.Google says it follows up to 10 hops, but in practice, anything beyond two hops wastes crawl budget and dilutes link equity. We collapsed everything to single-hop redirects. That alone — no content changes, no link building — moved three category pages from page 3 to page 1 within six weeks.

L'ordre dans lequel je traite les onglets

  1. Codes de réponse → 3xx — chaînes de redirection et boucles — redirect chains and loops
  2. Codes de réponse → 4xx — pages cassées (filtrer par liens entrants pour prioriser) — broken pages (filter by inlinks to prioritise)
  3. Indexabilité → Non indexable — noindex, canoniques pointant ailleurs, bloqués par robots.txt — noindex, canonicals pointing elsewhere, blocked by robots.txt
  4. Titres de page — manquants, dupliqués, plus de 60 caractères — missing, duplicated, over 60 characters
  5. Meta Description — manquante ou dupliquée (pas un facteur de classement, mais le taux de clic compte) — missing or duplicated (not a ranking factor, but click-through matters)
  6. H1 — manquant, dupliqué, ou plusieurs par page — missing, duplicated, or more than one per page
  7. Images → Texte Alt manquant — gain rapide, surtout pour les sites de produits — quick win, especially for product sites
  8. Directives → Canonique — vérifier que ces dernières correspondent à l'URL réellement indexable — check these match the actual indexable URL

Cet ordre est délibéré. Je pars des problèmes structurels (redirections, pages cassées) jusqu'aux problèmes on-page. Corriger une chaîne de redirection cassée aide chaque page de cette chaîne. Corriger une meta description manquante aide une seule page.

---

La stratification dans Search Console : là où ça devient intéressant

Screaming Frog te dit ce qui est sur le site. Search Console te dit ce que Google pense qui est sur le site. L'écart entre ces deux ensembles de données, c'est là que vivent les vrais problèmes.

Couverture (ou Indexation → Pages dans la nouvelle interface). Tu regardes quatre choses :Coverage (or Indexing → Pages in the newer interface). You're looking at four things:

  • Erreur — pages que Google a tenté d'indexer et n'a pas pu — pages Google tried to index and couldn't
  • Valide avec avertissements — souvent « URL envoyée non sélectionnée comme canonique », un gâchis que tu dois démêler — often "Submitted URL not selected as canonical," which is a mess you need to untangle
  • Exclues — pages que Google a choisi de ne pas indexer (crawlées mais non indexées, noindexées, etc.) — pages Google chose not to index (crawled but not indexed, noindexed, etc.)
  • Valide — pages que Google a indexées — pages Google has indexed

Le bucket « Exclues » est criminellement sous-utilisé. La plupart des gens l'ignorent. Moi, j'y vais directement. Filtre par « Crawlée — actuellement non indexée ». C'est Google qui dit : j'ai trouvé cette page, je l'ai lue, et j'ai décidé qu'elle ne valait pas la peine d'être indexée. C'est presque toujours un problème de contenu mince. Ou c'est une page qui est genuinely fine mais trop similaire à une autre page — un problème classique avec la navigation à facettes ou les archives de tags.I found this page, I read it, and I decided it wasn't worth indexing. That's almost always a thin content problem. Or it's a page that's genuinely fine but is too similar to another page — a classic issue with faceted navigation or tag archives.

Mettre en correspondance les exclusions GSC avec ton crawl Screaming Frog

Exporte ton crawl Screaming Frog en CSV. Exporte les URLs « Exclues » de Search Console. Charge les deux dans Google Sheets et exécute une VLOOKUP. Toute URL qui apparaît dans le crawl Screaming Frog et dans la liste GSC exclue est une investigation prioritaire.and in the GSC excluded list is a priority investigation.

Je sais que les gens se tournent vers des scripts Python pour ça. Vous n'en avez pas besoin. VLOOKUP dans Sheets prend quatre minutes et vous donne la même réponse.

---

Budget de crawl : Ne pose problème que si votre site est vraiment volumineux

D'accord, soyons honnêtes. Si votre site a moins de 1 000 pages, le budget de crawl n'est pas votre problème. Vous pouvez arrêter de vous en préoccuper.

Mais une fois que vous dépassez environ 10 000 URLs — et beaucoup de sites WooCommerce ou Magento atteignent ce chiffre rien que par les variantes de produits et les URLs filtrées — le budget de crawl commence à poser problème. La documentation de Google Search Central sur le budget de crawl est en réalité l'une des choses les plus claires qu'ils aient écrites. Ça vaut le coup de la lire correctement.Google Search Central documentation on crawl budget is actually one of the clearer things they've written. Worth reading properly.

Les deux leviers que vous avez dans Search Console sont le rapport Crawl Stats et l'outil URL Inspection. Crawl Stats vous montre l'activité de crawl de Google sur 90 jours : pages crawlées par jour, temps de réponse, codes de réponse. Si vous voyez un pic de 404 à une date spécifique, c'est un déploiement qui a mal tourné. Si le temps de crawl moyen est supérieur à 2 secondes, c'est votre serveur qui pose problème, pas votre SEO.Crawl Stats report and the URL Inspection tool. Crawl Stats shows you Google's crawl activity over 90 days: pages crawled per day, response times, response codes. If you see a spike in 404s on a specific date, that's a deployment that went wrong. If average crawl time is above 2 seconds, your server is the problem, not your SEO.

---

Linking interne : Ce que les agences oublient toujours

J'ai audité bien plus d'une centaine de sites chez Seahawk où le client dépensait de vrais budgets en link building — articles invités, digital PR, tout ça — et avait des pages orphelines vers lesquelles aucun lien interne ne pointait. Google ne peut pas prioriser ce qu'il ne peut pas trouver à travers votre structure de site.orphaned pages that no internal link pointed to. Google can't prioritise what it can't find through your site structure.

Dans Screaming Frog, filtrez le crawl par Inlinks = 0. Toute page avec zéro lien interne est orpheline. Croisez-la avec les pages indexées de Search Console. Si la page est indexée mais n'a aucun lien interne, c'est que Google l'a trouvée via un sitemap XML ou un backlink externe. C'est fragile. Donnez-lui un lien interne depuis une page pertinente et vous donnez à Google un signal structurel que cette page compte.Inlinks = 0. Any page with zero internal links is an orphan. Cross-reference it against Search Console's indexed pages. If the page is indexed but has no internal links, it means Google found it through an XML sitemap or an external backlink. That's fragile. Give it an internal link from a relevant page and you're giving Google a structural signal that this page matters.

Quelques points sur lesquels je veille concernant les liens internes

  • Les pages de pagination qui renvoient vers des pages produit/article, mais ces pages ne renvoient pas vers les pages catégories
  • Les articles de blog publiés en 2019 qui n'ont jamais été liés à partir de contenu plus récent
  • Les pages qui ont des dizaines de liens internes entrants mais un trafic très faible dans GSC — souvent un signe que la page elle-même pose problème, pas les liens

---

Core Web Vitals : Lire les données, ne pas paniquer

Search Console propose un rapport Core Web Vitals. Il s'appuie sur les données du Chrome UX Report, qui sont des données de terrain — de vrais utilisateurs sur de vrais appareils, pas une simulation en laboratoire. C'est plus significatif que ce que vous obtiendriez d'un seul test Lighthouse.Core Web Vitals report. It pulls from real-user Chrome UX Report data, which is field data — actual users on actual devices, not a lab simulation. This is more meaningful than what you'd get from a one-off Lighthouse run.

Le rapport classe les URLs en « Bon », « À améliorer » et « Mauvais » selon le LCP, FID (désormais remplacé par INP) et CLS. N'essayez pas de tout corriger à la fois. Triez par le groupe « Mauvais » et regardez quel modèle d'URL a le plus de pages défaillantes. C'est généralement un seul template — toutes les pages produit échouent sur CLS, ou toutes les pages catégories ont un LCP lent. Corrigez le template, corrigez des centaines de pages à la fois.

Une chose que j'ai apprise à la dure : les problèmes de CLS sur les sites avec des publicités ou des bannières de consentement proviennent presque toujours d'éléments qui s'injectent au-dessus de la ligne de flottaison après le rendu initial. Screaming Frog ne détectera pas cela. Vous devez regarder la page réelle. Utilisez Chrome DevTools avec les régions de Layout Shift activées dans Rendering.

---

La Vérification Robots.txt et du Sitemap (10 Minutes, Vous Économisez des Semaines)

Allez sur yourdomain.com/robots.txt. Lisez chaque ligne. J'ai vu de mes propres yeux un site de production en direct avec Disallow: / dans le robots.txt. Pas un site de staging. Production. Une entreprise vieille de sept ans. Leur développeur avait copié le robots.txt de staging lors d'une migration et ne l'avait jamais vérifié. Ils avaient été essentiellement invisibles pour Google pendant quatre mois avant de s'en apercevoir.yourdomain.com/robots.txt . Read every line. I have seen, with my own eyes, a live production site with Disallow: / in the robots.txt. Not a staging site. Production. A seven-year-old business. Their developer had copied the staging robots.txt during a migration and never checked it. They had been essentially invisible to Google for four months before they noticed.

Dans Search Console, allez à Sitemaps. Vérifiez ce qui a été soumis. Vérifiez la dernière fois que Google l'a récupéré. Si le sitemap n'a pas été récupéré depuis plus d'une semaine, quelque chose ne fonctionne pas. Vérifiez aussi le nombre d'URL soumises par rapport au nombre d'URL indexées — si vous avez soumis 4 000 URL et que seulement 1 200 sont indexées, c'est une conversation que vous devez avoir sur la qualité du contenu, pas sur des corrections techniques.Sitemaps. Check what's been submitted. Check the last time Google fetched it. If the sitemap hasn't been fetched in over a week, something is broken. Also check the submitted URL count vs the indexed URL count — if you've submitted 4,000 URLs and only 1,200 are indexed, that's a conversation you need to have about content quality, not about technical fixes.

---

FAQ

Ai-je besoin de la version payante de Screaming Frog ?

La version gratuite est limitée à 500 URL. Pour tout ce qui dépasse cela — ce qui concerne la plupart des sites qui méritent un audit — vous avez besoin de la licence payante. C'est £259 par an au moment de la rédaction. C'est à peu près le prix d'une seule heure de travail d'une agence. Achetez-la.£259 per year as of writing. That's about the price of a single hour of agency time. Buy it.

À quelle fréquence dois-je exécuter un audit technique ?

Pour les sites actifs qui publient régulièrement ou qui changent fréquemment de produits, je dirais trimestriellement. Pour les sites plus petits et plus statiques, deux fois par an, c'est bien. Exécuter un audit une fois et le considérer comme « terminé », c'est comme changer l'huile d'une voiture une fois et s'attendre à ce qu'elle fonctionne éternellement.

Screaming Frog affiche le statut 200 mais GSC indique que la page n'est pas indexée — pourquoi ?

Presque toujours l'une de trois choses : une balise meta noindex, un en-tête HTTP noindex, ou une balise canonical pointant ailleurs. Passez l'URL par l'outil Inspection des URL de Search Console et il vous dira exactement ce qu'il a trouvé. Cet outil est sous-estimé — il vous montre la dernière version de la page crawlée par Google, incluant le HTML rendu, ce qui attrape les balises noindex injectées par JavaScript qu'une simple requête HTTP ne verrait pas.last crawled version of the page, including the rendered HTML, which catches JavaScript-injected noindex tags that a basic HTTP request wouldn't see.

Et pour les sites rendus en JavaScript ?

Screaming Frog dispose d'un mode de rendu JavaScript sous Configuration > Spider > Rendering. Activez-le pour les sites lourds en JS. C'est plus lent — significativement plus lent — mais c'est le seul moyen d'attraper les problèmes de contenu ou de liens injectés par JavaScript après le chargement du HTML initial. Pour un site React ou Next.js, crawlez toujours en mode rendu JS.Configuration > Spider > Rendering. Turn it on for JS-heavy sites. It's slower — significantly slower — but it's the only way to catch issues with content or links that are injected by JavaScript after the initial HTML loads. For a React or Next.js site, always crawl in JS rendering mode.

Google Search Console suffit-il pour la recherche de mots-clés ?

Pour découvrir les requêtes pour lesquelles vos pages existantes se classent, oui, c'est excellent. Pour trouver de nouvelles opportunités de mots-clés, non — vous aurez besoin d'autre chose. Mais c'est en dehors du périmètre d'un audit technique.existing pages rank for, yes, it's excellent. For discovering new keyword opportunities, no — you'll need something else. But that's out of scope for a technical audit.

---

Deux outils. Une feuille de calcul. Quelques heures. C'est vraiment tout ce qu'il faut. Les plateformes coûteuses ont leur place — je ne suis pas contre — mais j'ai vu trop de propriétaires de sites supposer que payer plus signifie trouver plus. Les problèmes sont presque toujours dans les bases. Il suffit que quelqu'un les regarde réellement.

< BACK