Aller au contenu

Pourquoi mes pages Next.js ne sont-elles pas indexées par Google ?

Les sites Next.js perdent souvent des pages à cause d'un noindex resté de la préproduction, d'une balise canonique unique dans le layout racine, de pages 404 envoyées en streaming, ou d'un sitemap aux anciennes adresses. Voici les causes, dans l'ordre où les vérifier.

Plateforme :Next.js

Par Bruno Amorim · ·

Lire en : English · Português (Brasil) · Español · Deutsch · Italiano · Polski · 日本語 · 한국어

Pourquoi votre site Next.js n'est pas sur Google

Vérifiez dans cet ordre. Les premiers points gardent tout le site hors de Google. Les derniers ne touchent que certaines pages.

  1. Le site est récent. Google a besoin de temps pour trouver un nouveau site. Google indique que l'exploration peut prendre de quelques jours à quelques semaines. Cherchez sur Google site: suivi de votre domaine, comme site:example.com. Si aucun résultat ne s'affiche, Google n'a sans doute encore aucune de vos pages. L'outil d'inspection d'URL de la Search Console donne la réponse exacte pour chaque page.
  2. Votre domaine sert un build de prévisualisation. Vercel ajoute X-Robots-Tag: noindex aux déploiements de prévisualisation. Si votre domaine pointe vers l'un d'eux, ou si vous avez copié cet en-tête dans next.config, Google ignore toutes les pages. Lancez curl -I sur une page et cherchez X-Robots-Tag.
  3. Les métadonnées ajoutent noindex. Cherchez robots: { index: false } dans metadata ou generateMetadata, souvent resté de la préproduction. Un appel à notFound() après le début du streaming ajoute aussi noindex.
  4. robots.ts bloque le site. app/robots.ts crée /robots.txt. Une règle disallow: '/' restée de la préproduction bloque toutes les pages.
  5. Il n'y a pas de sitemap, ou la Search Console ne l'a pas. Next.js n'a pas de sitemap tant que vous n'ajoutez pas app/sitemap.ts. Ne listez que des adresses qui répondent 200, avec le même style de barre oblique finale que votre site, et envoyez /sitemap.xml dans la Search Console.
  6. Le contenu ne se charge que dans le navigateur, ou toutes les pages partagent une seule balise canonique. Récupérez le contenu principal côté serveur, pour qu'il soit dans le premier HTML. Définissez alternates.canonical dans les métadonnées de chaque page. Une canonique définie seulement dans le layout racine s'applique à toutes les pages en dessous : toutes vos pages pointent alors vers l'accueil.
  7. Les liens ne sont pas de vrais liens. Utilisez <Link href> pour la navigation. Google suit les liens <a href>, pas les gestionnaires de clic qui appellent router.push().

Si seules certaines pages manquent : les trois raisons les plus fréquentes sur Next.js

La Search Console donne la raison de chaque page dans Indexation > Pages. Ces trois-là reviennent le plus souvent sur Next.js.

Erreur "soft 404"

Pourquoi : une route dynamique comme [slug] qui affiche « introuvable » sans appeler notFound() répond avec le code 200. Un appel à notFound() après le début du streaming aussi.

Solution : appelez notFound() avant le début du streaming, hors de <Suspense> et de loading.tsx, pour que la route réponde 404. Ou vérifiez le slug dans Proxy. Le guide complet : Erreur "soft 404".

Page indexée sans contenu

Pourquoi : si une page charge son contenu dans le navigateur, Google voit d'abord une page vide ou une icône de chargement.

Solution : créez le contenu principal côté serveur, avec des Server Components, des pages statiques ou le rendu côté serveur. Le guide complet : Page indexée sans contenu.

Page avec redirection

Pourquoi : les réglages Proxy (middleware) et trailingSlash envoient les visiteurs vers une autre adresse que celle de votre sitemap.

Solution : listez chaque page dans votre sitemap à l'adresse exacte que votre site utilise : même barre oblique finale, même domaine. Le guide complet : Page avec redirection.

Où se trouve votre sitemap

Avec l'App Router, app/sitemap.ts crée /sitemap.xml et app/robots.ts crée /robots.txt. Vous n'avez ni l'un ni l'autre tant que vous ne les ajoutez pas.

Pour Bing, voir IndexNow sur Next.js.

Quelles pages de votre site Next.js Google laisse-t-il de côté ?

Connectez-vous avec Google. CrawlCoach vérifie gratuitement jusqu'à 500 pages de votre site Next.js et vous montre pourquoi Google a écarté chacune, avec la correction.

Questions fréquentes

Pourquoi ma page 404 Next.js répond-elle avec le code 200 ?

La page a commencé le streaming avant que notFound() s'exécute : le code 200 était déjà envoyé. Next.js ajoute alors noindex. Placez la vérification avant toute limite <Suspense> ou loading.tsx, ou dans Proxy, pour renvoyer un vrai 404.

Google affiche-t-il les pages Next.js rendues côté client ?

Google peut exécuter JavaScript, mais il le fait plus tard et moins souvent. Les pages créées côté serveur arrivent sur Google plus vite et plus souvent.

Faut-il à la fois sitemap.ts et robots.ts ?

Oui. robots.ts doit indiquer l'URL du sitemap, et sitemap.ts ne doit lister que des URL qui répondent 200.

Sources

Vérifié le 8 octobre 2026. Google modifie parfois la Search Console et son aide. Si votre écran ne correspond pas, consultez la source.

Découvrez quelles pages de votre site manquent sur Google

Connectez-vous avec Google. CrawlCoach vérifie gratuitement jusqu'à 500 pages et vous montre la correction pour chaque problème.

Obtenir mon rapport gratuit

Gratuit jusqu'à 500 pages. Sans carte bancaire. Connectez-vous avec le compte Google que vous utilisez pour la Search Console.

L'application et les rapports CrawlCoach sont en anglais.

Autres plateformes

Autres guides (en anglais)