Zablokowano z powodu nieautoryzowanego żądania (401)

Co oznacza status indeksowania stron Google Search Console „Blocked due to unauthorized request (401)”, czym różni się od 403 według RFC 9110, jakie są typowe przyczyny, jak diagnozować problem jako bot i jak dobrać naprawę do rodzaju strony — publicznej, prywatnej, błędnie zablokowanej przez WAF lub za paywallem.

Opublikowano po raz pierwszy: 23 cze 2026 · Ostatnia aktualizacja: 9 sie 2026 · Advanced
Języki
2 sygnałów dowodowych na tej stronie

„Blocked due to unauthorized request (401)” w raporcie Page Indexing Google Search Console oznacza, że Googlebot otrzymał HTTP 401 (wymagane uwierzytelnienie) podczas crawlowania adresu URL. Google nigdy nie podaje danych logowania, więc nie widzi strony — nie zostanie ona zindeksowana, a wcześniej zindeksowany adres URL z czasem wypadnie z indeksu. Według RFC 9110 kod 401 oznacza brak prawidłowych danych uwierzytelniających (nie wysłano ich albo je odrzucono), natomiast 403 oznacza, że serwer zrozumiał żądanie i odmówił jego realizacji, niekoniecznie z powodu auth. Google traktuje wszystkie 4xx poza 429 tak samo dla indeksowania, ale przyczyna i naprawa zależą od strony: usuń auth z przypadkowo zablokowanej strony publicznej; dopuść zweryfikowanego Googlebota przez IP/odwrotny DNS, gdy blokuje go ochrona botów; zachowaj bramkę dla treści prywatnej lub stagingowej; użyj danych strukturalnych paywalla Google zamiast ogólnego 401 dla indeksowalnej treści subskrypcyjnej. "Loads fine in my browser" _(tłumaczenie)_ «„U mnie działa”» jest pułapką, bo jesteś uwierzytelniony, a Googlebot nie. Diagnozuj przez URL Inspection Live Test i anonimowe curl -I; brak WWW-Authenticate oznacza wadliwą odpowiedź, nie dowodzi WAF. Live Test i Validate Fix potwierdzają dostęp, nie indeksowanie, a Google nie publikuje harmonogramu ponowień.

TL;DR — „Blocked due to unauthorized request (401)” oznacza, że Googlebot otrzymał HTTP 401 (Unauthorized) — bramkę uwierzytelniania, której nie może przejść. Google nigdy nie podaje danych uwierzytelniających, więc nie widzi treści: strona nie zostanie zindeksowana, a wcześniej zindeksowany adres URL z czasem wypadnie z indeksu. 401 a 403, precyzyjnie według RFC 9110: 401 oznacza brak prawidłowych danych uwierzytelniających (nie wysłano ich albo serwer je odrzucił), a 403 — że serwer zrozumiał żądanie, lecz odmówił jego realizacji z powodów, które nie zawsze dotyczą danych uwierzytelniających. Google traktuje wszystkie 4xx poza 429 tak samo dla indeksowania, więc skutek jest taki sam, ale przyczyna i naprawa zależą od rodzaju strony: usuń wymaganie autoryzacji z przypadkowo zablokowanej strony publicznej; przepuść zweryfikowanego Googlebota przez IP/odwrotny DNS (nigdy przez łatwy do podrobienia user-agent), gdy blokuje go ochrona botów; zachowaj uwierzytelnianie dla rzeczywiście prywatnej treści lub stagingu; użyj danych strukturalnych paywalla Google zamiast ogólnego 401 dla indeksowalnej treści subskrypcyjnej. „U mnie działa” to pułapka — jesteś uwierzytelniony, a Googlebot nie. Nie używaj 401/403 do ograniczania crawlowania. Diagnozuj jako bot (URL Inspection Live Test, curl -I) — brak nagłówka WWW-Authenticate oznacza wadliwą odpowiedź, a nie dowodzi, że jej źródłem jest WAF. Live Test i Validate Fix potwierdzają dostęp, nie indeksowanie, a Google nie opublikował harmonogramu ponowień.

Co Google naprawdę komunikuje

Etykieta Page Indexing podaje odpowiedź zaobserwowaną przez Google, ale nie wskazuje, która reguła uwierzytelniania, CDN-u lub aplikacji ją wygenerowała. Evidence for this claim The Page Indexing report identifies URLs where Google encountered an authorization request. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Mechanizm indeksowania wynika z udokumentowanego przez Google traktowania odpowiedzi 4xx. Evidence for this claim Google treats 4xx responses other than 429 as if the content does not exist for indexing. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes

Status pochodzi bezpośrednio z kodu odpowiedzi serwera. Googlebot zażądał adresu URL i otrzymał HTTP 401, czyli status „Unauthorized” — strona znajduje się za bramką uwierzytelniania (HTTP Basic Auth, ścianą logowania lub regułą kontroli dostępu). Własna definicja Google w raporcie Page Indexing mówi, że strona została zablokowana przed Googlebotem przez żądanie autoryzacji; jeśli chcesz ją zindeksować, musisz albo usunąć wymaganie autoryzacji, albo przepuścić Googlebota po zweryfikowaniu jego tożsamości.

W moim własnym tekście Wpływ kodów statusu HTTP na SEO opisuję 401 jako sytuację, w której klient nie zidentyfikował się ani nie zweryfikował, gdy było to potrzebne — to użyteczny model mentalny, ale nie pełna definicja protokołu. Dokładna reguła z RFC 9110 brzmi: żądaniu brakuje prawidłowych danych uwierzytelniających do zasobu, a 401 może nastąpić również po odrzuceniu danych przez serwer. 401 nie zawsze oznacza więc, że Googlebot (albo przeglądarka) nie wysłał niczego — tylko że przedstawione dane nie były prawidłowe. Praktyczny skutek dla Googlebota jest taki sam: nie ma on danych, które mógłby zaoferować, więc nie przechodzi przez bramkę.

Co Google robi z kodem 401

Nic dobrego, jeśli zależało Ci na indeksowaniu strony. Dokumentacja Google dotycząca statusów HTTP wyraźnie mówi, że wszystkie błędy 4xx poza 429 są traktowane tak samo — crawlery informują kolejny system przetwarzania, że treść nie istnieje. 401 w praktyce przekazuje Google komunikat „tej strony tu nie ma”. Konsekwencje są następujące:

  • Strona nie zostanie zindeksowana. Google nie zobaczyło treści, więc nie ma czego indeksować.
  • Wcześniej zindeksowana strona wypadnie z indeksu. Nie jest to wyjątkowe zachowanie kodu 401 — dotyczy całej rodziny 4xx. Jak piszę w tekście Ahrefs o statusach HTTP, “4xxs will cause pages to drop from the index.” (tłumaczenie) «Kody 4xx powodują wypadanie stron z indeksu.» Jeśli strona wcześniej zindeksowana przez Google zacznie zwracać 401, kolejne crawle doprowadzą z czasem do usunięcia adresu URL.
  • Nie ogranicza to crawlowania. Google mówi wprost: nie używaj statusów 401 i 403 do ograniczania tempa crawlowania. 4xx (poza 429) nie wpływa na tempo, więc 401 nie jest pokrętłem „zwolnij” — do tego służą 503 i 429.

Jednej rzeczy nie zamierzam Ci obiecywać: konkretnego harmonogramu ponowień. Google ponownie crawluje strony z czasem, ale dokumentacja nie publikuje gwarantowanego planu „Googlebot ponowi próbę 401 co N dni”, więc nie będę go udawać. Traktuj ponowny crawl jak coś, co nastąpi kiedyś, a nie jak stoper.

401 a 403 i inne 4xx — różnica, która ma znaczenie

To rozróżnienie jest w większości tekstów zacierane, a właśnie ono daje tu największą wartość. Dla indeksowania Google traktuje 401 i 403 identycznie (zasada 4xx poza 429). Przyczyna i naprawa są jednak różne, ponieważ kody oznaczają różne rzeczy:

  • 401 Unauthorized według definicji RFC 9110 — żądaniu brakuje prawidłowych danych uwierzytelniających do zasobu. Obejmuje to dwa przypadki: nie wysłano żadnych danych albo dane wysłano, lecz serwer je odrzucił. Zgodna odpowiedź 401 musi zawierać nagłówek WWW-Authenticate z co najmniej jednym wyzwaniem. Moje krótkie ujęcie — „klient nie zidentyfikował się ani nie zweryfikował, gdy było to potrzebne” — jest użytecznym skrótem typowego przypadku, ale nie pełną definicją.
  • 403 Forbidden według tego samego RFC — serwer zrozumiał żądanie, ale odmawia jego realizacji. Dane uwierzytelniające są jedną z możliwych przyczyn, lecz specyfikacja wyraźnie dopuszcza odmowę z powodów „niezwiązanych z danymi uwierzytelniającymi”. 403 nie zawsze oznacza więc „klient jest znany/uwierzytelniony, ale nie ma uprawnień” — to częsty wzorzec, nie gwarancja. W raporcie Page Indexing Google 403 dla Googlebota, który nigdy nie wysyła danych uwierzytelniających, zwykle oznacza błędną odpowiedź serwera — często źle skonfigurowaną zaporę, WAF albo regułę botów. Istnieje osobny status Blocked due to access forbidden (403), a ścieżka diagnozy w dużej mierze się pokrywa.

Praktyczny skrót nadal pomaga w triage: 401 ≈ „bramka uwierzytelniania, której nie zdjąłem” (witryna stagingowa lub pozostawione HTTP auth), a 403 ≈ „reguła bezpieczeństwa błędnie blokująca Googlebota”. Skutek indeksowania jest ten sam, a przyczyna inna — nie traktuj jednak żadnego skrótu jako granicy protokołu. Tabela decyzyjna znajduje się w karcie Cheat Sheets.

Dlaczego widzisz ten status — typowe przyczyny

Na stronie, którą rzeczywiście chcesz zindeksować, kod 401 prawie zawsze wynika z jednej z następujących przyczyn:

  • Witryna stagingowa lub deweloperska za Basic Auth. Zabezpieczyłeś środowisko stagingowe hasłem (słusznie), ale Google w jakiś sposób odkrył adres URL — przez link wewnętrzny, mapę witryny albo ujawnione odwołanie — i teraz raportuje 401. Jeśli adres stagingowy rzeczywiście nie powinien być publiczny, jest to oczekiwane (zobacz sekcję o celowym 401).
  • Przypadkowe HTTP auth na publicznej sekcji. Reguła .htpasswd, wtyczka „coming soon” albo bramka trybu konserwacji została pozostawiona na katalogu, który powinien być już aktywny.
  • WAF / CDN / lista dozwolonych adresów IP blokująca Googlebota. To podstępny przypadek. Cloudflare, Akamai, Sucuri albo lista geograficzna zwraca 401 (lub 403) adresom IP Googlebota, a ludziom obsługuje stronę normalnie. Strona „działa dla wszystkich”, bo osoby testujące korzystają z dozwolonego adresu IP.
  • Ściana logowania na treści subskrypcyjnej lub za paywallem, którą chcesz indeksować. Ogólny 401 całkowicie odcina Googlebota — naprawą nie jest osłabienie bramki, lecz wspierane przez Google dane strukturalne paywalla (zobacz czwartą gałąź poniżej).

Jak diagnozować — testuj jak bot, nie jak przeglądarka

Największa pułapka brzmi „u mnie działa”. Oczywiście, że działa — jesteś uwierzytelniony, Twój adres IP znajduje się na liście dozwolonych albo przeglądarka ma ciasteczko sesji. Googlebot nie ma niczego z tego. Diagnozuj więc jak bot:

  • URL Inspection → Live Test (GSC). To najbliższy odpowiednik podglądu odpowiedzi, którą otrzymuje Googlebot. Uruchom test dla danego adresu URL; jeśli pobranie kończy się niepowodzeniem z powodu autoryzacji, potwierdzasz, że 401 jest rzeczywisty i powtarzalny.

  • curl -I w kontekście bez uwierzytelnienia. Zażądaj adresu URL bez ciasteczek i danych uwierzytelniających, a następnie odczytaj wiersz statusu:

    curl -I https://www.example.com/page/
    # Look for:  HTTP/1.1 401 Unauthorized
    # and a WWW-Authenticate: header confirming an auth gate

    Jeśli curl (który nie wysyła sesji ani danych auth) otrzymuje 401, a przeglądarka 200, ta różnica jest błędem — przeglądarka jest uwierzytelniona, a Googlebot nie. RFC 9110 wymaga, aby zgodna odpowiedź 401 zawierała nagłówek WWW-Authenticate; jego obecność potwierdza prawdziwe wyzwanie uwierzytelniania. Brak nagłówka nie rozstrzyga jednak sprawy: oznacza, że odpowiedź jest wadliwa lub niepełna, ale nie wskazuje warstwy, która ją wygenerowała. Nie zakładaj od razu, że „to musi być WAF”.

  • Sprawdź, czy blokada zależy od IP. Jeśli curl z Twojego komputera zwraca 200, ale Live Test GSC się nie udaje, jest to sygnał, że liczy się adres źródłowy albo routing. Potwierdź to, porównując logi krawędzi/CDN-u, originu, aplikacji i dostawcy tożsamości, zanim nazwiesz przyczyną WAF. Żądanie HEAD (wysyłane przez curl -I) może też być obsługiwane lub cachowane inaczej niż GET, więc sprawdź również anonimowy GET.

Jak to naprawić — cztery gałęzie zależne od rodzaju strony

Nie ma jednej naprawy — są cztery, a wybranie niewłaściwej albo ujawni treść, którą chcesz chronić, albo pozostawi indeksowalną stronę trwale zablokowaną. Zanim zmienisz konfigurację, przypisz adres URL do jednej z tych kategorii:

1. Rzeczywiście prywatna lub stagingowa treść → zachowaj uwierzytelnianie i niczego nie zmieniaj. Jeśli adres URL naprawdę nie powinien być publiczny, 401 działa zgodnie z zamiarem — uwierzytelnianie po stronie serwera to prawidłowy, rekomendowany przez Google sposób ukrycia treści przed wszystkimi, także przed Googlebotem. John Mueller podkreślał to w kontekście witryn stagingowych: właściwym sposobem ukrycia witryny jest autoryzacja po stronie serwera, przez IP, ciasteczko albo zwykłe uwierzytelnianie serwera, tak aby zwykli użytkownicy — a więc także Googlebot — nie mogli zobaczyć treści. Nie dodawaj Googlebota do wyjątków bramki chroniącej rzeczywiście prywatną treść tylko po to, aby usunąć ten wiersz z raportu; zniweczyłoby to sens bramki. Naprawa dotyczy tu higieny odkrywania, nie dostępu: potwierdź, że adres URL nie jest linkowany, umieszczany w mapie witryny ani zgłaszany w tej usłudze Search Console, i pozostaw uwierzytelnianie.

2. Publiczna strona przypadkowo zablokowana → usuń wymaganie autoryzacji. Jeśli strona powinna być indeksowana, a bramka jest pozostałością — Basic Auth, ścianą logowania lub wtyczką trybu konserwacji — wyłącz ją dla tej ścieżki. To prosty przypadek: gdy anonimowe żądanie otrzyma 200, Googlebot może wejść na stronę.

3. Publiczna strona błędnie blokowana przez ochronę botów → dopuść zweryfikowanego Googlebota, nie sam ciąg user-agenta. Gdy WAF, CDN albo lista adresów IP odrzuca Googlebota na stronie, która ma być publiczna, dodaj wyjątek dla zweryfikowanego Googlebota na podstawie IP / odwrotnego DNS. Ciąg user-agenta można banalnie podrobić — każdy może twierdzić, że jest Googlebotem. Zalecana przez Google ścieżka to sprawdzenie crawlera według opublikowanych zakresów IP albo przez kontrolę odwrotnego, a następnie prostego DNS i przepuszczenie dopiero tak potwierdzonych żądań. Nie usuwasz reguły bezpieczeństwa; tworzysz w niej zweryfikowany wyjątek. Aby usunąć fałszywy alarm:

  • Ustal, która reguła zwraca Googlebotowi 401/403 (Cloudflare Firewall Events, logi Akamai/Sucuri albo własne logi edge/originu/aplikacji).
  • Dodaj do listy dozwolonych zweryfikowane zakresy IP Google (albo kategorię bota), zamiast całkowicie wyłączać ochronę.
  • Ponownie wykonuj URL Inspection Live Test, aż Google będzie mógł pobrać stronę.

4. Treść subskrypcyjna lub za paywallem, którą chcesz indeksować → w ogóle nie używaj ogólnego 401. Jeśli strona jest ograniczona rejestracją lub subskrypcją, ale chcesz, aby można ją było znaleźć w wyszukiwarce, twardy 401 jest niewłaściwym narzędziem niezależnie od przyczyny — Googlebot nadal nie może jej pobrać. Google opisuje wspieraną implementację paywalla: udostępnij stronę z odpowiednimi danymi strukturalnymi treści za paywallem (isAccessibleForFree, hasPart i powiązane właściwości), aby Google mogło indeksować bezpłatny fragment podglądu bez otwierania całej treści. To zmiana znaczników i odpowiedzi serwera, a nie zmiana bramki uwierzytelniania.

Zweryfikuj naprawę i ustaw właściwe oczekiwania

Gdy rzeczywiście otworzysz stronę (i potwierdzisz przez curl/Live Test, że nieuwierzytelnione żądanie zwraca 200), precyzyjnie określ, co potwierdza każdy krok:

  • Live Test potwierdza dostęp, nie indeksowanie. Dokumentacja Google dotycząca URL Inspection mówi, że test na żywo potwierdza tylko, czy Google-InspectionTool może obecnie uzyskać dostęp do strony i ją przetworzyć — nie istnieje test gwarantujący późniejsze umieszczenie strony w indeksie ani w wynikach wyszukiwania. Udany Live Test oznacza, że bramka jest otwarta, ale nie obiecuje dalszego przebiegu.
  • Validate Fix jest opcjonalne, nie obowiązkowe. Google aktualizuje liczbę problemów, gdy ponownie crawluje stronę, niezależnie od tego, czy klikniesz Validate Fix. Używaj go do własnego śledzenia prawdziwej poprawki — nie uruchamiaj walidacji dla adresu, który ma pozostać prywatny, i nie traktuj jej jako sposobu na przyspieszenie ponownego indeksowania.
  • Nie oczekuj natychmiastowego ponownego indeksowania. Ponowny crawl i indeksowanie wymagają czasu, a jak wspomniano wyżej, nie będę cytować nieopublikowanego harmonogramu ponowień. Monitoruj rzeczywisty stan indeksu i widoczność w wyszukiwarce oddzielnie od statusu raportu; ani Live Test, ani Validate Fix nie gwarantują wyboru kanonicznego ani pojawienia się w wynikach.
  • Mit, który warto odrzucić: 401 w GSC nie jest karą ani działaniem ręcznym. To status dostępu crawlera. Nie obniża pozycji innych stron i nie „czarnolistuje” witryny — tylko utrzymuje zablokowaną stronę poza indeksem.

Gdzie znajduje się ten status

To jeden ze statusów HTTP w raporcie Page Indexing — jego odpowiednikami są między innymi Blocked due to access forbidden (403), pozostałe statusy 4xx i 404 oraz status błędu serwera 5xx. Sam raport i sposób czytania tabeli „Why pages aren’t indexed” opisuje centrum raportu Page Indexing. Mechanizmy leżące u podstaw — sposób pobierania strony przez Googlebota i znaczenie kodów statusu — omówiono w sekcjach crawling i indexing.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.