Mon site n’apparaît pas sur Google : 7 vérifications pour le corriger
Réponse courte : Si vous vous dites « mon site n’apparaît pas sur Google », la cause est le plus souvent une chose que vous pouvez vérifier vous-même. Confirmez d’abord que la page manque réellement dans l’index de Google. Passez ensuite sept vérifications en revue, dans cet ordre : code de statut, noindex, robots.txt, soft 404, JavaScript, sitemap et liens, puis le temps. Personne ne peut dire quand une page apparaîtra. Selon Google, l’exploration « can take anywhere from a few days to a few weeks » (de quelques jours à quelques semaines), et être indexé ne veut pas dire bien se classer.
Mon site n’apparaît pas sur Google : vérifiez d’abord que la page manque vraiment
« Ne pas apparaître » peut vouloir dire trois choses, et seule la première est le sujet de cet article :
- La page n’est pas dans l’index de Google. Google ne l’a pas enregistrée, elle ne peut donc apparaître dans aucun résultat. Les sept vérifications ci-dessous en cherchent la raison.
- La page est dans l’index, mais pas là où vous regardez. L’aide de Google sur le rapport d’indexation des pages explique que les résultats de recherche sont personnalisés selon l’historique de recherche, la position géographique et d’autres variables propres à chaque utilisateur. Une page indexée n’apparaît donc pas à chaque recherche ni toujours à la même place. C’est une question de classement, pas d’indexation.
- La page est toute neuve. Le temps est alors la cause la plus probable (vérification 7).
Pour savoir dans quel cas vous êtes :
- Chercher l’adresse exacte. Saisissez
site:https://votre-site.example/votre-pagedans Google. L’aide sur le rapport d’indexation des pages (« Page indexing » dans l’interface anglaise) cite cette forme,site:suivi de l’URL exacte, comme premier test pour les petits sites, et l’aide sur l’inspection d’URL présente la recherche de l’URL de la page comme le test décisif pour savoir si elle apparaît. - Interroger la Search Console. L’outil « Inspection de l’URL » montre ce que Google a enregistré pour une adresse. « L’URL est sur Google » (« URL is on Google ») signifie que la page peut apparaître dans les résultats, sans garantie qu’elle y figure (« eligible to appear in Search results, but is not guaranteed to be there »). « L’URL n’est pas sur Google » signifie qu’elle ne peut pas apparaître. « L’URL est inconnue de Google » signifie que Google n’a encore jamais vu l’adresse. Cette réponse est un état enregistré, pas un état en direct ; le test en ligne (« Tester l’URL en ligne ») examine la page telle qu’elle est maintenant.
Si la page figure déjà dans le tableau des motifs de non-indexation (« Why pages aren’t indexed » dans l’interface anglaise), le nom du statut indique où chercher. Les intitulés de la Search Console peuvent varier légèrement selon la langue et la version de l’interface.
| Statut dans la Search Console | À voir |
|---|---|
| Erreur serveur (5xx) ; Introuvable (404) ; Bloquée en raison d’une requête non autorisée (401) ; Bloquée en raison d’un accès interdit (403) ; Page avec redirection | Vérification 1 |
| Exclue par la balise « noindex » | Vérification 2 |
| Bloquée par le fichier robots.txt ; Indexée malgré le blocage par le fichier robots.txt | Vérification 3 |
| Soft 404 | Vérification 4 |
| L’URL est inconnue de Google | Vérifications 6 et 7 |
| Détectée, actuellement non indexée ; Explorée, actuellement non indexée | Vérification 7 |
| Doublon sans URL canonique sélectionnée par l’utilisateur | Aucune des sept : Google a choisi une autre adresse comme version principale et dit que ce n’est « pas une erreur » |
Les 7 vérifications, dans l’ordre où les faire
Les premières vérifications bloquent tout ce qui vient après. Remplacez votre-site.example par votre propre adresse.
Vérification 1 : la page répond-elle avec le statut 200 ?
La page de Google sur les codes de statut HTTP indique que Google n’indexe pas les URL qui renvoient un statut 4xx, et que les URL déjà indexées qui se mettent à en renvoyer un sont retirées de l’index. Les erreurs serveur persistantes (5xx) ralentissent l’exploration, et ces URL finissent par être abandonnées. Une redirection transmet la décision à sa cible : Google ignore le contenu de l’URL qui redirige, et le rapport d’indexation des pages précise qu’une « page avec redirection » n’est pas indexée elle-même. Un 200 est une condition, pas une promesse : un statut 2xx « doesn't guarantee indexing » (ne garantit pas l’indexation).
Deux obstacles passent facilement inaperçus. Une connexion obligatoire arrête Googlebot, qui n’envoie aucun identifiant. Et un pare-feu ou une protection anti-bots peut répondre à Googlebot par une erreur alors que votre navigateur voit la page ; l’aide de Google cite les pare-feux mal configurés et les protections contre les attaques DoS comme une façon de bloquer Googlebot par accident.
curl -s -L -o /dev/null -w "%{http_code} %{url_effective}\n" https://votre-site.example/votre-page
Vous voulez voir 200 et l’adresse attendue. Cela montre ce que reçoit votre ordinateur. Ce que reçoit Google, seul le test en ligne de l’inspection d’URL le montre.
Dans SEOgrinder : la carte « Indexation » de l’onglet « Page sur Google » indique le statut HTTP. Un mauvais statut devient aussi une tâche, par exemple « Le serveur a renvoyé le statut 503 ».
Vérification 2 : la page est-elle en noindex ?
Une règle noindex demande à Google de laisser la page de côté. Elle se trouve dans une balise meta robots dans l’en-tête de la page, ou dans un en-tête HTTP X-Robots-Tag. Une fois que Googlebot a exploré la page et lu la règle, « Google will drop that page entirely from Google Search results » (Google retire entièrement la page des résultats), comme l’écrit la documentation sur noindex. Une page peut la porter par accident :
- Un réglage du CMS. WordPress propose une case « Demander aux moteurs de recherche de ne pas indexer ce site » (« Discourage search engines from indexing this site »). D’après la documentation de WordPress, depuis la version 5.3, elle fait écrire à WordPress une balise meta robots avec
noindex,nofollowdans l’en-tête de la page. - Un en-tête. Un serveur ou un CDN peut envoyer
X-Robots-Tag: noindex. Il n’apparaît jamais dans le code source de la page, on le manque donc facilement. - Une demande de suppression. Si quelqu’un a utilisé l’outil de suppression pour cette adresse, la demande ne dure qu’environ six mois, et l’onglet des suppressions temporaires (« Temporary Removals ») la liste (aide de la Search Console).
curl -s -D - -o /dev/null https://votre-site.example/votre-page | grep -i x-robots-tag
curl -s https://votre-site.example/votre-page | grep -i -E 'name="(robots|googlebot)"'
Aucune sortie signifie qu’aucun en-tête ni aucune balise de ce genre n’a été trouvé. Si une ligne apparaît, noindex (ou none) tient la page à l’écart. Si robots.txt bloque la page (vérification 3), « the crawler will never see the noindex rule » (le robot ne verra jamais la règle noindex) : le blocage doit donc partir en premier. Une balise qu’ajoute JavaScript plus tard n’apparaît pas dans curl ; le test en ligne montre ce que Google a reçu.
Dans SEOgrinder : la première ligne de la carte « Indexation » devient « La page est exclue de l'indexation » quand la balise meta robots dit noindex, et la liste des tâches affiche « La page est exclue de Google ». Un noindex dans l’en-tête HTTP apparaît comme la tâche « Un en-tête HTTP exclut la page de Google ».
Vérification 3 : robots.txt bloque-t-il la page ?
Le fichier https://votre-site.example/robots.txt indique aux robots quels chemins laisser de côté. L’introduction à robots.txt de Google le décrit avant tout comme un moyen de gérer le trafic des robots. Une règle qui correspond à votre page empêche Googlebot de la récupérer : une URL interdite est ignorée sans aucune requête (bases de JavaScript pour la recherche). L’URL peut quand même apparaître dans les résultats si d’autres pages y renvoient, mais sans description, puisque Google n’a pas lu la page.
L’accident classique tient en deux lignes :
User-agent: *
Disallow: /
Elles bloquent tout le site pour chaque robot qui respecte le fichier. Une règle plus étroite comme Disallow: /boutique/ bloque ce dossier et tout ce qu’il contient. Comparez chaque ligne Disallow avec le chemin de votre page.
Dans SEOgrinder : la carte « Indexation » indique « L'exploration de cette URL est bloquée » et montre la règle qui s’est appliquée. La tâche s’intitule « robots.txt bloque cette URL ».
Vérification 4 : la page est-elle un soft 404 ?
Un soft 404 est une page qui dit « introuvable » ou n’affiche presque rien, mais répond avec le statut 200. La page de Google sur les codes de statut précise que, lorsqu’une réponse 2xx contient un message d’erreur ou une page vide, la Search Console affiche une erreur soft 404. Pour les pages vraiment introuvables, Google recommande un vrai 404. Pour une page qui doit exister, la solution est inverse : lui donner un vrai contenu.
Dans le rapport d’indexation des pages, cherchez le motif « Soft 404 ». Pour une adresse précise, lancez le test en ligne et ouvrez « Afficher la page testée », qui montre une capture de la page telle que Google l’affiche. Interrogez ensuite votre serveur sur une adresse qui ne peut pas exister :
curl -s -L -o /dev/null -w "%{http_code} %{url_effective}\n" https://votre-site.example/page-qui-ne-peut-pas-exister
Vous voulez voir 404. Si vous obtenez 200, le serveur répond par un succès à toutes les adresses, et c’est le schéma qui se cache derrière les soft 404. Notre article sur les erreurs soft 404 donne les correctifs pour nginx, Node et les applications monopages.
Dans SEOgrinder : la carte « Indexation » contient la ligne « Les adresses inconnues renvoient correctement une 404 » ou « Les adresses inconnues renvoient 200 au lieu de 404 », avec une tâche. SEOgrinder invente une adresse et interroge votre serveur : il teste donc la façon dont votre serveur traite des adresses qui n’existent pas. Seule la Search Console montre si Google a rangé votre page parmi les soft 404.
Vérification 5 : le contenu est-il construit seulement dans le navigateur ?
Google exécute JavaScript. Ses bases de JavaScript pour la recherche expliquent que les pages au statut 200 attendent dans une file d’attente avant le rendu, ce qui peut prendre « a few seconds, but it can take longer » (quelques secondes, parfois davantage). JavaScript seul n’exclut donc pas une page de Google. Il devient une cause dans quatre cas que décrit la même page :
- noindex dans le HTML d’origine. Quand Google rencontre noindex, il peut sauter le rendu ; un JavaScript qui retire la balise « may not work as expected » (peut ne pas fonctionner comme prévu). Si vous voulez que la page soit indexée, laissez noindex hors du code d’origine.
- Scripts bloqués. « Google Search won't render JavaScript from blocked files or on blocked pages » : Google n’exécute pas le JavaScript des fichiers bloqués ni celui des pages bloquées.
- Des liens qui n’en sont pas. Google ne découvre que les liens qui sont des éléments
<a>dotés d’un attributhref. Les adresses qui ne diffèrent qu’après un#ne sont pas fiables. - Pages d’erreur des applications monopages. Une application qui répond 200 à toutes les adresses produit des soft 404 (vérification 4).
Pour tester, choisissez « Afficher le code source de la page » (et non le panneau Éléments des outils de développement) et cherchez votre titre et votre texte principal. S’ils manquent, c’est JavaScript qui les construit. Utilisez ensuite le test en ligne et « Afficher la page testée » pour voir comment Google a rendu la page. Google ajoute que le rendu côté serveur ou le pré-rendu reste une très bonne idée, car « not all bots can run JavaScript » (tous les robots ne savent pas exécuter JavaScript). Notre article sur les crawlers IA et JavaScript traite de ces autres robots.
Dans SEOgrinder : la tâche « La page n’est construite que dans le navigateur » apparaît quand le HTML que livre votre serveur ne contient presque ni texte, ni titres, ni liens internes. Elle signale le risque pour les robots qui n’exécutent pas JavaScript. Le test en ligne montre si Google rend correctement votre page.
Vérification 6 : Google peut-il trouver la page ? Sitemap et liens
Google ne peut indexer que ce qu’il trouve. Selon l’aide sur le rapport d’indexation des pages, il découvre une page par un sitemap, une demande d’exploration ou un lien placé quelque part. Googlebot explore les URL qu’il a trouvées sur des pages déjà explorées : une page vers laquelle rien ne pointe peut donc rester inconnue, surtout sur un site récent qui a peu de liens externes (présentation des sitemaps).
- Regardez votre sitemap. Ouvrez
https://votre-site.example/sitemap.xml, ou l’adresse indiquée dans robots.txt, et cherchez la page. Google demande des adresses complètes et absolues, et seulement celles que vous voulez voir dans les résultats (créer un sitemap). Les pages qui répondent 404, qui redirigent ou qui portent noindex n’y ont pas leur place. - Envoyez-le. Le rapport « Sitemaps » de la Search Console indique quand Googlebot a lu le fichier et signale les erreurs éventuelles. robots.txt ne doit pas bloquer le fichier.
- Faites un lien vers la page depuis au moins une page déjà indexée, par exemple la page d’accueil ou un article voisin.
- Demandez l’indexation, avec parcimonie. Pour un nouveau site, Google présente la demande d’indexation de la page d’accueil comme la meilleure première étape. L’outil d’inspection d’URL est prévu pour « just a few URLs » (quelques URL seulement), il y a un quota, et redemander la même URL « won't get it crawled any faster » (ne la fera pas explorer plus vite) (aide sur la nouvelle exploration).
Un sitemap aide Google à découvrir des adresses, mais il « doesn't guarantee » (ne garantit pas) que tout ce qu’il contient soit exploré et indexé. Google ajoute qu’un site d’environ 500 pages ou moins, relié de façon exhaustive par des liens, n’en a peut-être pas besoin.
Dans SEOgrinder : la carte « Indexation » indique « Cette URL figure dans le sitemap » ou « Cette URL ne figure pas dans le sitemap ». La liste des tâches peut afficher « Aucun sitemap trouvé », « Le sitemap cite une page en noindex » et une tâche qui compte les adresses du sitemap qui ne répondent pas par 200. Avec l’exploration du site, une tâche comme « Une page ne reçoit aucun lien interne » montre les pages vers lesquelles rien ne pointe.
Vérification 7 : Google a-t-il eu assez de temps ?
Google ne donne aucune date. Son aide sur la nouvelle exploration dit : « Crawling can take anywhere from a few days to a few weeks. » L’aide sur le rapport d’indexation des pages ajoute qu’il peut falloir « a week or so » (environ une semaine) à Google pour commencer à explorer et à indexer une nouvelle page ou un nouveau site, que l’indexation « is never instant, even when you submit a crawl request directly » (n’est jamais instantanée, même après une demande d’exploration directe), et que Google ne garantit pas que toutes les pages entrent dans son index.
La Search Console connaît deux statuts d’attente. « Détectée, actuellement non indexée » signifie que Google a trouvé la page sans l’avoir encore explorée, en général parce qu’il s’attendait à ce que l’exploration surcharge le site. « Explorée, actuellement non indexée » signifie que Google a récupéré la page sans l’ajouter. Google y voit « a common message for many sites » (un message courant pour beaucoup de sites) qui « doesn't necessarily indicate an issue that needs attention » (n’indique pas forcément un problème à traiter), et précise qu’il ne faut pas s’attendre à ce que chaque URL d’un site soit indexée.
Si les vérifications 1 à 6 sont propres et que la page a plus de quelques semaines, Google n’indique aucune autre raison pour « Explorée, actuellement non indexée ». Notre avis, pas celui de Google : regardez si la page dit quelque chose que vos autres pages ne disent pas, et si des pages importantes renvoient vers elle.
Dans SEOgrinder : il ne peut pas lire l’horloge de Google. Dans une installation locale connectée à la Search Console, il peut interroger l’inspection d’URL sur la page analysée et afficher dans le rapport la réponse enregistrée par Google, par exemple « Google ne connaît pas encore cette adresse ». La version de seogrinder.com ne se connecte pas à votre compte Search Console.
Ce qu’une analyse peut vous dire, et ce qu’elle ne peut pas
SEOgrinder est notre outil, et nous le développons. Une analyse faite de l’extérieur lit ce que dit votre page et comment répond votre serveur : statut, noindex, robots.txt, comportement du serveur face aux soft 404, HTML livré et sitemap. Elle ne voit pas l’index de Google, et elle ne peut pas vous dire pourquoi Google a exploré une page sans l’y inclure. La Search Console et la recherche de l’adresse exacte répondent à la question de l’index. Un rapport tout vert ne promet pas que la page apparaîtra ni où elle se classera, et personne ne peut le promettre.
Erreurs fréquentes
- Juger d’après une seule recherche. Les résultats diffèrent selon la personne et le lieu. Cherchez l’adresse exacte, ou utilisez l’inspection d’URL.
- Bloquer dans robots.txt et ajouter noindex. Google ne voit alors jamais la règle noindex. Utilisez un seul outil par objectif.
- Ne retirer noindex qu’à un seul endroit. Il peut figurer à la fois dans le réglage d’un plugin, dans une balise meta et dans un en-tête HTTP.
- Redemander l’indexation sans cesse. Cela n’accélère rien.
- S’arrêter au premier constat. Plusieurs causes peuvent s’appliquer à une même page : passez donc les sept vérifications.
Questions fréquentes
Pourquoi mon nouveau site n’apparaît-il pas sur Google ?
Une raison possible est que Google ne l’a pas encore exploré, ce qui peut prendre environ une semaine. Envoyez un sitemap, demandez l’indexation de la page d’accueil et passez les sept vérifications.
Pourquoi la Search Console indique-t-elle « L’URL est sur Google » alors que je ne trouve pas la page ?
« L’URL est sur Google » signifie que la page peut apparaître, pas qu’elle apparaît à chaque recherche. Cherchez l’adresse exacte. Si elle s’affiche, l’indexation est en ordre et la question porte sur le classement.
Ma page était sur Google, puis elle a disparu. Quelle vérification s’applique ?
Commencez par les vérifications 1 à 3. Google retire les URL indexées qui renvoient un statut 4xx, et il indique qu’une baisse du nombre de pages indexées sans hausse correspondante des erreurs peut signifier que vous bloquez des pages existantes par robots.txt, noindex ou une connexion obligatoire. Cherchez aussi une demande de suppression.
Votre prochaine étape
Saisissez l’adresse de la page manquante dans l’analyse gratuite de SEOgrinder. Dans l’onglet « Page sur Google », lisez la carte « Indexation » et corrigez chaque ligne rouge ; la liste des tâches montre ce qu’il faut faire en premier. Cliquez sur « Réanalyser » après votre modification (les rapports peuvent rester jusqu’à 24 heures en cache), puis envoyez le sitemap et laissez du temps à Google. Pour tout ce qui dépasse l’indexation, appuyez-vous sur notre checklist audit SEO.