Dlaczego Google nie indeksuje moich stron Next.js?
Witryny Next.js tracą strony przez noindex pozostawiony z wersji testowej, jeden tag kanoniczny w układzie głównym, strumieniowane błędy 404 i mapy witryny ze starymi adresami.
Najczęstsze przyczyny, po kolei
- Witryna jest nowa. Google potrzebuje czasu, żeby znaleźć nową witrynę. Według Google skanowanie może trwać od kilku dni do kilku tygodni. Wpisz w Google
site:i swoją domenę, na przykładsite:example.com. Jeśli nic się nie pokaże, Google prawdopodobnie nie ma jeszcze żadnej Twojej strony. Narzędzie do sprawdzania adresów URL w Search Console da dokładną odpowiedź dla każdej strony. - Domena serwuje wersję podglądową. Vercel dodaje
X-Robots-Tag: noindexdo wdrożeń podglądowych. Jeśli domena wskazuje takie wdrożenie albo nagłówek trafił donext.config, Google pomija każdą stronę. Uruchomcurl -Ii poszukajX-Robots-Tag. - Metadane dodają
noindex. Szukajrobots: { index: false }wmetadataalbogenerateMetadata. WywołanienotFound()po rozpoczęciu strumieniowania też dodajenoindex. robots.tsblokuje witrynę.app/robots.tstworzy/robots.txt. Reguładisallow: '/'z wersji testowej blokuje każdą stronę.- Brak mapy albo Search Console jej nie ma. Next.js nie ma mapy, dopóki nie dodasz
app/sitemap.ts. Podawaj tylko adresy, które zwracają200, w stylu ukośnika używanym przez witrynę. - Treść ładuje się tylko w przeglądarce albo wszystkie strony mają jeden tag kanoniczny. Pobieraj główną treść na serwerze. Ustaw
alternates.canonicalw metadanych każdej strony, bo adres kanoniczny z układu głównego dotyczy wszystkich stron pod nim. - Linki nie są prawdziwymi linkami. Używaj
<Link href>. Google podąża za linkami<a href>, nie za obsługą kliknięć zrouter.push().
Mapa witryny i robots.txt
W App Routerze app/sitemap.ts tworzy /sitemap.xml, a app/robots.ts tworzy /robots.txt. Nie masz żadnego z nich, dopóki ich nie dodasz.
Co pokaże Search Console
- Pozorny błąd 404: trasa dynamiczna, na przykład
[slug], która pokazuje komunikat „nie znaleziono” beznotFound(), zwraca200. Tak samonotFound()po rozpoczęciu strumieniowania. WywołujnotFound()przed strumieniowaniem, poza<Suspense>iloading.tsx, albo sprawdzaj adres w Proxy. - Strona zindeksowana bez zawartości: gdy strona ładuje treść w przeglądarce, Google najpierw widzi pustą stronę albo kółko ładowania. Buduj główną treść na serwerze.
- Strona zawiera przekierowanie: Proxy (middleware) i
trailingSlashkierują pod inny adres niż ten w mapie. Podawaj w mapie dokładnie ten adres, którego używa witryna.
// app/robots.ts
export default function robots() {
return {
rules: { userAgent: '*', allow: '/' },
sitemap: 'https://example.com/sitemap.xml',
}
}Jak pomaga CrawlCoach
Zobacz, które strony Twojej aplikacji Next.js Google pominął. Darmowy raport CrawlCoach sprawdza do 500 stron i pokazuje poprawkę dla każdego problemu.
Częste pytania
Dlaczego moja strona 404 w Next.js zwraca 200?
Strona zaczęła się strumieniować, zanim wywołano notFound(), więc status 200 był już wysłany. Next.js dodaje wtedy noindex. Przenieś sprawdzenie przed <Suspense> albo loading.tsx, albo do Proxy, żeby zwrócić prawdziwe 404.
Czy Google renderuje strony Next.js budowane w przeglądarce?
Google uruchamia JavaScript, ale później i rzadziej. Strony budowane na serwerze trafiają do Google szybciej i częściej.
Czy potrzebuję i sitemap.ts, i robots.ts?
Tak. robots.ts powinien podawać adres mapy, a sitemap.ts tylko adresy, które zwracają 200.
Źródła
Sprawdzone 8 października 2026. Google co jakiś czas zmienia Search Console i pomoc. Jeśli na Twoim ekranie coś wygląda inaczej, zajrzyj do źródła.
- Dokumentacja Next.js: notFound (po angielsku)
- Dokumentacja Next.js: loading.js, status codes (po angielsku)
- Dokumentacja Next.js: generateMetadata (po angielsku)
- Dokumentacja Next.js: trailingSlash (po angielsku)
- Vercel: Are Vercel preview deployments indexed by search engines? (po angielsku)
- Centrum wyszukiwarki Google: Sprawdzone metody dotyczące linków w Google
Zobacz, których stron Twojej witryny brakuje w Google
Zaloguj się przez Google. CrawlCoach bezpłatnie sprawdzi do 500 stron i pokaże poprawkę dla każdego problemu.
Odbierz darmowy raportBezpłatnie do 500 stron. Bez karty płatniczej. Zaloguj się kontem Google, którego używasz w Search Console.
Aplikacja i raporty CrawlCoach są po angielsku.