seo-audit

Par mkurman · zorai

Lorsque l'utilisateur souhaite auditer, examiner ou diagnostiquer des problèmes SEO sur son site. À utiliser également lorsque l'utilisateur mentionne « audit SEO », « SEO technique », « pourquoi je ne me positionne pas », « problèmes SEO », « SEO on-page », « revue des meta tags », « bilan de santé SEO », « mon trafic a chuté », « perte de positionnement », « n'apparaît pas sur Google », « le site ne se positionne pas », « une mise à jour Google m'a impacté », « vitesse de page », « core web vitals », « erreurs de crawl » ou « problèmes d'indexation ». À utiliser même si l'utilisateur dit quelque chose de vague comme « mon SEO est mauvais » ou « aide avec le SEO » — commencer par un audit. Pour la création de pages à grande échelle ciblant des mots-clés, voir programmatic-seo. Pour l'ajout de données structurées, voir schema-markup. Pour l'optimisation pour la recherche IA, voir ai-seo.

npx skills add https://github.com/mkurman/zorai --skill seo-audit

Audit technique SEO

Crawlabilité

Robots.txt

  • Vérifier les blocages involontaires
  • Vérifier que les pages importantes sont autorisées
  • Vérifier la référence au sitemap

Sitemap XML

  • Existe et accessible
  • Soumis à Search Console
  • Contient uniquement des URLs canoniques et indexables
  • Mis à jour régulièrement
  • Format correct

Architecture du site

  • Pages importantes accessibles en 3 clics maximum depuis la page d'accueil
  • Hiérarchie logique
  • Structure de liaisons internes
  • Pas de pages orphelines

Problèmes de budget de crawl (pour les grands sites)

  • URLs paramétrées sous contrôle
  • Navigation à facettes gérée correctement
  • Scroll infini avec pagination de secours
  • Pas d'IDs de session dans les URLs

Indexation

État de l'index

  • Vérification site:domain.com
  • Rapport de couverture dans Search Console
  • Comparaison entre URLs indexées et attendues

Problèmes d'indexation

  • Balises noindex sur des pages importantes
  • Canoniques pointant dans la mauvaise direction
  • Chaînes de redirections/boucles
  • Soft 404s
  • Contenu en double sans canoniques

Canonicalisation

  • Toutes les pages ont des balises canonical
  • Canoniques auto-référencées sur les pages uniques
  • Canoniques HTTP → HTTPS
  • Cohérence www vs. non-www
  • Cohérence des slashes de fin

Vitesse du site et Core Web Vitals

Core Web Vitals

  • LCP (Largest Contentful Paint) : < 2,5 s
  • INP (Interaction to Next Paint) : < 200 ms
  • CLS (Cumulative Layout Shift) : < 0,1

Facteurs de vitesse

  • Temps de réponse du serveur (TTFB)
  • Optimisation des images
  • Exécution JavaScript
  • Livraison CSS
  • En-têtes de cache
  • Utilisation d'un CDN
  • Chargement des polices

Outils

  • PageSpeed Insights
  • WebPageTest
  • Chrome DevTools
  • Rapport Core Web Vitals de Search Console

Compatibilité mobile

  • Design responsive (pas de site m. séparé)
  • Tailles des zones tactiles
  • Viewport configuré
  • Pas de scroll horizontal
  • Même contenu que sur desktop
  • Préparation à l'indexation mobile-first

Sécurité et HTTPS

  • HTTPS sur l'ensemble du site
  • Certificat SSL valide
  • Pas de contenu mixte
  • Redirections HTTP → HTTPS
  • En-tête HSTS (bonus)

Structure des URLs

  • URLs lisibles et descriptives
  • Mots-clés dans les URLs si naturel
  • Structure cohérente
  • Pas de paramètres inutiles
  • Minuscules et séparées par des traits d'union

SEO international et localisation

À vérifier quand le site propose plusieurs langues ou régions. Les mauvaises configurations peuvent supprimer l'indexation de variantes régionales entières ou affecter les signaux de qualité du site. Voir Référence SEO international pour les preuves et URLs sources.

Hreflang

Trois méthodes de placement équivalentes : balise HTML <link> dans <head>, en-têtes HTTP Link, sitemap XML <xhtml:link>. En cas d'utilisation multiple, elles doivent être cohérentes -- les signaux conflictuels font ignorer cette paire par Google. Pour 10+ locales, préférer le sitemap (pas de surcharge de page, pas de coût par requête).

À vérifier :

  • Entrée auto-référencée sur chaque page (la page doit s'inclure dans l'ensemble hreflang)
  • Liens réciproques (si A pointe vers B, B doit pointer vers A -- sinon les deux sont ignorés)
  • Codes valides : langue ISO 639-1 + région ISO 3166-1 Alpha 2 optionnelle (ex. en, en-GB -- jamais en-UK)
  • x-default présent, pointant vers la page de secours (sélecteur de langue ou locale par défaut)
  • Toutes les URLs cibles retournent 200, sont indexables et correspondent à leur URL canonical
  • Pas de codes langue-région en doublon pointant vers des URLs différentes

Erreurs courantes : Entrée auto-référencée manquante (tous les hreflang ignorés). Pas de balise de retour / unidirectionnels (paire supprimée). Codes invalides comme en-UK (utiliser en-GB). Cible hreflang non-canonical, 404 ou bloquée (cluster abandonné). Annotations HTML et sitemap divergentes (paire conflictuelle supprimée).

À grande échelle : Les enfants <xhtml:link> ne comptent pas dans la limite de 50K URLs du sitemap, mais la limite de taille 50 Mo devient le goulot (prévoir 2K-5K URLs par fichier avec hreflang complet). Concentrer hreflang sur les pages recevant du trafic mauvaise langue -- pas obligatoire sur chaque page. Pour Bing : complémenter avec <html lang> et <meta http-equiv="content-language"> (Bing traite hreflang comme un signal faible).

Canonicalisation pour sites multilingues

  • Chaque page de locale doit s'auto-canonicaliser (ex. /ar/page canonical vers /ar/page)
  • Ne jamais canonicaliser entre locales (français vers anglais) -- supprime complètement la locale non-canonical
  • L'URL canonical doit apparaître dans l'ensemble hreflang -- sinon, tous les hreflang sont ignorés
  • Canonical surcharge hreflang en cas de conflit
  • Protocole/domaine doit être cohérent entre canonical, hreflang et sitemap (https + même variante de domaine)
  • Pages paginées de locale : canonical auto-référencé par page (jamais canonical page 2+ vers page 1)

Erreurs courantes : Tous les locales canonical vers anglais (tue l'indexation), URL canonical absente de l'ensemble hreflang (silencieusement ignorée), protocole différent entre canonical et hreflang, CMS settant canonical de page profonde vers homepage.

Sitemaps internationaux

À vérifier :

  • Espace de noms xmlns:xhtml sur <urlset>, chaque <url> inclut <xhtml:link> pour toutes les locales y compris elle-même
  • Alternate x-default inclus ; toutes les URLs absolues (protocole + domaine complet)
  • Index du sitemap dans Search Console et robots.txt ; partitionné par type de contenu, pas par locale

Caveat Next.js : alternates.languages n'inclut PAS automatiquement un <xhtml:link> auto-référencé pour l'URL <loc> -- vous devez ajouter la locale courante explicitement.

Structure des URLs locales

Recommandé : Sous-répertoires (/en/, /ar/). Acceptable : Sous-domaines ou ccTLDs. Non recommandé : Paramètres d'URL (?lang=en).

À vérifier :

  • Stratégie de préfixe locale cohérente ; toutes les locales préfixées (cacher la locale des URLs empêche Google de distinguer les versions)
  • URL racine gérée comme x-default avec redirection, ou servant contenu locale par défaut
  • Pas de négociation de contenu IP/Accept-Language (Googlebot : IPs US, pas d'en-tête Accept-Language)
  • Cohérence slash final + casse sur les chemins locale, canoniques, hreflang et sitemaps
  • Redirections 301 du format non-canonical vers canonical

Note : Le rapport Ciblage international de Google dans Search Console est dépublié. Le géociblage repose sur hreflang, signaux de contenu et patterns de liaison.

Qualité du contenu selon les locales

Qualité traduction :

  • Le contenu traduit par IA n'est pas spam par défaut (stance Google 2025), mais les traductions en masse de faible valeur peuvent déclencher la politique d'abus de contenu à grande échelle
  • Google utilise le contenu visible pour déterminer la langue -- traduire TOUT le contenu de page (titre, description, titres, corps), pas juste boilerplate
  • Traduire seulement template/nav pendant que le contenu principal reste dans la langue originale crée des doublons

Pages locales minces :

  • Le système de contenu utile s'évalue au niveau du site -- beaucoup de pages locales minces peuvent supprimer les classements des pages fortes aussi
  • Ne pas noindex les locales minces (gaspille budget crawl) ou canonical cross-locale (conflite avec hreflang)
  • Meilleure approche : ne pas créer de pages locale qu'on ne peut pas rendre genuinely utiles

À vérifier :

  • Toutes les pages locale ont contenu principal entièrement traduit (pas juste chrome UI)
  • Pas de contenu quasi-identique entre locales ("Duplicate, Google chose different canonical" dans GSC)
  • Hreflang uniquement pour locales avec contenu genuinely utile et demande de recherche
  • Signaux localisés : devise, format téléphone, adresses le cas échéant
  • Liens hreflang cassés (404s, redirects) gaspillent budget crawl ET invalident les clusters hreflang

Audit SEO on-page

Balises de titre

À vérifier :

  • Titres uniques pour chaque page
  • Mot-clé primaire près du début
  • 50-60 caractères (visibles dans SERP)
  • Attrayant et incitatif
  • Placement de la marque (fin, généralement)

Problèmes courants :

  • Titres en doublon
  • Trop longs (tronqués)
  • Trop courts (opportunité gaspillée)
  • Stuffing de mots-clés
  • Manquants entièrement

Meta-descriptions

À vérifier :

  • Descriptions uniques par page
  • 150-160 caractères
  • Inclut le mot-clé primaire
  • Proposition de valeur claire
  • Appel à l'action

Problèmes courants :

  • Descriptions en doublon
  • Générées automatiquement sans valeur
  • Trop long/court
  • Pas de raison convaincante de cliquer

Structure des titres

À vérifier :

  • Un H1 par page
  • H1 contient le mot-clé primaire
  • Hiérarchie logique (H1 → H2 → H3)
  • Les titres décrivent le contenu
  • Pas juste pour le style

Problèmes courants :

  • Multiples H1s
  • Niveaux sautés (H1 → H3)
  • Titres utilisés pour le style seulement
  • Pas de H1 sur la page

Optimisation du contenu

Contenu principal de la page

  • Mot-clé dans les 100 premiers mots
  • Mots-clés connexes utilisés naturellement
  • Profondeur/longueur suffisante pour le sujet
  • Répond à l'intention de recherche
  • Meilleur que les concurrents

Problèmes de contenu mince

  • Pages avec peu de contenu unique
  • Pages tag/category sans valeur
  • Pages doorway
  • Contenu en double ou quasi-duplicate

Optimisation des images

À vérifier :

  • Noms de fichiers descriptifs
  • Texte alt sur toutes les images
  • Texte alt décrivant l'image
  • Tailles de fichier compressées
  • Formats modernes (WebP)
  • Lazy loading implémenté
  • Images responsives

Liaisons internes

À vérifier :

  • Pages importantes bien liées
  • Texte d'ancre descriptif
  • Relations de liens logiques
  • Pas de liaisons internes cassées
  • Nombre de liens raisonnable par page

Problèmes courants :

  • Pages orphelines (pas de liaisons internes)
  • Texte d'ancre sur-optimisé
  • Pages importantes enterrées
  • Liens excessifs footer/sidebar

Ciblage de mots-clés

Par page

  • Cible de mot-clé primaire claire
  • Titre, H1, URL alignés
  • Contenu satisfait l'intention de recherche
  • Ne pas entrer en concurrence avec d'autres pages (cannibalisation)

Au niveau du site

  • Document de mapping mots-clés
  • Pas de grandes lacunes de couverture
  • Pas de cannibalisation de mots-clés
  • Clusters thématiques logiques

Évaluation de la qualité du contenu

Signaux E-E-A-T

Expérience

  • Expérience firsthand démontrée
  • Insights/données originaux
  • Vrais exemples et études de cas

Expertise

  • Références d'auteur visibles
  • Information précise et détaillée
  • Réclamations correctement sourcées

Autoritarianisme

  • Reconnu dans le domaine
  • Cité par d'autres
  • Références de l'industrie

Confiance

  • Information précise
  • Transparent sur l'activité
  • Informations de contact disponibles
  • Politique de confidentialité, conditions
  • Site sécurisé (HTTPS)

Profondeur du contenu

  • Couverture complète du sujet
  • Répond aux questions de suivi
  • Meilleur que les concurrents top-ranking
  • À jour et actuel

Signaux d'engagement utilisateur

  • Temps sur page
  • Taux de rebond en contexte
  • Pages par session
  • Visites répétées

Problèmes courants par type de site

Sites SaaS/Produits

  • Pages produit manquent profondeur
  • Blog non intégré aux pages produit
  • Pages de comparaison/alternatives manquantes
  • Pages de features minces
  • Pas de glossaire/contenu éducatif

E-commerce

  • Pages catégories minces
  • Descriptions produit en doublon
  • Schéma produit manquant
  • Navigation à facettes créant des doublons
  • Pages rupture mal gérées

Sites Contenu/Blog

  • Contenu vieilli non rafraîchi
  • Cannibalisation de mots-clés
  • Pas de clustering thématique
  • Liaisons internes pauvres
  • Pages auteur manquantes

Sites multilingues / multi-régionaux

  • Erreurs hreflang (balises retour manquantes, codes invalides, pas d'auto-référence)
  • Canonical conflictant avec hreflang (canonical cross-locale supprime l'indexation)
  • Pages locales minces affectant le signal de qualité site-wide
  • Seul boilerplate traduit, contenu principal identique entre locales
  • Pas de fallback x-default déclaré
  • Sitemap manquant alternates hreflang ou entrées réciproques manquantes
  • Redirections IP cachant contenu à Googlebot
  • Mode locale du framework cachant locale des URLs

Commerce local

  • NAP incohérente
  • Schéma local manquant
  • Pas d'optimisation Google Business Profile
  • Pages localisation manquantes
  • Pas de contenu local

Format de sortie

Structure du rapport d'audit

Résumé exécutif

  • Évaluation santé globale
  • 3-5 problèmes prioritaires
  • Quick wins identifiés

Résultats SEO technique Pour chaque problème :

  • Problème : Ce qui ne va pas
  • Impact : Impact SEO (High/Medium/Low)
  • Preuve : Comment vous l'avez trouvé
  • Correction : Recommandation spécifique
  • Priorité : 1-5 ou High/Medium/Low

Résultats SEO on-page Même format que ci-dessus

Résultats contenu Même format que ci-dessus

Plan d'action priorisé

  1. Corrections critiques (bloquant indexation/ranking)
  2. Améliorations à haut impact
  3. Quick wins (faciles, bénéfice immédiat)
  4. Recommandations long-terme

Références

  • Détection d'écriture IA : Patterns d'écriture IA courants à éviter (em-dashes, phrases surutilisées, mots de remplissage)
  • SEO international : Preuves et sources pour hreflang, canonical + i18n, sitemaps, structure d'URL et qualité contenu entre locales
  • Pour optimisation SEO IA (AEO, GEO, LLMO, AI Overviews), voir la skill ai-seo

Outils référencés

Outils gratuits

  • Google Search Console (essentiel)
  • Google PageSpeed Insights
  • Bing Webmaster Tools
  • Rich Results Test (utilisez ceci pour validation de schéma -- il rend JavaScript)
  • Mobile-Friendly Test
  • Schema Validator

Note sur détection schéma : web_fetch supprime les balises <script> (incluant JSON-LD) et ne peut pas détecter le schéma injecté JS. Utiliser l'outil navigateur, Rich Results Test ou Screaming Frog -- ils rendent JavaScript et capturent le markup dynamiquement injecté. Voir la section Schema Markup Detection Limitation ci-dessus.

Outils payants (si disponibles)

  • Screaming Frog
  • Ahrefs / Semrush
  • Sitebulb
  • ContentKing

Questions spécifiques à la tâche

  1. Quelles pages/mots-clés comptent le plus ?
  2. Avez-vous accès à Search Console ?
  3. Changements ou migrations récents ?
  4. Qui sont vos top concurrents organiques ?
  5. Quel est votre baseline de trafic organique actuel ?

Skills connexes

  • ai-seo : Pour optimisation contenu pour moteurs recherche IA (AEO, GEO, LLMO)
  • programmatic-seo : Pour construire pages SEO à grande échelle
  • site-architecture : Pour hiérarchie pages, design navigation, structure URLs
  • schema-markup : Pour implémentation données structurées
  • page-cro : Pour optimisation pages conversion (pas juste ranking)
  • analytics-tracking : Pour mesurer performance SEO

Skills similaires