Strona nie wyświetla się w Google? 7 kontroli, by znaleźć przyczynę

Autor: SEOgrinder · Opublikowano · 13 min czytania

Krótka odpowiedź: Gdy strona nie wyświetla się w Google, przyczynę zwykle możesz sprawdzić samodzielnie. Najpierw upewnij się, że strony naprawdę brakuje w indeksie Google. Potem przejdź siedem kontroli w tej kolejności: kod odpowiedzi, noindex, robots.txt, soft 404, JavaScript, mapa witryny z linkami i czas. Nikt nie powie, kiedy strona się pojawi. Google pisze, że skanowanie „can take anywhere from a few days to a few weeks” (od kilku dni do kilku tygodni), a bycie w indeksie nie znaczy jeszcze dobrej pozycji.

Strona nie wyświetla się w Google? Najpierw sprawdź, czy naprawdę jej brakuje

„Nie wyświetla się” może znaczyć trzy różne rzeczy i tylko pierwszą z nich omawia ten artykuł:

  • Strony nie ma w indeksie Google. Google jej nie zapisał, więc nie może pojawić się w żadnym wyniku. Przyczyny tego stanu szukasz za pomocą siedmiu kontroli poniżej.
  • Strona jest w indeksie, ale nie tam, gdzie jej szukasz. Według pomocy do raportu „Indeksowanie stron” wyniki wyszukiwania są dopasowywane do historii wyszukiwania, lokalizacji i wielu innych zmiennych każdego użytkownika. Zindeksowana strona nie pojawia się więc przy każdym wyszukiwaniu ani zawsze na tym samym miejscu. To kwestia pozycji, nie indeksowania.
  • Strona jest zupełnie nowa. Wtedy najbardziej prawdopodobną przyczyną jest czas (kontrola 7). Przy nowej stronie liczą się też mapa witryny i linki (kontrola 6).

Sprawdź, który przypadek masz:

  • Wyszukaj dokładny adres. Wpisz w Google site:https://twoja-strona.example/twoja-podstrona. Pomoc do raportu „Indeksowanie stron” podaje taką formę, czyli site: i dokładny adres URL, jako pierwszy test dla małych witryn, a pomoc do narzędzia do sprawdzania adresów URL nazywa wyszukanie adresu strony ostatecznym sprawdzianem, czy strona się wyświetla.
  • Zapytaj Search Console. Narzędzie do sprawdzania adresów URL pokazuje, co Google zapisał o danym adresie. „Adres URL znajduje się w Google” znaczy, że strona może pojawić się w wynikach wyszukiwania, ale nie ma gwarancji, że się tam znajdzie. „Adres URL nie znajduje się w Google” znaczy, że pojawić się nie może. „Adres URL jest Google nieznany” znaczy, że Google nie widział jeszcze tego adresu. Zapisany wynik nie jest odczytem na żywo; aktualny stan sprawdza test wersji opublikowanej (przycisk „Sprawdź URL wersji opublikowanej”).

Jeśli strona jest już w tabeli „Dlaczego strony nie są indeksowane”, nazwa komunikatu podpowiada, gdzie szukać dalej:

Komunikat w Search ConsoleZobacz
Błąd serwera (5xx); Nie znaleziono (404); Strona zablokowana z powodu nieautoryzowanego żądania (401); Strona zablokowana z powodu zabronionego dostępu (błąd 403); Strona z przekierowaniemKontrola 1
URL zawiera tag „noindex”Kontrola 2
URL zablokowany przez plik robots.txt; Strona zindeksowana, ale zablokowana przez plik robots.txtKontrola 3
Pozorny błąd 404Kontrola 4
Adres URL jest Google nieznanyKontrole 6 i 7
Strona wykryta – obecnie niezindeksowana; Strona zeskanowana, ale jeszcze niezindeksowanaKontrola 7
Duplikat, użytkownik nie oznaczył strony kanonicznejżadna z siedmiu: Google wybrał inny adres jako wersję główną i nie uznaje tego za błąd

7 kontroli w kolejności, w jakiej je wykonujesz

Pierwsze kontrole blokują wszystko, co po nich następuje. Zamień twoja-strona.example na swój adres. Przy każdej kontroli znajdziesz, po czym ją poznasz, co zrobić i co pokazuje SEOgrinder.

Kontrola 1: Czy strona odpowiada kodem 200?

Każda odpowiedź serwera zaczyna się od kodu statusu. Według strony Google o kodach statusu HTTP Google nie indeksuje adresów URL ze statusem 4xx, a adresy już zindeksowane, które nagle zaczynają go zwracać, wypadają z indeksu. Przy trwałych błędach serwera (5xx) Google zwalnia skanowanie, a takie adresy w końcu są odrzucane. Przekierowanie przekazuje decyzję swojemu celowi: Google ignoruje treść przekierowującego adresu, a według raportu „Indeksowanie stron” „strona z przekierowaniem” sama nie jest indeksowana. Kod 200 jest warunkiem, nie obietnicą. Google pisze, że status 2xx „doesn't guarantee indexing”, czyli nie gwarantuje zindeksowania.

Dwie przeszkody łatwo przeoczyć. Logowanie zamyka drogę Googlebotowi, bo nie wysyła on danych logowania. A zapora sieciowa albo ochrona przed botami może odpowiadać Googlebotowi błędem, podczas gdy twoja przeglądarka widzi stronę. Pomoc Google wymienia źle skonfigurowane zapory i ochronę przed atakami DoS jako sposób na przypadkowe zablokowanie Googlebota.

curl -s -L -o /dev/null -w "%{http_code} %{url_effective}\n" https://twoja-strona.example/twoja-podstrona

Po czym poznasz: oczekujesz 200 i adresu, który masz na myśli. Polecenie pokazuje, co dostaje twój komputer. Co dostaje Google, pokaże test wersji opublikowanej w narzędziu do sprawdzania adresów URL.

Co zrobić: usuń przyczynę statusu błędu (sprawdź dziennik serwera, regułę zapory, wymóg logowania). Przy przekierowaniu cel musi odpowiadać kodem 200.

W SEOgrinder: karta „Indeksowanie” w zakładce „Strona w Google” podaje status HTTP. Zły status staje się też zadaniem, na przykład „Serwer zwrócił status 503”.

Kontrola 2: Czy strona ma noindex?

Reguła noindex mówi Google, że strona ma zostać poza indeksem. Stoi w znaczniku meta robots w nagłówku strony (w sekcji head) albo w nagłówku HTTP X-Robots-Tag. Gdy Googlebot zeskanuje stronę i odczyta regułę, Google według dokumentacji noindex całkowicie usuwa ją z wyników: „Google will drop that page entirely from Google Search results”. Przez pomyłkę reguła może trafić na stronę na kilka sposobów:

  • Ustawienie w CMS. WordPress ma w ustawieniach czytania opcję, która prosi wyszukiwarki o niezaindeksowanie witryny (po angielsku „Discourage search engines from indexing this site”). Według dokumentacji WordPressa od wersji 5.3 WordPress wpisuje wtedy do nagłówka strony znacznik meta robots z noindex,nofollow.
  • Nagłówek. Serwer albo CDN może wysyłać X-Robots-Tag: noindex. Tego nagłówka nigdy nie ma w kodzie źródłowym strony, więc łatwo go przeoczyć.
  • Prośba o usunięcie. Jeśli ktoś użył dla tego adresu narzędzia do usuwania, prośba działa tylko około sześciu miesięcy, a zakładka „Tymczasowe usunięcia” ją wymienia (pomoc Search Console).
curl -s -D - -o /dev/null https://twoja-strona.example/twoja-podstrona | grep -i x-robots-tag
curl -s https://twoja-strona.example/twoja-podstrona | grep -i -E 'name="(robots|googlebot)"'

Po czym poznasz: jeśli nic się nie wypisze, nie znaleziono ani nagłówka, ani znacznika. Jeśli pojawi się linia, noindex (albo none) trzyma stronę poza indeksem. Gdy dodatkowo robots.txt blokuje stronę (kontrola 3), robot nigdy nie zobaczy reguły („the crawler will never see the noindex rule”), więc najpierw musi zniknąć blokada. Znacznik, który JavaScript dodaje dopiero później, nie pojawi się w curl; co otrzymał Google, pokaże test wersji opublikowanej.

Co zrobić: usuń regułę w każdym miejscu, w którym stoi: opcja w CMS, znacznik meta, nagłówek. Gdy zniknie, możesz w narzędziu do sprawdzania adresów URL poprosić o zindeksowanie.

W SEOgrinder: pierwszy wiersz karty „Indeksowanie” zmienia się na „Strona jest wykluczona z indeksowania”, gdy znacznik meta robots mówi noindex, a lista zadań pokazuje „Strona jest wykluczona z Google”. Noindex w nagłówku HTTP pojawia się jako zadanie „Nagłówek HTTP wyklucza stronę z Google”.

Kontrola 3: Czy robots.txt blokuje stronę?

Plik https://twoja-strona.example/robots.txt mówi robotom, które ścieżki mają pominąć. Wprowadzenie Google do robots.txt opisuje go przede wszystkim jako sposób zarządzania ruchem robotów. Reguła pasująca do twojej strony powstrzymuje Googlebota przed jej pobraniem: zablokowany adres jest pomijany bez jakiegokolwiek żądania (podstawy JavaScript SEO). Adres może mimo to pojawić się w wynikach, jeśli linkują do niego inne strony, ale wtedy bez opisu, bo Google nie przeczytał strony.

Klasyczna wpadka to dwie linie:

User-agent: *
Disallow: /

Blokują całą witrynę dla każdego robota, który stosuje się do pliku. Węższa reguła, taka jak Disallow: /sklep/, blokuje ten folder i wszystko pod nim.

Po czym poznasz: otwórz plik i porównaj każdą linię Disallow ze ścieżką swojej strony.

Co zrobić: usuń regułę albo zawęź ją tak, żeby nie obejmowała już twojej strony.

W SEOgrinder: karta „Indeksowanie” zgłasza „Ten adres URL ma zablokowane indeksowanie” i pokazuje regułę, która zadziałała. Zadanie nazywa się „robots.txt blokuje ten adres URL”.

Kontrola 4: Czy strona to soft 404?

Soft 404 to strona, która mówi „nie znaleziono” albo pokazuje prawie nic, a mimo to odpowiada statusem 200. Według strony Google o kodach statusu Search Console pokazuje błąd soft 404 (po polsku „Pozorny błąd 404”), gdy odpowiedź 2xx zawiera komunikat o błędzie albo pustą stronę. Dla stron, których naprawdę nie ma, Google zaleca prawdziwy kod 404. Przy stronie, która ma istnieć, jest odwrotnie: potrzebuje prawdziwej treści.

Po czym poznasz: w raporcie „Indeksowanie stron” stoi przyczyna „Pozorny błąd 404”. Dla pojedynczego adresu wykonaj test wersji opublikowanej i otwórz „Wyświetl przetestowaną stronę”; zobaczysz tam zrzut ekranu strony tak, jak renderuje ją Google. Potem zapytaj serwer o adres, który nie może istnieć:

curl -s -L -o /dev/null -w "%{http_code} %{url_effective}\n" https://twoja-strona.example/strony-nie-ma

Oczekujesz 404. Jeśli dostaniesz 200, serwer odpowiada sukcesem na każdy adres, a to jest wzorzec stojący za błędami soft 404.

Co zrobić: serwer musi wysyłać 404 albo 410 dla tego, czego nie ma. Instrukcje dla nginx, Node i aplikacji jednostronicowych znajdziesz w naszym artykule o błędach soft 404.

W SEOgrinder: karta „Indeksowanie” ma wiersz „Nieznane adresy poprawnie zwracają 404” albo „Nieznane adresy zwracają 200 zamiast 404” wraz z zadaniem. SEOgrinder sam wymyśla adres i pyta twój serwer, więc sprawdza, jak serwer traktuje adresy, których nie ma. Czy Google zapisał twoją stronę jako soft 404, pokazuje tylko Search Console.

Kontrola 5: Czy treść powstaje dopiero w przeglądarce?

Google wykonuje JavaScript. Jego podstawy JavaScript SEO wyjaśniają, że strony ze statusem 200 czekają w kolejce na renderowanie, co może zająć kilka sekund, ale też dłużej („a few seconds, but it can take longer”). Sam JavaScript nie trzyma więc strony poza Google. Przyczyną staje się w czterech przypadkach, które opisuje ta sama strona:

  • noindex w oryginalnym HTML. Gdy Google trafi na noindex, może pominąć renderowanie, więc JavaScript, który usuwa znacznik, „may not work as expected”, czyli może nie zadziałać tak, jak zakładasz. Jeśli strona ma być zindeksowana, noindex w ogóle nie powinno być w oryginalnym kodzie.
  • Zablokowane skrypty. „Google Search won't render JavaScript from blocked files or on blocked pages”: Google nie renderuje JavaScriptu z zablokowanych plików ani na zablokowanych stronach.
  • Linki, które nie są linkami. Google znajduje tylko linki będące elementami <a> z atrybutem href. Adresy różniące się dopiero za znakiem # nie są niezawodne.
  • Strony błędów w aplikacjach jednostronicowych. Aplikacja, która na każdy adres odpowiada kodem 200, tworzy błędy soft 404 (kontrola 4).

Po czym poznasz: wybierz „Wyświetl źródło strony” (nie panel Elementy w narzędziach deweloperskich) i poszukaj nagłówka oraz głównego tekstu. Jeśli ich brakuje, buduje je JavaScript. Potem test wersji opublikowanej z „Wyświetl przetestowaną stronę” pokaże, jak Google wyrenderował stronę.

Co zrobić: dostarczaj treść już w HTML. Sam Google nadal nazywa renderowanie po stronie serwera albo wstępne renderowanie świetnym pomysłem, bo „not all bots can run JavaScript”, czyli nie wszystkie boty wykonują JavaScript. Tymi innymi botami zajmuje się nasz artykuł o botach AI i JavaScript.

W SEOgrinder: zadanie „Strona powstaje dopiero w przeglądarce” pojawia się, gdy HTML dostarczany przez twój serwer prawie nie zawiera tekstu, nagłówków ani linków wewnętrznych. Wskazuje ryzyko dla robotów, które nie wykonują JavaScriptu. Czy Google poprawnie renderuje twoją stronę, pokaże test wersji opublikowanej.

Kontrola 6: Czy Google może znaleźć stronę? Mapa witryny i linki

Google może zindeksować tylko to, co znajdzie. Według pomocy do raportu „Indeksowanie stron” dowiaduje się o stronie z mapy witryny, z prośby o skanowanie albo z linku gdzieś w sieci. Googlebot skanuje adresy znalezione na stronach, które już wcześniej zeskanował, więc strona, do której nic nie linkuje, może pozostać nieznana, zwłaszcza w nowej witrynie z niewieloma linkami z zewnątrz (przegląd map witryn).

Po czym poznasz: otwórz https://twoja-strona.example/sitemap.xml albo adres podany w robots.txt i poszukaj strony. Sprawdź też, czy prowadzi do niej link z jakiejś strony, która jest już w indeksie.

Co zrobić:

  • Uzupełnij mapę witryny. Google prosi o pełne, bezwzględne adresy i tylko takie, które mają być widoczne w wynikach wyszukiwania (tworzenie mapy witryny). Adresy, które odpowiadają 404, przekierowują albo mają noindex, nie powinny w niej być.
  • Prześlij ją. Raport „Mapy witryn” w Search Console pokazuje, kiedy Googlebot odczytał plik i czy wystąpiły błędy. robots.txt nie może blokować pliku.
  • Podlinkuj stronę z co najmniej jednej strony, która jest już w indeksie, na przykład ze strony głównej albo z pokrewnego artykułu.
  • Poproś o zindeksowanie, ale oszczędnie. Przy nowej witrynie Google nazywa prośbę o zindeksowanie strony głównej najlepszym pierwszym krokiem. Narzędzie do sprawdzania adresów URL jest przeznaczone do „just a few URLs”, czyli do kilku adresów, obowiązuje limit, a kto prosi wielokrotnie o ten sam adres, nie sprawi, że zostanie zeskanowany szybciej („won't get it crawled any faster”, pomoc o ponownym skanowaniu).

Mapa witryny pomaga Google odkrywać adresy, ale „doesn't guarantee”, czyli nie gwarantuje, że wszystko, co w niej jest, zostanie zeskanowane i zindeksowane. Google dodaje, że witryna licząca około 500 stron lub mniej, w całości powiązana linkami, może w ogóle jej nie potrzebować.

W SEOgrinder: karta „Indeksowanie” mówi „Ten adres URL jest w mapie witryny” albo „Tego adresu URL nie ma w mapie witryny”. Lista zadań może pokazać „Nie znaleziono mapy witryny”, „Mapa witryny podaje stronę z noindex” oraz zadanie, które liczy adresy z mapy witryny niezwracające kodu 200. Przy przeglądzie witryny zadanie w rodzaju „Jedna strona nie ma żadnego linku wewnętrznego” pokazuje strony, do których nic nie linkuje.

Kontrola 7: Czy Google miał dość czasu?

Google nie podaje terminu. Jego pomoc o ponownym skanowaniu mówi: „Crawling can take anywhere from a few days to a few weeks.” Pomoc do raportu „Indeksowanie stron” dodaje, że „it can take a week or so”, czyli około tygodnia, zanim Google zacznie skanować i indeksować nową stronę lub witrynę, że indeksowanie „is never instant, even when you submit a crawl request directly” (nigdy nie jest natychmiastowe, nawet po bezpośredniej prośbie o skanowanie) i że Google nie gwarantuje, iż wszystkie strony trafią do jego indeksu.

Search Console zna dwa stany oczekiwania. „Strona wykryta – obecnie niezindeksowana” znaczy, że Google znalazł stronę, ale jeszcze jej nie zeskanował, zwykle dlatego, że skanowanie przeciążyłoby witrynę. „Strona zeskanowana, ale jeszcze niezindeksowana” znaczy, że Google pobrał stronę i nie dodał jej do indeksu. Google nazywa to „a common message for many sites”, czyli komunikatem częstym w wielu witrynach, który „doesn't necessarily indicate an issue that needs attention”, a więc niekoniecznie wskazuje problem wymagający uwagi. Radzi też nie oczekiwać, że każdy adres w witrynie zostanie zindeksowany.

Po czym poznasz: kontrole 1–6 niczego nie wykazały, a strona ma dopiero kilka dni albo tygodni.

Co zrobić: poczekaj i po kilku dniach zajrzyj ponownie pod te same adresy, nie co godzinę. Jeśli strona jest wyraźnie starsza i nadal stoi na „Strona zeskanowana, ale jeszcze niezindeksowana”, Google nie podaje dalszej przyczyny. Nasza ocena, nie Google: sprawdź, czy strona mówi coś, czego nie mówią twoje inne strony, i czy ważne strony na nią linkują.

W SEOgrinder: jak długo Google jeszcze potrzebuje, tego skan nie zobaczy. Lokalna instalacja połączona z Search Console może zapytać narzędzie do sprawdzania adresów URL o zeskanowaną stronę i pokazać w raporcie zapisaną odpowiedź Google, na przykład „Google jeszcze nie zna tego adresu”. Wersja na seogrinder.com nie łączy się z twoim kontem Search Console.

Co skan pokazuje, a czego nie

SEOgrinder to nasze narzędzie, sami je budujemy. Skan z zewnątrz czyta, co mówi twoja strona i jak odpowiada serwer: status, noindex, robots.txt, zachowanie serwera wobec soft 404, dostarczany HTML i mapę witryny. Nie widzi indeksu Google i nie powie ci, dlaczego Google zeskanował stronę i jej nie przyjął. Na pytanie o indeks odpowiadają Search Console i wyszukanie dokładnego adresu. Zielony raport nie obiecuje ani że strona się pojawi, ani na jakiej pozycji się znajdzie. Tego nie obiecze nikt.

Najczęstsze błędy

  • Ocenianie po jednym wyszukiwaniu. Wyniki różnią się w zależności od osoby i miejsca. Szukaj dokładnego adresu albo użyj narzędzia do sprawdzania adresów URL.
  • Blokowanie w robots.txt i dodatkowy noindex. Google nigdy nie zobaczy wtedy reguły noindex. Do jednego celu używaj jednego sposobu.
  • Usuwanie noindex tylko w jednym miejscu. Może stać jednocześnie w ustawieniu wtyczki, w znaczniku meta i w nagłówku HTTP.
  • Wielokrotne proszenie o zindeksowanie. Niczego to nie przyspiesza.
  • Zatrzymanie się na pierwszym znalezisku. Na jedną stronę może wpływać kilka przyczyn naraz, więc przejdź wszystkie siedem kontroli.

Najczęstsze pytania

Dlaczego moja nowa strona nie wyświetla się w Google?

Jedna z możliwych przyczyn to to, że Google jeszcze jej nie zeskanował, co może potrwać około tygodnia. Prześlij mapę witryny, poproś o zindeksowanie strony głównej i przejdź siedem kontroli.

Search Console mówi „Adres URL znajduje się w Google”, a ja nie mogę znaleźć strony. Dlaczego?

„Adres URL znajduje się w Google” znaczy, że strona może się pojawić, nie że pojawia się przy każdym wyszukiwaniu. Wyszukaj dokładny adres. Jeśli się pokaże, indeksowanie jest w porządku, a pytanie dotyczy pozycji.

Moja strona była w Google, a potem zniknęła. Którą kontrolę zrobić?

Zacznij od kontroli 1–3. Google usuwa zindeksowane adresy zwracające status 4xx, a według Google spadek liczby zindeksowanych stron bez odpowiedniego wzrostu liczby błędów może oznaczać, że blokujesz istniejące strony przez robots.txt, noindex albo logowanie. Sprawdź też, czy nie ma prośby o usunięcie.

Twój następny krok

Wpisz adres brakującej strony w darmowy skan SEOgrinder. W zakładce „Strona w Google” przeczytaj kartę „Indeksowanie” i napraw każdy czerwony wiersz; lista zadań pokazuje, co jest najpierw. Po zmianie kliknij „Sprawdź ponownie” (raporty mogą stać w pamięci podręcznej do 24 godzin), potem prześlij mapę witryny i daj Google czas. Do wszystkiego poza indeksowaniem użyj naszej checklisty SEO.

Zobacz także

Więcej z bloga