Strona 404 i miękkie 404: co zwraca nieistniejący adres
Miękkie 404 (w Search Console: pozorny błąd 404) to nieistniejący adres, który pokazuje komunikat „nie znaleziono” albo stronę główną, a serwer odpowiada kodem 200, czyli „wszystko w porządku”. Adres, którego nie ma, powinien zwracać kod 404 albo 410 i stronę błędu z linkami do oferty i kontaktu.
- Google nie indeksuje adresów zwracających kod 4xx, a już zindeksowane adresy z takim kodem z czasem usuwa z indeksu.
- Google traktuje wszystkie kody 4xx poza 429 tak samo, więc dla wyszukiwarki 404 i 410 działają jednakowo.
- Pomoc Search Console zaleca zwracać kod 404 dla stron, których naprawdę nie ma, zamiast przyjaznego komunikatu z kodem 200.
- Google ostrzega, że przekierowanie wielu starych adresów na jedną niepowiązaną stronę, na przykład główną, może zostać uznane za miękkie 404.
Kod odpowiedzi: czego nie widać na ekranie
Gdy otwierasz adres, serwer odsyła stronę i trzycyfrowy kod. Klient kodu nie widzi, widzi tylko stronę. Google i inne roboty patrzą najpierw na kod. Kod 200 znaczy „jest strona”, 301 „przeniesiona na stałe”, 404 „nie znaleziono”, a 410 „usunięta na stałe”.
Standard HTTP (RFC 9110) opisuje różnicę między 404 a 410. Kod 404 nie mówi, czy brak jest chwilowy, czy stały. Kod 410 mówi, że zasób zniknął i raczej nie wróci. Google pisze jednak, że wszystkie kody 4xx poza 429 traktuje tak samo. W praktyce strona firmowa może używać zwykłego 404.
Co to jest miękkie 404
Miękkie 404 to adres, którego nie ma, ale serwer udaje, że jest. Odpowiada kodem 200 i pokazuje komunikat „Nie znaleziono strony”, pustą stronę albo przenosi na stronę główną. Search Console nazywa to pozornym błędem 404 i pokazuje takie adresy w raporcie Indeksowanie stron.
Dlaczego to problem? Google dostaje sprzeczny sygnał. Kod mówi „jest treść”, a treść mówi „nie ma nic”. Przy kodzie 404 Google wie od razu, że adresu nie ma, i usuwa go z indeksu. Przy kodzie 200 musi to sam rozpoznać po treści. A klient, który kliknął stary link do usługi, ląduje na stronie głównej i nie wie, co się stało.
- Wtyczka albo ustawienie, które przekierowuje każdy nieznany adres na stronę główną.
- Aplikacja w JavaScripcie, która na każdy adres odpowiada kodem 200, a komunikat o błędzie rysuje dopiero w przeglądarce. Google opisuje ten przypadek osobno i podaje dwa rozwiązania: przekierować na adres zwracający 404 albo dodać do strony błędu znacznik noindex.
- Pusta strona kategorii albo wyników wyszukiwania w sklepie, która zwraca 200 bez żadnej treści.
Kiedy przekierować, a kiedy zostawić 404
Zasada jest prosta. Jeśli treść jest pod innym adresem albo masz bliski zamiennik, ustaw przekierowanie 301 na tę konkretną stronę. Jeśli treść zniknęła i nie ma zamiennika, zostaw 404. Pomoc Search Console pisze, że odpowiedzi 404 nie muszą być problemem, gdy strona została usunięta bez zamiennika.
Google wprost odradza przekierowanie wielu starych adresów na jedną niepowiązaną stronę, na przykład główną. Może to zostać uznane za miękkie 404. Wyjątek: kilka starych stron połączyłeś w jedną nową. Wtedy przekierowanie ich na tę nową stronę jest w porządku.
Jak zrobić pomocną stronę błędu
Kod 404 nie musi znaczyć brzydkiej strony. Klient powinien zobaczyć zwykły wygląd Twojej strony z menu i jasną informacją, co dalej. Ważne jest tylko jedno: serwer ma przy tym zwracać kod 404, a nie 200.
- Krótka, ludzka informacja: „Tej strony nie ma. Może została przeniesiona.”
- Linki do strony głównej, oferty albo cennika i kontaktu.
- W sklepie wyszukiwarka produktów albo lista głównych kategorii.
- Numer telefonu albo adres e-mail, jeśli klient szukał czegoś konkretnego.
- Bez automatycznego przekierowania po kilku sekundach. Klient sam wybierze, dokąd iść.
Jak sprawdzić to samemu
- Wpisz w przeglądarce adres, którego na pewno nie ma, na przykład
twojadomena.pl/sprawdzam-404-abc. Zobacz, czy pojawia się strona błędu, czy strona główna. - Naciśnij F12, otwórz zakładkę Network (Sieć) i odśwież ten adres. W kolumnie Status pierwszego wiersza powinno być 404, a nie 200 ani 301.
- W Google Search Console otwórz Indeksowanie → Strony i sprawdź pozycje „Pozorny błąd 404” i „Nie znaleziono (404)”.
- Dla podejrzanego adresu użyj narzędzia do sprawdzania adresów URL w Search Console i testu opublikowanej wersji. Zobaczysz, jak Google widzi tę stronę.
Co sprawdza bezpłatny skan
- Otwiera losowy adres, którego na Twojej stronie na pewno nie ma, i podąża za przekierowaniami.
- Ostrzega, gdy na końcu serwer odpowiada kodem 200, i rozróżnia dwa przypadki: przeniesienie na stronę główną albo strona błędu z kodem 200.
- Gdy nieistniejący adres zwraca 404 albo 410, skan uznaje to za poprawne i nie zgłasza uwagi.
- Sprawdza też, czy podstrony wybrane do skanu nie zwracają 404, 410 albo błędu serwera 5xx (poza 503 i 508, które zwykle znaczą przeciążenie albo limit hostingu); treść i wygląd strony błędu ocenia człowiek w pełnym audycie.
Skan sprawdza stronę główną i do 3 podstron. Wynik dostajesz w około minutę.
Kiedy zlecić to komuś: Gdy miękkie 404 bierze się z ustawień serwera, wtyczki albo aplikacji w JavaScripcie, poprawka wymaga programisty. JFlow Labs może ją wdrożyć i zrobić przy okazji pomocną stronę błędu, wycenianą osobno. Zobacz pełny audyt.
Pytania i odpowiedzi
Czy błąd 404 szkodzi mojej stronie w Google?
Sam kod 404 dla strony, której naprawdę nie ma, jest poprawny. Google pisze, że kody 4xx nie zmieniają tempa, w jakim odwiedza stronę. Szkodzi co innego: martwe linki we własnym menu i miękkie 404, które mieszają Google sygnały.
Czy lepiej używać kodu 410 niż 404?
Dla Google to bez różnicy, bo wszystkie kody 4xx poza 429 traktuje tak samo. Kod 410 jest dokładniejszy, gdy wiesz, że treść zniknęła na zawsze. Strona firmowa może spokojnie zostać przy 404.
Czy mogę przekierować wszystkie błędy na stronę główną?
Lepiej nie. Google ostrzega, że przekierowanie wielu adresów na jedną niepowiązaną stronę może zostać uznane za miękkie 404. Klient też nie wie, dlaczego trafił na stronę główną. Przekierowuj tylko na stronę, która zastępuje usuniętą.
Skąd się biorą adresy 404, których nigdy nie miałem?
Z literówek w cudzych linkach, z robotów sprawdzających typowe adresy i ze starych wersji strony. Jeśli taki adres nie przynosi ruchu, nic nie musisz robić. Jeśli prowadzi do niego wartościowy link, przekieruj go na właściwą stronę.
Źródła
- Google: How HTTP status codes affect Google’s crawlers
- Search Console – pomoc: Raport Indeksowanie stron (Pozorny błąd 404, Nie znaleziono 404)
- Google Search Central: Site moves with URL changes (Avoid irrelevant redirects)
- Google Search Central: JavaScript SEO basics (Avoid soft 404 errors in single-page apps)
- RFC 9110: HTTP Semantics (404 Not Found, 410 Gone)