Strona zablokowana z powodu nieautoryzowanego żądania (401)

Status w Search Console: Strona zablokowana z powodu nieautoryzowanego żądania (401)

Serwer odpowiedział Googlebotowi kodem 401, czyli zażądał danych logowania. Googlebot nigdy ich nie wysyła, więc strona nie zostanie zindeksowana, a jeśli była w indeksie, z czasem z niego wypadnie. Najczęściej to wersja testowa z hasłem HTTP, dział za logowaniem albo reguła dostępu w CDN. Jeśli strona ma być publiczna, zdejmij wymaganie logowania dla niezalogowanych użytkowników.

Status „Strona zablokowana z powodu nieautoryzowanego żądania (401)” oznacza, że serwer zażądał od Googlebota logowania. Googlebot nie loguje się nigdzie, więc strona pozostaje poza indeksem do czasu, aż otworzysz ją dla niezalogowanych.

Co oznacza ten status

Google opisuje go wprost: strona została zablokowana dla Googlebota przez żądanie autoryzacji, czyli odpowiedź 401 (raport Indeksowanie stron). Tam też podaje dwa wyjścia: usunąć wymaganie autoryzacji albo zezwolić Googlebotowi na dostęp po zweryfikowaniu tożsamości. Do szybkiego sprawdzenia radzi tryb incognito.

Kod 401 należy do grupy błędów klienta. Według dokumentacji o kodach stanu (jak kody HTTP wpływają na roboty Google) wszystkie błędy 4xx poza 429 Google traktuje tak samo: treść uznaje za nieistniejącą, a zindeksowany adres usuwa z indeksu. Ta sama strona zabrania używać 401 i 403 do ograniczania szybkości skanowania. Przegląd kodów zbiera hasło o kodach odpowiedzi HTTP.

Najczęstsze przyczyny

Wersja testowa z hasłem HTTP

Najczęstszy i zwykle niegroźny przypadek. Serwis na subdomenie staging. ma włączone Basic Auth, a Google poznał adresy z linków albo z mapy witryny skopiowanej z produkcji. Status jest prawidłowy, dopóki nie dotyczy domeny produkcyjnej.

Hasło, które zostało po wdrożeniu

Po migracji plik .htaccess z regułą AuthType Basic przeszedł razem z kodem na produkcję. Cała domena odpowiada 401, a zespół tego nie widzi, bo ma zapamiętane hasło.

Dział za logowaniem w linkach i mapie witryny

Panel klienta albo strony kursu po zalogowaniu. Aplikacja poprawnie zwraca 401, ale adresy trafiły do mapy witryny albo nawigacji, więc Google próbuje je skanować.

Reguły dostępu w CDN

W Cloudflare reguła „wymagaj logowania dla /admin/” bywa zapisana zbyt szeroko, na przykład dla /a*. Objęte nią publiczne strony odpowiadają 401, choć serwer źródłowy zwróciłby 200.

Wtyczka CMS albo ciasteczko sesji

Wtyczki członkowskie w WordPressie, moduł „sklep tylko dla zalogowanych” w PrestaShopie albo tryb prywatny włączony na czas prac. Do tej grupy należy też aplikacja, która bez ciasteczka sesji zwraca 401 nawet na stronach publicznych. Przeglądarka ciasteczko dostaje, robot go nie przenosi.

Jak to potwierdzić

Najpierw tryb incognito. Jeśli przeglądarka prosi o login i hasło, masz potwierdzenie. Potem w Search Console kliknij „Sprawdź URL” i uruchom test wersji opublikowanej. Pole „Pobranie strony” w sekcji Dostępność pokaże kod zwrócony robotowi (narzędzie do sprawdzania adresów URL).

Z terminala sprawdź, co dostaje klient bez sesji:

  • curl -I https://example.com/strona/ - kod 401 i nagłówek WWW-Authenticate oznaczają hasło HTTP na serwerze,
  • curl -I -A "Googlebot/2.1" https://example.com/strona/ - czy nazwa klienta zmienia odpowiedź.

Nagłówek cf-ray w odpowiedzi podpowie, czy 401 wystawia CDN, czy serwer źródłowy. W logach poszukaj wpisów 401 z czasu skanowania. IP zweryfikuj zgodnie z dokumentacją (weryfikacja żądań Googlebota): odwrotne DNS musi prowadzić do domeny googlebot.com albo google.com, a zwykłe DNS tej nazwy z powrotem do tego samego IP.

Jeśli adres przekierowuje, 401 może zwracać dopiero cel. Sprawdzarka przekierowań pokaże cały łańcuch z kodami, a sprawdzarka indeksowalności zbierze kod, meta robots i canonical w jednym miejscu.

Jak to naprawić

  1. Wersja testowa: zostaw hasło. Usuń adresy testowe z mapy witryny produkcji i popraw linki bezwzględne prowadzące na staging..
  2. Hasło po wdrożeniu: usuń dyrektywy AuthType i Require valid-user z .htaccess albo konfiguracji serwera. Sprawdź curl -I z zewnętrznej sieci.
  3. Dział za logowaniem: wytnij adresy z mapy witryny i nawigacji dla niezalogowanych. Kod 401 zostaw, jest poprawny.
  4. CDN: zawęź regułę dostępu do konkretnej ścieżki. Wyjątek dla zweryfikowanych zakresów IP Google dodaj tylko wtedy, gdy strona ma być w indeksie.
  5. CMS i sesja: wyłącz tryb prywatny, ogranicz wtyczkę do wybranych stron, a sprawdzanie ciasteczka przenieś tylko na strony, które go wymagają. Publiczne muszą odpowiadać 200 bez ciasteczek.
  6. Po naprawie uruchom test wersji opublikowanej dla kilku adresów i w raporcie kliknij „Sprawdź poprawkę”.

Kiedy to w porządku, a kiedy działać

SytuacjaOcenaCo zrobić
401 na domenie testowej z hasłemw porządkuusunąć linki i mapę witryny prowadzące na test
401 na stronach produkcyjnych, które wczoraj miały 200awariazdjąć hasło albo regułę dzisiaj
401 tylko dla klienta Googlebotbłąd konfiguracjisprawdzić WAF i CDN

Hasło to zalecany przez Google sposób, by nie dopuścić do strony ani robotów, ani użytkowników (Googlebot). Jeśli strona ma być widoczna dla ludzi, ale poza wynikami, właściwym narzędziem jest noindex. Zasady indeksowalności opisujemy osobno.

Jeśli zamiast 401 widzisz błąd 403, przyczyna leży zwykle w zaporze. Pozostałe kody z tej grupy trafiają do statusu inny błąd 4xx.

Jak pilnować na co dzień

IndexRise co noc sprawdza kody odpowiedzi monitorowanych stron. Kod 401 na adresie, który wcześniej zwracał 200, to zdarzenie krytyczne, bo zwykle oznacza hasło przeniesione na produkcję albo zbyt szeroką regułę w CDN. Potwierdzamy je w kolejnym sprawdzeniu i odróżniamy od „nie udało się sprawdzić”, kiedy serwer w ogóle nie odpowiedział. Najwięcej takich zdarzeń łapie kontrola SEO po wdrożeniu.

401 na wersji testowej to norma. 401 na produkcji to zwykle plik konfiguracyjny, który przyjechał ze środowiska deweloperskiego.
Sprawdź to na swojej stronieSprawdzarka przekierowańCały łańcuch z kodami, celem i nagłówkami — do 10 adresów naraz.

Najczęściej zadawane pytania

Czy Googlebot może się zalogować, jeśli dam mu hasło?

Nie. Według dokumentacji Google Googlebot nigdy nie podaje danych logowania. Jedyna droga to dopuszczenie żądań bez uwierzytelniania, najlepiej tylko dla zweryfikowanych adresów IP Google.

Strona testowa pokazuje 401. Czy to problem?

Nie, o ile wersja testowa ma własną domenę, której nie ma w mapie witryny ani w linkach z produkcji. Hasło HTTP to zalecany sposób trzymania jej poza indeksem. Problem zaczyna się, gdy 401 zwraca adres produkcyjny.

Dlaczego w przeglądarce widzę stronę, a Google dostaje 401?

Bo jesteś zalogowany albo masz ciasteczko sesji. Otwórz adres w trybie incognito, tak jak radzi dokumentacja Google, albo wyślij żądanie przez curl bez nagłówków.

Czym 401 różni się od 403?

401 mówi: zaloguj się, a potem spróbuj ponownie. 403 mówi: dostęp zabroniony niezależnie od logowania. Google obsługuje oba kody tak samo: nie indeksuje treści i usuwa adres z indeksu, jeśli błąd się utrzymuje.

Czy zamiast 401 lepiej dać noindex?

To zależy od celu. Jeśli treść ma być niewidoczna dla ludzi, zostaw hasło. Jeśli ma być dostępna dla ludzi, ale poza indeksem, użyj noindex i otwórz stronę dla wszystkich.

Po zdjęciu hasła status dalej wisi. Co robić?

Uruchom test wersji opublikowanej w narzędziu do sprawdzania adresów URL. Jeśli pokazuje kod 200, kliknij „Sprawdź poprawkę” w raporcie i poczekaj na ponowne skanowanie.

Aktualizacja: 2026-10-20