Règles d'audit
La liste complète des 201 règles de l'audit du site. Pour chacune : ce qu'elle signifie et comment la corriger.
L'audit du site examine chaque page et l'ensemble du site avec 201 règles : 13 critiques, 92 avertissements et 96 informations. C'est le nombre d'identifiants de règle dans la liste de l'application, et chacun figure dans les tableaux ci-dessous. Les règles se répartissent en trois groupes. Critique (13 règles) : Google ne peut pas voir ou comprendre la page ; corrigez ces problèmes en premier. Avertissement (92 règles) : ces problèmes peuvent réduire progressivement le classement et les clics. Information (96 règles) : de petites pistes d'amélioration. Dans le score, une règle critique a un poids de 40, un avertissement de 15 et une information de 3. Le nombre de pages touchées compte également.
Dans le tableau, vous voyez le nom de chaque règle tel qu'il apparaît à l'écran, ce qu'elle signifie et la première étape de la correction. Le texte complet de la correction se trouve dans la carte du constat, à l'écran. La dernière colonne est l'identifiant de la règle, que vous voyez dans le fichier CSV et dans les réponses de l'assistant.
Termes fréquents
- canonical : la façon de dire à Google « voici l'adresse principale ».
- noindex : la balise qui cache la page de la recherche.
- hreflang : la balise de version linguistique. Elle indique les équivalents de la page dans d'autres langues.
- méta-description : le résumé gris sous le titre dans un résultat de recherche.
- données structurées (JSON-LD) : une note cachée qui dit à Google ce qu'est la page (produit, article, par exemple). Elle peut faire apparaître dans la recherche des éléments en plus, comme des étoiles ou une image (résultat enrichi).
- robots.txt : le fichier qui dit à Google à quelles pages il peut accéder. La ligne « Disallow » est la ligne qui pose une interdiction.
- plan du site (sitemap) : la liste des pages de votre site. lastmod : la date de dernière modification de la page.
- redirection : envoyer vers une autre adresse ceux qui arrivent à une adresse.
- agent utilisateur (user agent) : le nom sous lequel un navigateur ou un robot se présente.
- title (balise de titre) : le titre qui apparaît dans l'onglet et dans la recherche. H1 : le titre principal de la page. texte alternatif (alt) : un court texte qui décrit ce que montre l'image.
- nofollow : la balise qui dit « ne suis pas ce lien ». head : la partie haute du code source de la page.
- LCP : le temps d'affichage du contenu principal de la page. CLS : le décalage du contenu pendant le chargement. INP : le temps de réponse à un clic.
- Lighthouse : l'outil de mesure des pages de Google. Certificat SSL : le document qui fait de votre site un site en https (adresse sécurisée).
Kritik (Critique)
| Règle | Ce que cela signifie | Comment corriger | Identifiant |
|---|---|---|---|
| Le robot d'exploration a été bloqué | La protection anti-bots de votre site a arrêté l'explorateur. Google peut être bloqué aussi. | Dans le pare-feu, autorisez l'agent utilisateur « seotracker-audit ». | blocked-page |
| Erreur de serveur (5xx) | La page renvoie une erreur de serveur. Google retire de la recherche les pages de ce genre. | Trouvez l'erreur de cette adresse dans les journaux du serveur et corrigez-la. | server-error |
| Le fichier robots.txt renvoie une erreur de serveur | Si Google ne peut pas lire le fichier, il peut renoncer complètement à explorer le site. | Corrigez l'erreur. Vérifiez que l'adresse de robots.txt s'ouvre normalement. | robots-txt-server-error |
| L'adresse de départ est bloquée par robots.txt | L'adresse par laquelle l'exploration commence est interdite dans robots.txt. | Si elle doit être explorée, supprimez la ligne « Disallow » correspondante. | robots-txt-blocks-start-url |
| Une page du plan du site ne s'ouvre pas | Une page que vous signalez à Google comme existante renvoie une erreur. | Si la page doit exister, corrigez l'erreur. Sinon, retirez-la du plan du site. | sitemap-broken-page |
| Un fichier dont la page a besoin est bloqué par robots.txt | Google ne peut pas accéder au fichier de style ou de code nécessaire pour afficher la page. | Dans robots.txt, supprimez la règle qui couvre ces fichiers. | blocked-resource |
| Ressource non sécurisée sur une page sécurisée | Une page sécurisée (https) charge un fichier depuis une adresse non sécurisée (http). Les navigateurs le bloquent. | Changez l'adresse du fichier pour qu'elle commence par https. | mixed-content-resource |
| Une page cachée est indiquée comme adresse principale | La page indiquée comme adresse principale est cachée de la recherche. Les deux s'annulent. | Retirez le noindex de la page cible, ou faites de l'adresse principale l'adresse de la page même. | canonical-to-noindex |
| Google considère la page comme vide (soft 404) | Google considère que la page « n'existe pas » et ne la prend pas dans la recherche. | Si la page n'existe vraiment pas, renvoyez un code d'erreur 404 ou 410. Si elle existe, mettez du vrai contenu. | google-soft-404 |
| Google ne peut pas explorer la page à cause de robots.txt | La réponse de Google : robots.txt bloque. | Trouvez dans robots.txt la ligne « Disallow » qui couvre cette adresse et supprimez-la. | google-blocked-by-robots |
| robots.txt ferme tout le site à Google | robots.txt interdit à Google d'explorer la page d'accueil (souvent une ligne « Disallow: / »). Google n'explore pas le site. | Supprimez la ligne « Disallow: / » ou limitez-la aux dossiers qui doivent rester cachés. | robots-disallow-all |
| L'adresse http ne redirige pas vers https | L'adresse http du site s'ouvre sans passer à la version sécurisée. Les navigateurs affichent « Non sécurisé ». | Activez « Forcer HTTPS » dans votre panneau d'hébergement ou ajoutez une redirection permanente (301). | no-https-redirect |
| Le certificat SSL est sur le point d'expirer | Le certificat expire dans moins de 14 jours. Ensuite, les navigateurs ouvrent le site derrière un avertissement plein écran. | Renouvelez le certificat tout de suite. Si le renouvellement est automatique, cherchez pourquoi il n'a pas eu lieu. | ssl-expiring-very-soon |
Uyarı (Avertissement)
| Règle | Ce que cela signifie | Comment corriger | Identifiant |
|---|---|---|---|
| Bloqué par la limite de requêtes (429) | Le site a dit à l'explorateur « trop de requêtes ». | Relevez la limite de requêtes sur le serveur, ou laissez « seotracker-audit » hors de la limite. | rate-limited-page |
| Exploration arrêtée tôt : limite de requêtes | L'exploration s'est arrêtée quand l'attente a dépassé 30 minutes. | Relancez l'audit quand la limite de requêtes du site est réinitialisée. | crawl-rate-limited |
| Lien interne cassé | Un lien de votre site mène à une page qui ne s'ouvre pas. | Dirigez le lien vers la bonne adresse, ou supprimez-le. | broken-internal-link |
| La page renvoie une erreur à l'ouverture (4xx) | La page renvoie une erreur de type « introuvable ». | Si la page doit exister, republiez-la. Sinon, supprimez les liens qui y mènent. | broken-page |
| Chaîne de redirections | L'adresse est redirigée plusieurs fois avant d'arriver à la page finale. | Redirigez la première adresse, et ceux qui la lient, directement vers la page finale. | redirect-chain |
| Boucle de redirections | L'adresse se redirige vers elle-même ou en cercle. | Suivez les règles de redirection et cassez la boucle. | redirect-loop |
| Page qui ne reçoit de lien d'aucune page | La page n'existe que dans le plan du site. Google ne lui accorde pas de valeur. | Faites un lien depuis le menu, depuis des articles liés ou depuis la page de catégorie. | orphan-page |
| robots.txt inaccessible | Le fichier n'a jamais répondu. | Ouvrez l'adresse de robots.txt dans le navigateur et vérifiez qu'elle répond. | robots-txt-unreachable |
| robots.txt dépasse la limite de 500 Ko | Google ne lit pas la fin du fichier. | Raccourcissez le fichier. | robots-txt-truncated |
| Une page du plan du site redirige | Le plan contient une adresse qui redirige vers une autre. | Écrivez dans le plan l'adresse finale vers laquelle elle redirige. | sitemap-redirect-page |
| L'adresse du plan du site est bloquée par robots.txt | Le plan dit « viens », robots.txt dit « ne viens pas ». | Si elle doit apparaître dans la recherche, levez le blocage. Sinon, retirez-la du plan. | sitemap-disallowed-page |
| Le fichier du plan du site est trop gros pour être lu | Le fichier dépasse la limite de 10 Mo. | Découpez le plan en plusieurs parties. | sitemap-too-large |
| Le plan du site contient plus de 50 000 adresses | Google accepte au plus 50 000 adresses par fichier. | Découpez le fichier en parties de moins de 50 000. Reliez les parties par un fichier de plan principal. | sitemap-too-many-urls |
| Le plan du site contient un lastmod daté du futur | La date est postérieure à aujourd'hui. Google cesse de se fier aux dates. | Vérifiez l'endroit qui produit les dates. | sitemap-lastmod-future |
| La page s'ouvre en http, non sécurisé | La page n'est pas sécurisée (https). | Demandez à votre hébergeur d'activer le certificat SSL gratuit. | not-https |
| Pas de balise de titre | La page n'a pas de balise de titre (title). | Ajoutez un titre propre à la page, qui dit de quoi elle parle. Visez 50 à 60 caractères. | missing-title |
| Pas de méta-description | Le résumé gris du résultat de recherche est absent. | Écrivez une description qui résume la page et donne envie de cliquer. | missing-meta-description |
| Images sans texte alternatif | Ce que montrent les images n'est pas écrit. | Écrivez un court texte alternatif pour chaque image qui a un sens. | images-missing-alt |
| Plusieurs balises de titre (title) dans la page | Il y a deux balises de titre. Google en choisit une au hasard. | Cherchez « title » dans le code source de la page et n'en gardez qu'une. | multiple-titles |
| Plusieurs méta-descriptions différentes dans la page | Il y a deux descriptions. | Cherchez name="description" dans le code source de la page et n'en gardez qu'une. | multiple-meta-descriptions |
| La balise de titre est un texte provisoire | Le titre est du genre « Accueil » ou « Untitled ». | Écrivez votre propre titre, qui dit de quoi parle la page. | placeholder-title |
| Titre dupliqué | Plusieurs pages utilisent le même titre. | Écrivez pour chaque page un titre distinct qui décrit son propre contenu. | duplicate-title |
| Titre principal (H1) dupliqué | Plusieurs pages ont le même titre principal. | Écrivez le H1 de chaque page séparément. | duplicate-h1 |
| Méta-description dupliquée | Plusieurs pages utilisent la même description. | Écrivez pour chaque page sa propre description, ou supprimez celle qui se répète. | duplicate-meta-description |
| Contenu de page dupliqué | Deux pages portent le même texte. | Choisissez la page principale. Reliez l'autre à elle avec un canonical. | duplicate-content |
| Les déclarations d'adresse principale se contredisent | Le HTML et la réponse du serveur indiquent des adresses principales différentes. | Choisissez une seule adresse principale et ne l'indiquez qu'à un seul endroit. | canonical-conflict |
| La page indiquée comme adresse principale ne s'ouvre pas | La page indiquée comme adresse principale renvoie une erreur. | Dirigez l'adresse principale vers une page qui fonctionne, ou republiez la cible. | canonical-to-broken |
| Une page qui redirige est indiquée comme adresse principale | L'adresse principale est une adresse qui redirige vers une autre page. | Faites de la page finale vers laquelle elle redirige l'adresse principale. | canonical-to-redirect |
| Google voit une balise qui cache la page (noindex) | La réponse de Google : il a vu un noindex dans la page. | Comparez le code source de la page avec ce que voit Google. Un plugin ou un modèle ajoute peut-être la balise. | google-blocked-by-meta |
| Google a choisi une autre adresse comme adresse principale | Google n'a pas retenu votre adresse principale. | Regardez l'adresse choisie par Google. Faites-en l'adresse principale, ou distinguez les deux pages. | google-chose-different-canonical |
| Code de version linguistique (hreflang) invalide | Un code qui n'existe pas, comme « en-UK », a été écrit. | Écrivez le bon code. Pour le Royaume-Uni, « en-GB ». | hreflang-invalid-code |
| Entre les versions linguistiques, la page ne se liste pas elle-même (hreflang) | La page liste les autres langues mais pas elle-même. | Ajoutez à la liste l'adresse de la page elle-même, avec son propre code de langue. | hreflang-missing-self |
| La page désactive ses liens avec une directive robots | La page a désactivé le suivi de ses liens (nofollow). | Si vous voulez que ses liens soient suivis, supprimez le texte « nofollow ». | nofollow-page |
| Page paginée qui indique la première page comme adresse principale | La page 2 indique la page 1 comme adresse principale. Google ignore la page 2. | Faites de l'adresse de chaque page sa propre adresse principale. | paginated-canonical-to-first-page |
| Version linguistique non réciproque (hreflang) | La page A indique B, mais B n'indique pas A. | Ajoutez à la page B une ligne hreflang qui indique A. | hreflang-no-return-tag |
| La version linguistique indique une page qui ne s'ouvre pas ou qui est retirée de l'index | La version linguistique indiquée renvoie une erreur ou est cachée de la recherche. | Regardez l'adresse dans le détail. Corrigez-la ou retirez-la de la liste. | hreflang-target-broken |
| L'adresse principale (canonical) indique un autre nom de domaine ou du http | L'adresse principale indique un autre site ou une adresse non sécurisée (http). | Si ce n'est pas voulu, faites de l'adresse principale l'adresse https de la page même. | canonical-cross-host-or-http |
| Bloc de données structurées cassé | Le bloc de données structurées (JSON-LD) est illisible. | Collez le bloc dans un vérificateur JSON. Il s'agit souvent d'une virgule en trop. | structured-data-invalid-json |
| Google a exploré mais n'a pas indexé | La réponse de Google : il n'a pas trouvé le contenu suffisant. | Dans l'« outil d'inspection d'URL » de Google, voyez s'il y a un noindex, un fichier bloqué ou un contenu qui paraît vide. | google-crawled-not-indexed |
| Google a découvert mais n'a pas encore exploré | Google connaît l'adresse et l'a mise en file d'attente. | Le plus souvent, attendre suffit. Faites un lien depuis des pages souvent explorées. | google-discovered-not-indexed |
| Google a vu du contenu dupliqué, aucune adresse principale indiquée | Google a trouvé une page copie, et vous n'avez pas indiqué d'adresse principale. | Dans chaque page du groupe de copies, ajoutez un canonical qui indique l'adresse principale. | google-duplicate-no-canonical |
| Google ne connaît pas du tout cette adresse | L'adresse n'est jamais parvenue à Google. | Ajoutez-la au plan du site et envoyez le plan à Search Console. | google-url-unknown |
| Google a trouvé une erreur dans les données structurées | Il manque un champ dans le balisage écrit pour le résultat enrichi. | Ouvrez l'adresse dans le Test des résultats enrichis de Google. Il y montre le champ manquant. | google-rich-results-invalid |
| La page déclare des adresses principales contradictoires | La page contient plusieurs balises canonical. | Décidez laquelle est la bonne. Désactivez le plugin qui produit l'autre. | multiple-canonical-tags |
| Le contenu principal de la page se charge tard (LCP) | Le plus grand élément arrive après plus de 4 secondes. | Regardez le plus grand élément dans le rapport PageSpeed. C'est souvent une image. Réduisez-la et convertissez-la au format WebP. | cwv-lcp-poor |
| Le contenu se décale pendant le chargement de la page (CLS) | Le score de décalage dépasse 0,25. | Donnez une largeur et une hauteur aux images et aux cadres intégrés. | cwv-cls-poor |
| La page répond tard aux clics (INP) | La réponse à un clic prend plus de 500 millisecondes. | Trouvez les morceaux de code qui ralentissent le plus la page. Différez-les ou retirez-les. | cwv-inp-poor |
| Le score d'audit SEO de Google est faible | Le score SEO de Lighthouse est inférieur à 90. | Ouvrez la page dans PageSpeed Insights. Regardez les contrôles échoués dans la section SEO. | lighthouse-seo-low |
| Le site s'ouvre avec et sans www | Les deux adresses ouvrent la page et aucune ne redirige vers l'autre. Google voit deux copies du même contenu. | Choisissez une adresse principale et redirigez l'autre vers elle de façon permanente (301). | www-and-apex-both-serve |
| Une page inexistante répond 200 au lieu de 404 | Une adresse qui n'existe pas répond « OK » (200). Google y voit une soft 404. | Faites renvoyer le code 404 par votre page d'erreur. Son contenu peut rester le même. | soft-404-on-missing-page |
| Le HTML de la page de départ dépasse 2 Mo | Google ne traite que les 2 premiers Mo du HTML et ignore le reste. | Déplacez les grosses données intégrées dans des fichiers séparés. Découpez les longues listes en pages. | html-too-large |
| Le serveur répond tard (TTFB) | Le premier octet de la page de départ est arrivé après plus de 800 millisecondes. | Activez le cache de pages, repérez les extensions lentes et utilisez un CDN proche de vos visiteurs. | slow-ttfb |
| La page bloque le zoom | La balise viewport désactive le zoom sur téléphone. Les visiteurs malvoyants ne peuvent pas agrandir le texte. | Retirez user-scalable=no et maximum-scale de la balise viewport. | viewport-zoom-disabled |
| Liens dont l'adresse est « javascript: » | Google ne peut pas suivre ces liens et ne trouve donc pas leurs pages par ce chemin. | Si le lien mène à une page, écrivez sa vraie adresse. S'il lance une action, utilisez un bouton (button). | javascript-href-links |
| Champs de formulaire sans étiquette | Un lecteur d'écran ne peut pas dire ce qu'il faut saisir dans le champ. | Donnez à chaque champ une étiquette visible (label) ou un aria-label. | form-input-without-label |
| La structure HTML de la page est trop grande | La page compte plus de 1 500 éléments HTML. Cela ralentit, surtout sur téléphone. | Chargez le contenu caché seulement quand il faut. Réduisez les couches d'emballage inutiles. | dom-too-large |
| Contenu presque identique | Le contenu principal de ces pages ne diffère que de quelques mots. Google peut n'en montrer qu'une. | Donnez à chaque page un contenu propre, ou fusionnez les pages et ajoutez un canonical. | near-duplicate-content |
| Propriétés obligatoires manquantes dans les données structurées | Des champs exigés par Google pour ce type (Product, FAQPage par exemple) manquent. Aucun résultat enrichi n'apparaît. | Ajoutez les champs manquants et vérifiez le résultat avec le test des résultats enrichis de Google. | structured-data-required-props-missing |
| L'identifiant Analytics des pages ne correspond pas à la propriété connectée | Les données des visiteurs partent très probablement vers une autre propriété Analytics. | Remplacez la balise des pages par le bon identifiant, ou connectez la bonne propriété dans les Paramètres. | analytics-id-mismatch |
| Pas d'en-tête HSTS | L'en-tête qui dit aux navigateurs « toujours passer par https pour ce site » n'est pas envoyé. | Ajoutez l'en-tête Strict-Transport-Security à la réponse du serveur. | missing-hsts |
| Le certificat SSL expire dans moins de 30 jours | D'après les journaux publics de certificats, le certificat expire dans les 30 jours. | Vérifiez dans votre panneau d'hébergement que le renouvellement automatique est activé. | ssl-expiring-soon |
| Le nom de domaine expire dans moins de 30 jours | Sans renouvellement, le site et les e-mails s'arrêtent. Quelqu'un d'autre pourrait enregistrer le domaine. | Renouvelez le domaine et activez le renouvellement automatique. | domain-expiring-soon |
| Des fichiers bloquent le premier affichage de la page | Le CSS et les scripts retardent le premier affichage. | Ajoutez defer aux scripts dont le premier écran n'a pas besoin. | lh-render-blocking |
| La page charge du JavaScript qu'elle n'utilise pas | Du JavaScript qui ne s'exécute jamais est téléchargé. | Retirez les extensions et balises inutilisées. | lh-unused-javascript |
| Les images sont téléchargées plus grandes que nécessaire | Les images pèsent plus que leur taille d'affichage. | Convertissez en WebP/AVIF, compressez et redimensionnez. | lh-image-delivery |
| La page redirige avant de s'ouvrir | Il y a des redirections avant l'ouverture de la page. | Faites pointer les liens vers l'adresse finale. | lh-document-redirects |
| La page est envoyée sans compression | Le HTML est envoyé sans compression. | Activez la compression gzip ou Brotli. | lh-text-compression |
| L'image principale est marquée pour un chargement différé | L'image principale porte loading="lazy". | Retirez lazy de l'image principale du premier écran. | lh-lcp-lazy-loaded |
| Certains textes manquent de contraste | Le texte ne se détache pas assez de son fond. | Assurez un contraste d'au moins 4,5:1. | lh-a11y-color-contrast |
| Des images n'ont pas de texte alternatif (Lighthouse) | Le navigateur trouve des images sans texte alt. | Rédigez un texte alt pour les images utiles. | lh-a11y-image-alt |
| Des champs de formulaire n'ont pas d'étiquette (Lighthouse) | Des champs de formulaire n'ont pas d'étiquette. | Associez un élément label à chaque champ. | lh-a11y-label |
| Certains liens n'ont pas de nom lisible | Certains liens n'ont pas de nom lisible. | Ajoutez du texte ou un aria-label. | lh-a11y-link-name |
| Certains boutons n'ont pas de nom lisible | Certains boutons n'ont pas de nom lisible. | Ajoutez du texte ou un aria-label. | lh-a11y-button-name |
| La page n'a pas de titre dans le navigateur (Lighthouse) | Aucun élément title dans le navigateur. | Ajoutez un titre au HTML envoyé par le serveur. | lh-a11y-document-title |
| Le zoom est bloqué sur téléphone (Lighthouse) | Le réglage viewport empêche le zoom. | Retirez user-scalable=no et maximum-scale. | lh-a11y-meta-viewport |
| La page fait des requêtes non sécurisées (http) | La page charge des éléments en http. | Servez tous les fichiers en https. | lh-is-on-https |
| Certains liens ne peuvent pas être explorés (Lighthouse) | Certains liens ne peuvent pas être suivis par Google. | Donnez à chaque lien un vrai href. | lh-crawlable-anchors |
| Google ne peut pas indexer la page (Lighthouse) | Lighthouse juge la page non indexable. | Vérifiez robots.txt et les règles noindex. | lh-is-crawlable |
| robots.txt contient des lignes non valides | robots.txt contient des lignes non valides. | Corrigez les lignes au format « Champ: valeur ». | lh-robots-txt |
| Les balises hreflang ne sont pas valides (Lighthouse) | Les balises hreflang ne sont pas valides. | Utilisez des codes de langue valides et des adresses complètes. | lh-hreflang |
| La balise canonical n'est pas valide (Lighthouse) | La balise canonical n'est pas valide. | Gardez un seul canonical qui pointe vers l'adresse de la page elle-même. | lh-canonical |
| Image, vidéo ou cadre non sécurisé sur une page sécurisée | Une page https charge des images, vidéos ou cadres en http. | Faites commencer les adresses par https. | mixed-content-media |
| Les données du formulaire partent sans chiffrement | Le formulaire envoie ses données vers une adresse http. | Passez l'adresse action du formulaire en https. | form-action-http |
| La balise canonical est dans le corps de la page | Le canonical est dans le body ; Google ne le lit pas. | Déplacez la balise dans le head. | canonical-outside-head |
| Les balises robots se contredisent | Les balises robots de la page se contredisent. | Gardez une seule balise robots. | robots-meta-conflict |
| La page dit « introuvable » mais répond avec succès | La page affiche « introuvable » mais renvoie 200. | Si la page n'existe pas, renvoyez 404 ou 410. | page-says-not-found |
| Du texte de remplissage (lorem ipsum) est resté sur la page | La page contient du faux texte lorem ipsum. | Remplacez-le par du vrai contenu. | lorem-ipsum-text |
| Une page suivante d'une liste paginée est masquée de la recherche | Les pages 2 et suivantes d'une liste sont en noindex. | Retirez noindex et donnez à chaque page son propre canonical. | paginated-page-noindex |
| Sur un site sécurisé, des liens internes vont vers des adresses http | Sur un site https, des liens internes pointent vers http. | Écrivez les liens internes en https ou en relatif. | internal-http-links |
| Un lien vers un autre site est cassé | Un lien vers un autre site ne s'ouvre pas. | Mettez le lien à jour ou supprimez-le. | broken-external-link |
| Le fichier image est trop lourd | Un fichier image dépasse 200 Ko. | Redimensionnez, compressez, convertissez en WebP/AVIF. | image-file-too-large |
| Le plan du site liste des adresses d'un autre site | Le plan du site contient des adresses d'un autre domaine. Google les ignore en général. | Publiez le plan du site sur le site auquel appartiennent les adresses, ou corrigez l'adresse du site dans le réglage qui le génère. | sitemap-off-host-urls |
Bilgi (Info)
| Règle | Ce que cela signifie | Comment corriger | Identifiant |
|---|---|---|---|
| Réponse du serveur lente | La première réponse du serveur arrive tard. | Regardez le temps du serveur et de la base de données. Activez le cache (mise en réserve). | slow-response |
| Une page du plan du site indique une autre page comme adresse principale | Le plan contient une adresse en copie. | Ne laissez dans le plan que les adresses principales. | sitemap-canonicalized-page |
| Une page du plan du site est cachée des résultats de recherche | Le plan contient une page cachée de la recherche. | Si elle doit apparaître, retirez le noindex. Sinon, retirez-la du plan. | sitemap-noindex-page |
| Page trop profonde dans la structure du site | La page est à beaucoup de clics de l'accueil. | Raccourcissez le chemin avec des liens depuis une catégorie, le menu ou des listes en vedette. | deep-page |
| Aucune date lastmod dans le plan du site | Google ne connaît pas la date de dernière modification. | Dans le réglage qui produit le plan, activez lastmod pour chaque adresse. | sitemap-lastmod-missing |
| Un lien interne mène à une redirection | Le lien va vers une ancienne adresse, qui redirige ensuite. | Remplacez le lien par la nouvelle adresse vers laquelle elle redirige. | internal-link-to-redirect |
| Encodage des caractères non précisé | Les caractères turcs peuvent s'abîmer dans certains navigateurs. | Ajoutez la ligne meta charset="utf-8" au début de la section head. | missing-charset |
| L'adresse de la page est trop longue | L'adresse est trop longue, difficile à lire. | Gardez l'adresse courte et parlante. | url-too-long |
| Majuscule ou tiret bas dans l'adresse | Deux écritures différentes d'une même page peuvent apparaître. | Écrivez les adresses en minuscules et avec des tirets. | url-uppercase-or-underscore |
| Pas de titre H1 | La page n'a pas de titre principal. | Ajoutez un seul H1 qui dit de quoi parle la page. | missing-h1 |
| Plusieurs titres H1 | Il y a plusieurs titres principaux. | Ne gardez qu'un H1. Transformez les autres en H2 ou H3. | multiple-h1 |
| Presque aucun texte dans la page | L'explorateur n'a trouvé aucun texte. Le texte arrive peut-être plus tard par JavaScript. | Regardez si le texte apparaît dans le code source de la page. | thin-content |
| Aucun lien de la page vers un autre endroit | Page en impasse : elle ne mène nulle part ailleurs. | Ajoutez des liens vers des pages liées, vers la catégorie parente ou vers l'accueil. | no-outgoing-links |
| Titre trop long | Google coupe après 60 caractères. | Ramenez le titre à 50-60 caractères. Mettez les mots importants au début. | title-too-long |
| Titre trop court | Le titre ne décrit pas la page. | Écrivez un titre de 30 à 60 caractères qui dit ce que vous proposez. | title-too-short |
| Méta-description trop longue | Google coupe après 160 caractères. | Mettez le message principal au début et ramenez-la à 70-160 caractères. | meta-description-too-long |
| Méta-description trop courte | La description ne donne aucune raison de cliquer. | Écrivez 70 à 160 caractères qui résument la page. | meta-description-too-short |
| Niveaux de titres sautés | On est passé directement de H1 à H3. | Utilisez les titres dans l'ordre : H1, H2, H3. | heading-order-skip |
| Pas de balise d'affichage mobile (viewport) | Sur un téléphone, la page apparaît minuscule. | Ajoutez la ligne viewport à la section head. | missing-viewport |
| Langue de la page non précisée | La langue de la page n'est pas écrite (pas de lang dans la balise html). | Pour une page en turc, écrivez html lang="tr". | missing-lang |
| Pas de largeur ni de hauteur sur les images | Le contenu saute pendant le chargement de la page. | Écrivez la vraie taille de l'image dans chaque balise img. | images-missing-dimensions |
| Pas de sous-titres dans un long texte | Le long texte forme un seul bloc. | Découpez le texte par sujets. Donnez à chaque partie un titre H2. | no-subheadings |
| Le texte alternatif de l'image est un nom de fichier | Le texte alternatif est du genre « IMG_1234.jpg ». | Dans le texte alternatif, écrivez ce qu'il y a dans l'image. | alt-is-filename |
| Texte alternatif d'image trop long | Le texte alternatif est long comme un paragraphe. | Décrivez l'image en une phrase. Environ 125 caractères suffisent. | alt-too-long |
| Titre principal (H1) trop long | Le H1 est long comme un paragraphe. | Ramenez le H1 à un titre court d'une seule phrase. | h1-too-long |
| Liens internes sans texte | Le lien n'a pas de texte, ou seulement une icône. | Ajoutez un texte visible ou un aria-label (un nom caché pour les lecteurs d'écran). | empty-anchor-text |
| Textes de lien sans sens, comme « cliquez ici » | Le texte du lien ne dit pas où il mène. | Remplacez le texte du lien par le sujet de la page cible. | generic-anchor-text |
| Trop de liens dans la page | La page contient des centaines de liens. | Limitez le menu et le pied de page aux pages les plus importantes. | too-many-links |
| Liens nofollow vers les pages de votre propre site | Un lien vers vos propres pages porte nofollow. | Supprimez rel="nofollow" de ces liens. | internal-nofollow-links |
| Pas de balise canonical (adresse principale) dans la page | Google devine l'adresse principale. | Dans la section head, ajoutez la ligne canonical qui indique l'adresse complète de la page elle-même. | missing-canonical |
| Page cachée des résultats de recherche (noindex) | La page est cachée de la recherche, exprès ou par erreur. | Si elle doit apparaître dans la recherche, retirez le noindex. | noindex-page |
| La page indique une autre page comme adresse principale | La page se déclare elle-même comme une copie. | Si elle doit apparaître dans la recherche sous son propre nom, faites de son adresse l'adresse principale. | canonicalized-page |
| Pas de version par défaut (x-default) dans les versions linguistiques | Il n'y a pas de version par défaut pour un visiteur dont la langue ne correspond pas. | Ajoutez la ligne x-default à la liste hreflang. | hreflang-missing-x-default |
| La réponse de Google sur certaines pages est périmée | Les réponses de Google enregistrées ont plus de 3 ou de 14 jours. | Dans l'onglet État de l'index, cliquez sur « Google'da durumunu kontrol et ». | stale-google-verdicts |
| Pas de balises de partage sur les réseaux sociaux (Open Graph) sur le site | Au partage, ni image ni titre n'apparaissent. | Dans la section head du modèle, ajoutez og:title, og:description et une og:image de 1200x630 pixels. | open-graph-missing-site |
| Aucune donnée structurée sur le site | Aucune chance de voir apparaître un résultat enrichi dans la recherche. | Commencez par un balisage adapté au type de page (Organization, Product, Article, par exemple). | structured-data-missing-site |
| Google n'a pas exploré cette page depuis longtemps | La dernière visite de Google date de plus de 90 jours. | Faites un lien depuis des pages souvent explorées. Vérifiez que la page est dans le plan du site. | google-crawl-stale |
| Les pages inexistantes redirigent vers l'accueil | Une adresse qui n'existe pas mène à l'accueil. Google y voit en général une soft 404. | Affichez une page d'erreur qui renvoie 404. Ne redirigez que les pages déplacées. | not-found-redirects-home |
| Icône du site (favicon) introuvable | Dans la recherche mobile, une icône générique s'affiche à côté du nom de votre site. | Mettez en ligne une icône carrée d'au moins 48x48 pixels et déclarez-la dans le head. | missing-favicon |
| robots.txt n'indique pas le plan du site | robots.txt n'a pas de ligne « Sitemap: ». Bing et d'autres robots y trouvent le plan du site. | Ajoutez à la fin du fichier une ligne « Sitemap: » avec l'adresse complète du plan du site. | robots-missing-sitemap-line |
| Certains robots d'IA sont bloqués par robots.txt | Des robots comme GPTBot ou ClaudeBot sont interdits. C'est un choix ; la recherche Google n'est pas touchée. | Si c'est voulu, ne changez rien. Pour apparaître dans les réponses d'IA, autorisez les robots de recherche. | ai-crawlers-blocked |
| Pas de fichier llms.txt (facultatif) | Le fichier proposé pour les assistants d'IA est absent. Ce n'est pas un standard et Google ne l'utilise pas. | Si vous le souhaitez, placez à la racine un /llms.txt qui liste vos pages clés. | missing-llms-txt |
| La page de départ est arrivée sans compression | La page est arrivée sans compression gzip ni brotli. | Activez la compression sur le serveur ou le CDN. | no-compression |
| Balises Open Graph incomplètes | Le titre, la description ou l'image de la carte de partage manque. | Ajoutez ensemble og:title, og:description et og:image. | og-incomplete |
| Pas de balise de carte X (Twitter) | Sur X, le lien peut s'afficher comme une simple adresse, sans carte. | Ajoutez une balise twitter:card (summary_large_image) dans le head. | twitter-card-missing |
| La balise title et le H1 sont identiques | Ce n'est pas une erreur, mais l'une des deux occasions est perdue. | Écrivez le title pour le résultat de recherche et le H1 pour le lecteur de la page. | title-equals-h1 |
| Le titre risque d'être coupé dans les résultats | Le titre est court, mais des lettres larges le font dépasser environ 580 pixels. | Raccourcissez le titre ou écrivez les mots en majuscules en casse normale. | title-pixel-too-wide |
| Balise meta keywords inutile | Google n'utilise pas du tout cette balise. | Retirez-la du modèle ou des réglages de votre extension SEO. | meta-keywords-present |
| Des liens externes s'ouvrent dans un nouvel onglet sans noopener | Une note de bonne pratique. Les navigateurs actuels le font déjà d'eux-mêmes. | Ajoutez rel="noopener" à ces liens. | blank-target-without-noopener |
| Les images plus bas se chargent tout de suite | Plus de six images sous le premier écran se chargent dès l'ouverture. | Ajoutez-leur loading="lazy". Pas sur l'image principale du premier écran. | images-not-lazy |
| Images dans des formats anciens | Trois images ou plus sont en JPEG, PNG ou GIF sans équivalent dans un format récent. | Convertissez les images en WebP ou AVIF. | images-legacy-format |
| Le même id sur plusieurs éléments | Les étiquettes de formulaire et les liens internes à la page peuvent viser le mauvais élément. | Rendez chaque id unique. S'il ne sert qu'au style, utilisez une class. | duplicate-ids |
| Éléments HTML trop imbriqués | La page a des éléments imbriqués sur plus de 32 niveaux. | Retirez du modèle les couches d'emballage inutiles. | dom-too-deep |
| Très peu de texte visible par rapport au code | Le texte visible représente moins d'un dixième du HTML. | Déplacez le gros code intégré dans des fichiers. Vérifiez que le texte figure dans la source de la page. | low-text-ratio |
| Propriétés recommandées manquantes dans les données structurées | Des champs recommandés par Google pour Article ou Organization manquent. Les résultats enrichis ne sont pas bloqués. | Ajoutez les champs manquants avec des informations visibles sur la page. Pas urgent. | structured-data-recommended-props-missing |
| Aucune balise Google Analytics trouvée sur les pages | Le HTML ne contient aucun identifiant G-, GTM- ou UA-. Si la balise se charge plus tard, ignorez ce constat. | Ajoutez le code Analytics ou Tag Manager dans le head de chaque page. | analytics-tag-missing |
| Pas d'en-tête X-Content-Type-Options | Le navigateur peut deviner le type des fichiers. Sans effet sur le classement. | Ajoutez « X-Content-Type-Options: nosniff » aux réponses du serveur. | missing-x-content-type-options |
| La page peut être intégrée dans le cadre d'autres sites | Un autre site peut placer votre page dans un cadre invisible (clickjacking). | Ajoutez un en-tête « frame-ancestors 'self' » ou « X-Frame-Options: SAMEORIGIN ». | missing-clickjacking-protection |
| Pas d'en-tête Referrer-Policy | Pas urgent. L'en-tête décide quelle part de votre adresse est transmise quand un visiteur part vers un autre site. | Ajoutez un en-tête « Referrer-Policy: strict-origin-when-cross-origin ». | missing-referrer-policy |
| Pas d'enregistrement SPF sur le domaine | D'autres peuvent envoyer de faux e-mails en votre nom. Sans effet direct sur le SEO. | Ajoutez dans le DNS, en TXT, l'enregistrement SPF recommandé par votre fournisseur de messagerie. | missing-spf |
| Pas d'enregistrement DMARC sur le domaine | Rien n'indique quoi faire des e-mails qui échouent à la vérification. Sans effet direct sur le SEO. | Ajoutez dans le DNS un enregistrement TXT nommé \_dmarc. Commencez par p=none. | missing-dmarc |
| La page charge du CSS qu'elle n'utilise pas | Des règles de style inutilisées sont téléchargées. | Désactivez les feuilles de style inutilisées. | lh-unused-css |
| Les fichiers JavaScript ne sont pas minifiés | Les fichiers JavaScript ne sont pas minifiés. | Activez la minification dans votre outil de build ou votre CDN. | lh-unminified-javascript |
| Les fichiers CSS ne sont pas minifiés | Les fichiers CSS ne sont pas minifiés. | Activez la minification dans votre outil de build ou votre CDN. | lh-unminified-css |
| Les fichiers ne restent pas assez longtemps dans le navigateur | Les fichiers ont une courte durée de cache navigateur. | Donnez aux fichiers qui ne changent pas un Cache-Control long. | lh-cache-policy |
| Le poids total de la page est très élevé | La page pèse plus de 2,5 Mo au total. | Allégez les plus grosses images, vidéos et scripts. | lh-total-byte-weight |
| La structure de page construite dans le navigateur est très grande | La structure de page construite dans le navigateur est très grande. | Ne construisez le contenu caché que lorsqu'il le faut. | lh-dom-size |
| Le serveur répond lentement (Lighthouse) | Le premier octet du serveur prend plus de 600 ms. | Activez le cache de pages. | lh-slow-server-response |
| Le texte est invisible pendant le chargement des polices | Le texte reste invisible jusqu'au chargement des polices. | Ajoutez font-display: swap. | lh-font-display |
| L'image principale n'est pas demandée en priorité | L'image principale est découverte tard ou sans priorité. | Mettez-la dans le HTML comme img avec fetchpriority="high". | lh-lcp-not-prioritized |
| Les fichiers sont servis en HTTP/1.1, ancien protocole | Les fichiers arrivent en HTTP/1.1. | Activez HTTP/2 sur votre serveur ou votre CDN. | lh-modern-http |
| Du JavaScript inutile est envoyé pour les anciens navigateurs | Du code pour anciens navigateurs est envoyé sans besoin. | Mettez à jour votre réglage de navigateurs cibles. | lh-legacy-javascript |
| Du code tiers occupe longtemps le navigateur | Du code tiers bloque le fil principal plus de 0,5 s. | Retirez les balises inutiles et différez les autres. | lh-third-parties |
| Le chargement du contenu principal pourrait être plus rapide (LCP) | Le LCP est entre 2,5 et 4 secondes. | Allégez l'image principale et désactivez son chargement différé. | cwv-lcp-needs-improvement |
| Le contenu se décale un peu au chargement (CLS) | Le CLS est entre 0,1 et 0,25. | Donnez des dimensions aux images et réservez la place des publicités. | cwv-cls-needs-improvement |
| Les réponses aux clics pourraient être plus rapides (INP) | L'INP est entre 200 et 500 ms (données terrain). | Découpez les longs scripts lancés au clic. | cwv-inp-needs-improvement |
| La langue de la page n'est pas déclarée dans le navigateur (Lighthouse) | L'élément html n'a pas d'attribut lang. | Déclarez une langue, par exemple lang="fr" sur l'élément html. | lh-a11y-html-has-lang |
| Les zones tactiles sont trop petites ou trop serrées | Les zones tactiles sont petites ou trop rapprochées. | Donnez-leur au moins 24×24 pixels. | lh-a11y-target-size |
| L'ordre des titres saute des niveaux dans le navigateur (Lighthouse) | Des niveaux de titre sont sautés dans le navigateur. | Utilisez les titres dans l'ordre. | lh-a11y-heading-order |
| Le navigateur enregistre des erreurs à l'ouverture de la page | Des erreurs apparaissent dans la console au chargement. | Regardez l'onglet Console dans Chrome. | lh-errors-in-console |
| La page utilise des fonctions que les navigateurs vont retirer | Des fonctions obsolètes du navigateur sont utilisées. | Mettez à jour l'ancienne extension ou bibliothèque. | lh-deprecations |
| Le navigateur signale des problèmes sur la page | Le panneau « Issues » de Chrome enregistre des entrées. | Regardez l'onglet Issues des outils de développement. | lh-inspector-issues |
| Certaines images sont affichées avec le mauvais ratio | Des images sont affichées avec le mauvais ratio. | Utilisez les bons width/height ou object-fit. | lh-image-aspect-ratio |
| Certaines images sont en basse résolution pour l'écran | Des images ont une résolution trop faible pour l'écran. | Servez des versions plus grandes avec srcset. | lh-image-size-responsive |
| Les textes de lien ne sont pas descriptifs (Lighthouse) | Les textes de lien ne disent rien de leur cible. | Rédigez le texte selon le sujet de la cible. | lh-link-text |
| La page redirige par meta refresh | La page redirige par meta refresh. | Faites la redirection sur le serveur (301). | meta-refresh-redirect |
| L'adresse canonical est écrite en relatif | Le canonical est un chemin relatif. | Écrivez une adresse complète (https://...). | canonical-relative |
| L'adresse canonical contient un fragment # | Le canonical contient un fragment #. | Retirez le # et ce qui suit. | canonical-with-fragment |
| La recherche n'affiche pas d'extrait de la page | nosnippet ou max-snippet:0 masque l'extrait. | Retirez la règle si elle n'est pas voulue. | snippet-blocked |
| Une adresse e-mail est exposée en clair | Une adresse e-mail figure en texte brut sur la page. | Envisagez un formulaire de contact. | exposed-email-address |
| Les mots du titre n'apparaissent pas dans le contenu | Les mots du titre ne figurent pas dans le contenu. | Écrivez le titre autour du sujet de la page. | title-content-mismatch |
| Les données Organization ne citent aucun profil social | Les données Organization n'ont pas de sameAs. | Ajoutez les adresses des profils officiels dans sameAs. | organization-missing-sameas |
| Une page profonde n'a pas de fil d'Ariane | Une page profonde n'a pas de fil d'Ariane. | Ajoutez un fil d'Ariane et un BreadcrumbList. | missing-breadcrumbs |
| Le code intégré à la page est très volumineux | Les scripts et styles intégrés dépassent 100 Ko. | Déplacez le gros code intégré dans des fichiers. | large-inline-code |
| Il y a un blog mais aucun flux RSS/Atom n'est déclaré | Il y a un blog mais aucun flux RSS/Atom n'est déclaré. | Déclarez le flux avec une balise link rel="alternate". | missing-feed |
| robots.txt ouvre certains chemins à Googlebot seulement | Ces chemins sont fermés aux autres robots, donc l'audit ne les a pas explorés. Google, lui, peut le faire. | Rien à changer. Si rien ne le justifie, rendez la règle identique pour tous les robots. | robots-googlebot-only-paths |
Comment les règles fonctionnent
La plupart des règles s'appliquent page par page et listent chaque page qu'elles touchent. Certaines concernent le site dans son ensemble et ne produisent qu'un seul constat. Ce sont les règles de robots.txt, les règles du plan du site, « Pas de balises de partage sur les réseaux sociaux sur le site » et « Aucune donnée structurée sur le site ».
Les règles dont le nom commence par « Google » ne viennent pas de l'exploration de l'application. Elles découlent des réponses obtenues de Google dans l'onglet État de l'index. Si vous n'avez posé aucune question dans cet onglet, ces règles ne s'appliquent jamais. Les règles de vitesse (LCP, CLS, INP, score SEO) ne s'appliquent que lorsque « Sayfa hızını da ölç » (Mesurer aussi la vitesse des pages) est activé, et selon la mesure sur téléphone.
Les règles dont l'identifiant commence par « lh- », ainsi que les règles « à améliorer » pour LCP, CLS et INP, sont lues dans le rapport Lighthouse que PageSpeed Insights envoie déjà pour chaque page. Elles aussi ne s'appliquent que lorsque « Sayfa hızını da ölç » est activé, selon la mesure sur téléphone. Un audit Lighthouse qui n'a pas tourné ou a échoué sur une page n'est ni un constat ni une réussite. « Un lien vers un autre site est cassé » et « Le fichier image est trop lourd » ne s'appliquent que si « Dış bağlantıları ve görsel boyutlarını da kontrol et » (Vérifier aussi les liens sortants et la taille des images) est activé au lancement : après l'exploration, 300 adresses au plus sont interrogées. Les sites qui bloquent les robots, comme les réseaux sociaux, et les adresses qui ne répondent pas ne comptent jamais comme cassés. Une règle qu'un audit n'a pas mesurée apparaît comme « inconnue » dans l'onglet Kontroller, y compris pour les audits antérieurs à l'ajout de ces règles.
Certaines règles ne regardent pas les pages une par une : elles sondent le site une fois au début de l'audit et produisent un seul constat. Elles portent sur les adresses avec et sans www, la redirection de http vers https, la réponse à une adresse inexistante tirée au hasard, un robots.txt qui ferme tout le site, sa ligne Sitemap et les robots d'IA, l'icône du site, llms.txt, les en-têtes de sécurité (HSTS, X-Content-Type-Options, protection contre l'intégration en cadre, Referrer-Policy), ainsi que la taille, la compression et le premier temps de réponse de la page de départ. La date d'expiration du certificat SSL vient des journaux publics de certificats (Certificate Transparency), celle du domaine des données d'enregistrement (RDAP), et les enregistrements SPF et DMARC du DNS. « L'identifiant Analytics des pages ne correspond pas à la propriété connectée » compare l'identifiant de mesure trouvé sur les pages à ceux de la propriété Google Analytics connectée au projet.