W tym artykule dowiesz się, co oznacza błąd 403, kiedy szkodzi SEO i jak go naprawić w 8 krokach. Błąd 403 (Forbidden) to kod odpowiedzi HTTP, którym serwer informuje, że zrozumiał żądanie, ale odmawia dostępu do zasobu. Naprawa: sprawdź kod poleceniem curl, porównaj odpowiedź dla przeglądarki i Googlebota, a potem popraw uprawnienia plików, .htaccess, wtyczki bezpieczeństwa i reguły WAF lub CDN.
Artykuł jest dla właściciela strony i początkującego SEO-wca, który zobaczył komunikat „403 Forbidden” albo status „Strona zablokowana z powodu zabronionego dostępu (błąd 403)” w Google Search Console. Zasady Google, ustawienia Cloudflare i dane w artykule są aktualne na październik 2026.
Błąd 403 w skrócie: co oznacza i skąd się bierze
Błąd 403 to odpowiedź serwera z kodem statusu HTTP 403 Forbidden, która oznacza, że zasób istnieje albo może istnieć, ale serwer nie wpuszcza klienta, który o niego prosi. Według dokumentacji MDN o kodzie 403 ponowne logowanie przy błędzie 403 nic nie zmienia, bo odmowa wynika z reguł aplikacji lub serwera, np. braku uprawnień. MDN dodaje, że powtórzenie tego samego żądania bez zmian da ten sam błąd. Kod 403 należy do klasy 4xx, czyli błędów po stronie klienta, a definicję kodu zawiera standard HTTP RFC 9110, sekcja 15.5.4.
Komunikat „403 Forbidden”, „Access Denied”, „Brak dostępu” albo „You don’t have permission to access this resource” widzi użytkownik. Googlebot widzi tylko kod statusu w nagłówku odpowiedzi. Treść strony błędu 403 zależy od serwera, CMS-a albo CDN, dlatego ten sam błąd na różnych stronach wygląda inaczej.
Najczęstsze przyczyny błędu 403 po stronie serwera to:
- złe uprawnienia plików i katalogów, np. katalog bez prawa odczytu dla serwera WWW;
- reguła w pliku .htaccess (Apache, LiteSpeed), która blokuje adres, katalog, IP lub kraj;
- brak pliku index (index.html, index.php) w katalogu przy wyłączonym listowaniu katalogów;
- wtyczka bezpieczeństwa w WordPressie, która blokuje IP, user agenta albo „podejrzane” zapytania;
- firewall aplikacyjny (WAF) lub CDN, np. Cloudflare z włączonym Bot Fight Mode albo blokadą botów AI;
- blokada po stronie hostingu, np. po wykryciu malware albo przy przekroczeniu limitów.
Błąd 403, 401, 404 i 429: porównanie
Błąd 403 łatwo pomylić z kodem 401, błędem 404 i kodem 429. Tabela porównuje kody, które pojawiają się, gdy serwer nie oddaje strony, według dokumentacji MDN i dokumentacji Google Search Central o kodach HTTP.
| Kod | Co oznacza | Czy logowanie pomaga | Jak traktuje go Google |
|---|---|---|---|
| 401 Unauthorized | brak lub złe dane uwierzytelniające | tak, po zalogowaniu dostęp może się otworzyć | nie indeksuje; w Search Console status „Strona zablokowana z powodu nieautoryzowanego żądania (401)” |
| 403 Forbidden | serwer zrozumiał żądanie i odmawia dostępu | nie, odmowa wynika z uprawnień lub reguł | nie indeksuje, usuwa z indeksu; status „Strona zablokowana z powodu zabronionego dostępu (błąd 403)” |
| 404 Not Found | pod adresem nie ma zasobu | nie dotyczy | nie indeksuje, z czasem rzadziej crawluje |
| 429 Too Many Requests | za dużo żądań w danym czasie | nie dotyczy | traktuje jak przeciążenie serwera i spowalnia crawlowanie |
| 503 Service Unavailable | serwer chwilowo niedostępny | nie dotyczy | spowalnia crawlowanie; po kilku dniach URL może wypaść z indeksu |
Kod 403 i kod 404 bywają zamienne z wyboru właściciela serwera. Dokumentacja MDN zauważa, że serwer może zwrócić 404 zamiast 403, gdy nie chce zdradzać, że zasób w ogóle istnieje. Panel administracyjny ukryty pod kodem 404 jest więc trudniejszy do znalezienia dla skanerów niż panel z kodem 403.
Czy błąd 403 szkodzi SEO
Błąd 403 szkodzi SEO tylko wtedy, gdy dostaje go strona, która powinna być w Google. Według dokumentacji Google Search Central Google nie indeksuje URL-i z kodem 4xx, a zaindeksowane wcześniej adresy z kodem 4xx usuwa z indeksu. Dokumentacja Google dodaje, że wszystkie kody 4xx poza 429 Google traktuje tak samo i że nie zmieniają one tempa crawlowania.
Błąd 403 na panelu logowania, katalogu /wp-admin/ albo plikach konfiguracyjnych jest celowy i nie wymaga naprawy. Błąd 403 na stronie produktu, wpisie albo sitemapie XML to problem, bo Googlebot nie pobierze treści i strona wypadnie z wyników.
Pomoc Google Search Console do raportu Indeksowanie stron wyjaśnia, dlaczego 403 dla Googlebota to zwykle pomyłka serwera: kod 403 oznacza, że klient podał dane logowania, ale nie dostał dostępu, a Googlebot nigdy nie podaje danych logowania. Moim zdaniem każdy status 403 w raporcie Indeksowanie stron dla publicznej strony warto traktować jako błąd konfiguracji, a nie jako „normalny” 4xx.
Jak naprawić błąd 403 w 8 krokach
Naprawa błędu 403 to szukanie warstwy, która odmawia dostępu: serwer WWW, CMS, wtyczka, WAF albo CDN. Kroki są ułożone od diagnozy do weryfikacji, od najprostszych przyczyn do najtrudniejszych:
- Znajdź adresy z błędem 403. W Google Search Console otwórz raport Indeksowanie stron i powód „Strona zablokowana z powodu zabronionego dostępu (błąd 403)”. Crawl w Screaming Frog SEO Spider (do 500 URL-i bez opłat) pokazuje kody 403 w zakładce Response Codes, także dla obrazków i plików CSS.
- Sprawdź kod odpowiedzi poleceniem curl. Polecenie
curl -I https://twojadomena.pl/adres/pokazuje w pierwszej linii kod statusu, np.HTTP/2 403. Nagłówekserver:w odpowiedzi podpowiada, kto odmawia:cloudflareoznacza CDN, aApache,nginxlubLiteSpeedoznacza serwer hostingu. - Porównaj odpowiedź dla przeglądarki i dla Googlebota. W Narzędziu do sprawdzania adresów URL w Google Search Console kliknij „Testuj wersję opublikowaną”, bo test wysyła prawdziwego Googlebota z adresów IP Google. Test curl z podszytym nagłówkiem
-A "Googlebot"bywa mylący: WAF może blokować fałszywego Googlebota z Twojego IP i przepuszczać prawdziwego. - Popraw uprawnienia plików i katalogów. Podręcznik administracji WordPressa zaleca uprawnienia 755 lub 750 dla katalogów, 644 lub 640 dla plików oraz 440 lub 400 dla pliku wp-config.php. Uprawnienia 000 albo 600 na katalogu z treścią dają błąd 403, bo serwer WWW nie może odczytać plików.
- Sprawdź plik .htaccess i plik index. Przenieś plik .htaccess tymczasowo poza katalog publiczny i odśwież stronę: jeśli błąd 403 znika, przyczyną jest reguła
Deny,RequirelubRewriteRule [F]. W WordPressie wygeneruj nowy .htaccess przez Ustawienia → Bezpośrednie odnośniki → Zapisz. Katalog bez pliku index.html lub index.php przy wyłączonym listowaniu (Options -Indexesw Apache) też zwraca 403. - Wyłącz po kolei wtyczki bezpieczeństwa i cache. Wtyczki zapory w WordPressie blokują adresy IP, kraje i user agenty. Dziennik blokad we wtyczce pokazuje, która reguła zablokowała żądanie i czy dotyczyło ono Googlebota.
- Sprawdź WAF i CDN. W Cloudflare otwórz Security → Events i odfiltruj żądania z user agentem Googlebota: zdarzenie pokazuje akcję (Block, Managed Challenge) i regułę, która ją wywołała. Ustawienia Cloudflare, które blokują Googlebota, opisuje sekcja „Błąd 403 dla Googlebota przez Cloudflare i WAF”.
- Zweryfikuj poprawki. Powtórz
curl -I, uruchom ponownie „Testuj wersję opublikowaną” w Search Console i w raporcie Indeksowanie stron kliknij „Sprawdź poprawkę”. Jeśli błąd 403 dotyczył sitemapy XML, wyślij ją ponownie w raporcie Mapy witryn.
Gdy żaden z 8 kroków nie pomaga, błąd 403 ustawia najpewniej hosting, np. po wykryciu malware albo po blokadzie konta. Wtedy zostaje zgłoszenie do supportu hostingu z adresem URL, godziną i wynikiem polecenia curl.
Błąd 403 dla Googlebota przez Cloudflare i WAF
Najgroźniejszy błąd 403 to taki, którego właściciel strony nie widzi: przeglądarka dostaje kod 200, a Googlebot dostaje 403 od firewalla. Strona działa dla ludzi, a z Google znika po cichu. Raport Indeksowanie stron w Google Search Console pokazuje taki błąd z opóźnieniem, dlatego przy spadku ruchu po zmianie ustawień CDN zaczynam od testu wersji opublikowanej w Search Console.
Cloudflare ma dwa ustawienia, które w 2026 roku dawały 403 dla Googlebota:
- Bot Fight Mode na darmowym planie. Dokumentacja Cloudflare Bot Fight Mode mówi, że trybu nie da się obejść regułami WAF ani Page Rules, a wyjątkiem są tylko reguły IP Access. Elastyczne wyjątki daje dopiero płatny Super Bot Fight Mode.
- Blokada botów AI z opcją Block. Search Engine Journal opisał 4 sierpnia 2026 przypadek strony, na której ustawienie AI Training = Block zwracało 403 Googlebotowi i Bingbotowi przy pobieraniu sitemapy. Wyłączenie blokady przywróciło dostęp, a SEJ zaznaczył, że nie ustalono, czy to błąd Cloudflare, czy konfiguracji.
Od 15 września 2026 Cloudflare ma opcję Disallow AI Training. Według PPC Land opcja Disallow AI Training zapisuje w robots.txt sprzeciw wobec trenowania modeli, a crawlery wyszukiwarek Google, Apple i Microsoftu dalej indeksują stronę. Opcja Block blokuje również crawlery mieszane, w tym Googlebota, na całej domenie. Moim zdaniem strona, która chce być w Google, powinna w październiku 2026 używać Disallow AI Training, a nie Block.
Przed dodaniem wyjątku dla Googlebota w firewallu sprawdź, czy ruch pochodzi od prawdziwego Googlebota. Dokumentacja Google o weryfikacji Googlebota opisuje 4 kroki: odwrotne zapytanie DNS poleceniem host na adres IP z logów, sprawdzenie, czy domena to googlebot.com, google.com lub googleusercontent.com, zapytanie DNS w przód na tę domenę i porównanie wyniku z oryginalnym IP. Google publikuje też zakresy IP w plikach JSON, m.in. common-crawlers.json i special-crawlers.json.
Błąd 403 a boty AI
Błąd 403 dla botów AI wyklucza stronę z odpowiedzi asystentów, które pobierają treść na żywo. Dokumentacja OpenAI o botach rozróżnia 3 boty: OAI-SearchBot pokazuje strony w wynikach ChatGPT search, GPTBot zbiera treści do trenowania modeli, a ChatGPT-User wykonuje akcje zlecone przez użytkownika. OpenAI publikuje adresy IP każdego bota w osobnym pliku JSON (searchbot.json, gptbot.json, chatgpt-user.json), co pozwala zablokować trening i wpuścić wyszukiwanie.
Moim zdaniem robots.txt jest czytelniejszym sposobem na odmowę trenowania niż kod 403, bo robots.txt rozróżnia tokeny botów, a reguła WAF łatwo łapie też boty wyszukiwarek. W audycie bynajmniej.pl z 14.10.2026 robots.txt wygenerowany przez Yoast SEO niczego nie blokował, a GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot, Googlebot i Bingbot dostali pełną treść strony. Test robiłem z podszytym user agentem, więc wynik jest orientacyjny: z adresów IP botów odpowiedź serwera mogłaby być inna. Sterowanie botami przez robots.txt opisałem szerzej w poradniku jak zrobić audyt SEO w 9 krokach.
Błąd 403 po stronie użytkownika: co zrobić
Użytkownik, który widzi błąd 403 na cudzej stronie, ma niewielkie pole manewru, bo odmowę ustawia serwer. Kilka rzeczy jednak warto sprawdzić:
- Sprawdź adres URL: link do katalogu bez pliku index, np. z ukośnikiem na końcu, często daje 403.
- Wyczyść ciasteczka i cache przeglądarki dla tej domeny, bo stara sesja może zawierać nieważne uprawnienia.
- Wyłącz VPN lub proxy: WAF-y blokują adresy IP centrów danych i całe kraje.
- Wyłącz rozszerzenia przeglądarki, które zmieniają nagłówki lub user agenta.
- Napisz do właściciela strony z adresem URL i godziną błędu.
Czego nie robić z błędem 403
Najczęstszy błąd z kodem 403 to używanie go do „uspokajania” Googlebota przy dużym obciążeniu serwera. Blog Google Search Central z 17 lutego 2023 prosi wprost, żeby nie ograniczać crawlowania kodami 403 i 404, a dokumentacja Google o kodach HTTP powtarza zakaz dla 401 i 403. Dokumentacja Google o zmniejszaniu tempa crawlowania zaleca kody 500, 503 lub 429 przez kilka godzin, maksymalnie 1–2 dni. Kod 403 Googlebota nie spowolni, za to wyrzuci strony z indeksu, więc „ochrona serwera” kończy się ochroną przed ruchem z Google.
Pozostałe błędy przy obsłudze kodu 403:
- ustawianie uprawnień 777 na katalogach „żeby działało”, co otwiera zapis dla wszystkich użytkowników serwera;
- blokowanie całych krajów lub zakresów IP bez wyjątku dla zweryfikowanych botów wyszukiwarek;
- trzymanie w sitemapie XML adresów, które zwracają 403, np. stron dostępnych tylko po zalogowaniu;
- sprawdzanie dostępu Googlebota tylko curlem z podszytym user agentem, bez testu w Search Console.
Błąd 403 i błąd 404 mają te same skutki dla indeksacji, ale inne przyczyny. Segregację adresów 404 i decyzję, które przekierować, opisałem w artykule błąd 404: co oznacza i jak go naprawić, a wpływ błędów serwera na tempo crawlowania w tekście o crawl budget.
FAQ: najczęstsze pytania o błąd 403
Co oznacza błąd 403 Forbidden?
Błąd 403 Forbidden oznacza, że serwer zrozumiał żądanie, ale odmawia dostępu do strony lub pliku. Najczęstsze przyczyny to złe uprawnienia plików, reguła w .htaccess, wtyczka bezpieczeństwa albo firewall lub CDN.
Czym się różni błąd 403 od 401?
Kod 401 oznacza brak lub złe dane logowania, więc zalogowanie może otworzyć dostęp. Kod 403 oznacza odmowę niezależnie od logowania, bo klient nie ma uprawnień do zasobu.
Czym się różni błąd 403 od 404?
Kod 404 oznacza, że pod adresem nie ma zasobu, a kod 403, że serwer nie wpuszcza do zasobu. Google traktuje oba kody tak samo: nie indeksuje takich adresów i usuwa je z indeksu.
Czy błąd 403 szkodzi pozycjom w Google?
Błąd 403 usuwa z indeksu Google adres, który go zwraca, więc szkodzi publicznym stronom z treścią. Błąd 403 na panelu administracyjnym lub plikach konfiguracyjnych jest celowy i nie wpływa na widoczność reszty strony.
Dlaczego Googlebot dostaje błąd 403, a ja widzę stronę?
Googlebot dostaje błąd 403, gdy firewall, CDN lub wtyczka bezpieczeństwa blokuje jego adres IP albo user agenta, a przeglądarkę przepuszcza. W 2026 roku częstą przyczyną były ustawienia Cloudflare: Bot Fight Mode i opcja Block dla botów AI.
Jak naprawić błąd 403 w WordPressie?
Błąd 403 w WordPressie naprawisz, ustawiając uprawnienia 755 dla katalogów i 644 dla plików, generując nowy .htaccess przez zapis bezpośrednich odnośników i wyłączając po kolei wtyczki bezpieczeństwa. Jeśli to nie pomaga, zgłoś błąd do hostingu z wynikiem polecenia curl -I.

Członek zarządu i współwłaściciel agencji IF.PL, w SEO od ponad 20 lat (m.in. Gazeta.pl, Wirtualna Polska, Polska Press). Na bynajmniej.pl piszę z pomocą AI: temat, dane i testy są moje, AI pomaga ubrać to w słowa.


Dodaj komentarz