Jak kody stanu HTTP, błędy sieci i błędy DNS wpływają na działanie wyszukiwarki Google

Z tego artykułu dowiesz się, jak różne kody stanu HTTP, błędy sieci i DNS wpływają na działanie wyszukiwarki Google. Opisujemy tutaj 20 kodów stanu, które Googlebot napotyka w internecie, oraz najczęściej występujące błędy sieci i błędy DNS. Nie znajdziesz tutaj informacji o rzadkich kodach błędów, takich jak 418 (I'm a teapot). Wszystkie błędy wymienione w tym artykule powodują wygenerowanie odpowiedniej informacji o błędzie lub ostrzeżenia w raporcie Statystyki indeksowania w Search Console.

Kody stanów HTTP

Kody stanu HTTP generuje serwer hostujący witrynę, gdy odpowiada na żądania wysyłane przez klienta, np. przeglądarkę lub robota. Każdy kod stanu HTTP ma inne znaczenie, ale odpowiedź na żądanie często jest taka sama. Na przykład istnieje wiele kodów stanu sygnalizujących przekierowanie, ale ich wynik jest jednakowy.

Search Console generuje komunikaty o błędach dla kodów stanu z zakresu 4xx–5xx oraz dla nieudanych przekierowań (3xx). Jeśli serwer odpowiada kodem stanu 2xx, treść otrzymana w odpowiedzi jest uznawana za możliwą do zindeksowania.

Kody stanów HTTP
2xx (success)

Google uznaje, że treści należy zindeksować. Jeśli treści sugerują występowanie błędu – pusta strona lub komunikat o błędzie – Search Console wyświetla pozorny błąd 404.

200 (success)

Googlebot przekazuje treści do procesu indeksowania. Systemy indeksowania mogą indeksować treści, ale nie jest to gwarantowane.

201 (created)
202 (accepted)

Googlebot czeka na treści przez określony czas, a potem przekazuje to, co otrzymał w odpowiedzi, do procesu indeksowania. Ten limit czasu zależy od rodzaju klienta użytkownika, np. Googlebot indeksujący strony na smartfony może mieć inny czas oczekiwania niż Googlebot indeksujący obrazy.

204 (no content)

Googlebot wysyła do procesu indeksowania sygnał, że otrzymał treści. Search Console może wyświetlić w raporcie Stan w indeksie pozorny błąd 404.

3xx (redirects)

Googlebot śledzi do 10 przekierowań. Jeśli w tej liczbie przekierowań robot nie otrzyma treści, Search Console wyświetli w raporcie Stan w indeksie błąd przekierowania. Liczba śledzonych przekierowań zależy od rodzaju klienta użytkownika, np. Googlebot indeksujący strony na smartfony może mieć inną wartość niż Googlebot indeksujący obrazy.

301 (moved permanently)

Googlebot śledzi przekierowanie, a proces indeksowania interpretuje je jako mocny sygnał, że docelowa strona przekierowania powinna być kanoniczna.

302 (found)

Googlebot śledzi przekierowanie, a proces indeksowania interpretuje je jako słaby sygnał, że docelowa strona przekierowania powinna być kanoniczna.

303 (see other)
304 (not modified)

Googlebot wysyła do procesu indeksowania sygnał, że treści są identyczne jak przy ostatnim indeksowaniu. Proces indeksowania może ponownie obliczyć sygnały dla adresu URL, ale kod stanu nie ma wpływu na indeksowanie.

307 (temporary redirect) Odpowiednik: 302.
308 (moved permanently) Odpowiednik: 301.
4xx (client errors)

Proces indeksowania Googlebota nie uwzględnia adresów URL, które zwracają kod stanu indeksowania 4xx. Adresy URL, które zostały już zindeksowane i zwracają kod stanu 4xx, są usuwane z indeksu.

400 (bad request)

Wszystkie błędy 4xx (poza błędem 429) są traktowane tak samo: Googlebot wysyła do procesu indeksowania sygnał, że treści nie istnieją.

Proces indeksowania usuwa adres URL z indeksu, jeśli wcześniej został zindeksowany. Nowo napotkane strony z kodem 404 nie są przetwarzane. Częstotliwość indeksowania powoli się zmniejsza.

401 (unauthorized)
403 (forbidden)
404 (not found)
410 (gone)
411 (length required)
429 (too many requests)

Googlebot traktuje kod stanu 429 jako sygnał, że serwer jest przeciążony, i uznaje go za błąd serwera.

5xx (server errors)

Błędy serwera 5xx429 informują roboty Google, że na jakiś czas należy zwolnić indeksowanie. Zindeksowane już adresy URL są zachowywane w indeksie, ale po jakimś czasie są z niego usuwane.

500 (internal server error)

Googlebot zmniejsza szybkość indeksowania witryny. Spadek szybkości indeksowania jest proporcjonalny do liczby poszczególnych adresów URL, które zwracają błąd serwera. Proces indeksowania Google usuwa z indeksu adresy URL, które stale zwracają błąd serwera.

502 (bad gateway)
503 (service unavailable)

Błędy sieci i błędy DNS

Błędy sieci i DNS mają szybki i negatywny wpływ na wyświetlanie adresów URL w wyszukiwarce Google. Googlebot traktuje limity czasu sieci, resetowania połączeń i błędy DNS podobnie do błędów serwera 5xx. W przypadku błędów sieci indeksowanie od razu zwalnia, ponieważ jest to sygnał, że serwer może być przeciążony. Wcześniej zindeksowane adresy URL, które są nieosiągalne, zostaną usunięte z indeksu Google w ciągu kilku dni. Search Console może generować komunikaty o błędach w przypadku każdego błędu.

Debugowanie błędów sieci

Te błędy występują, zanim Google zacznie indeksować adres URL lub w trakcie indeksowania przez Google adresu URL. Takie błędy mogą wystąpić przed odpowiedzią serwera, dlatego nie można ustalić kodu stanu wskazującego na problem – stąd zdiagnozowanie takich błędów bywa trudne. Aby debugować błędy limitu czasu i resetowania połączenia:

  • Sprawdź ustawienia zapory sieciowej i dzienniki. Może istnieć bardzo ogólny zestaw reguł blokowania.
  • Sprawdź ruch w sieci. Użyj narzędzi takich jak tcpdumpWireshark, aby przechwycić i przeanalizować pakiety TCP. Poszukaj w nich anomalii, które wskazują na określony komponent sieci lub moduł serwera.
  • Jeśli nie znajdziesz potencjalnej przyczyny problemów, skontaktuj się z firmą hostingową.

Błąd może występować w dowolnym komponencie serwera, który obsługuje ruch w sieci. Na przykład przeciążone interfejsy sieciowe mogą porzucać pakiety, co prowadzi do przekraczania limitów czasu (braku możliwości nawiązania połączenia) i resetowania połączeń (wysyłania pakietu RST z powodu omyłkowego zamknięcia portu).

Debugowanie błędów DNS

Najczęstszą przyczyną błędów DNS jest nieprawidłowa konfiguracja. Aby debugować błędy DNS, wykonaj te czynności:

  • Sprawdź rekordy DNS. Upewnij się, że rekordy ACNAME wskazują odpowiednio prawidłowe adresy IP i nazwę hosta. Na przykład:
    dig +nocmd example.com a +noall +answer
    dig +nocmd www.example.com cname +noall +answer
  • Sprawdź, czy wszystkie Twoje serwery nazw wskazują prawidłowe adresy IP witryny. Na przykład:
    dig +nocmd example.com ns +noall +answer
    example.com.    86400  IN  NS  a.iana-servers.net.
    example.com.    86400  IN  NS  b.iana-servers.net.
    dig +nocmd @a.iana-servers.net example.com +noall +answer
    example.com.    86400  IN  A  93.184.216.34
    dig +nocmd @b.iana-servers.net example.com +noall +answer
    ...
  • Jeśli w ciągu ostatnich 72 godzin wprowadzono zmiany w konfiguracji DNS, zaczekaj, aż zostaną one obowiązywać w globalnej sieci DNS.
  • Jeśli korzystasz z własnego serwera DNS, upewnij się, że jest w dobrej kondycji i nie jest przeciążony.