301 czy 404? Którego kodu użyć i dlaczego wyszukiwarki przywiązują do tego wagę
Dwa kody, które odpowiadają na dwa różne pytania
Kod 404 odpowiada „nie” na pytanie „czy pod tym adresem coś jest?”. Informuje przeglądarkę i robota indeksującego, że adres URL jest dziś nieosiągalny, i niczego nie obiecuje na jutro. Kod 301 odpowiada na inne pytanie: „to, czego Państwo szukają, istnieje, ale przeniosło się tutaj na stałe”. Podaje adres, za którym należy podążyć, i informuje wyszukiwarkę, że sygnały pozycjonowania starego adresu URL ma stopniowo przenosić na nowy. To nie są dwa warianty tej samej strony błędu. Jeden mówi, że nic nie istnieje, drugi, że coś zostało przeniesione.

Pomyłka w którąkolwiek stronę ma swoją cenę. Zwrócenie kodu 404 dla strony, która w rzeczywistości została przeniesiona, marnuje wszystkie linki zwrotne i całą historię pozycjonowania, jaką zdobył stary adres URL, a prawdziwego odwiedzającego wysyła w ślepy zaułek zamiast na stronę, której szukał. Zwrócenie kodu 301 dla strony, która zniknęła na dobre, z przekierowaniem na niepowiązaną stronę tylko po to, by uniknąć 404, uczy wyszukiwarki, że takie dopasowanie nic nie znaczy, i w końcu przestają one przekazywać cokolwiek, ponieważ schemat wygląda raczej na sztuczkę niż na prawdziwą przeprowadzkę.
Krótka lista pomocna w podejmowaniu decyzji
- Treść została przeniesiona pod nowy adres URL i nadal istnieje. Należy użyć kodu 301. To jedyny przypadek, do którego przeznaczono 301: przeniesienie stałe, jeden do jednego. Przekierowanie powinno prowadzić do najtrafniejszego odpowiednika, a nie do strony głównej jako rozwiązania na wszystko.
- Treść jest chwilowo niedostępna, ale wróci pod ten sam adres. Należy użyć kodu 302, a nie 301. Kod 302 informuje robota, aby zachował w indeksie pierwotny adres URL i wrócił później, a dokładnie tego potrzeba podczas promocji, braku towaru lub prac serwisowych.
- Treść zniknęła bez bezpośredniego zamiennika. Należy użyć kodu 404, albo 410, jeśli wiadomo na pewno, że treść nigdy nie wróci. Kod 410 (Gone) jest sygnałem silniejszym i bardziej celowym niż 404, a wyszukiwarki zwykle szybciej usuwają takie adresy z indeksu, co się przydaje, gdy wycofana linia produktów ma szybko zniknąć z wyników wyszukiwania, zamiast wisieć w nich jako pozorny błąd.
- Treść nigdy nie istniała pod tym adresem. Zwykły kod 404 jest poprawny i nie wymaga żadnych dalszych działań.

Błąd łatwy do przeoczenia: soft 404
Soft 404 (tzw. pozorny błąd) to strona, która w swoim tekście informuje odwiedzającego „nie znaleziono produktu” lub „strona została usunięta”, podczas gdy serwer pod spodem odpowiada kodem HTTP 200 OK. Wyszukiwarki w końcu dostrzegają rozbieżność między tym, co mówi strona, a tym, co mówi kod statusu, i zaczynają i tak traktować taki adres jak stronę błędu, tyle że zajmuje on teraz zwykłe miejsce w indeksie, zamiast być traktowany jako błąd, którym naprawdę jest. Najczęściej zdarza się to w katalogach e-commerce, gdy produkt zostaje usunięty z bazy danych, ale kontroler wraca do ogólnego szablonu bez ustawienia kodu odpowiedzi, albo gdy przekierowanie po stronie klienta (JavaScript w rodzaju „brak wyników, trwa przekierowanie”) w ogóle nie zmienia statusu HTTP. Jeśli tekst strony mówi, że czegoś brakuje, jej kod statusu musi mówić to samo.

Dlaczego to nie jest teoretyczne SEO: crawl budget to prawdziwy ruch
Wyszukiwarki, a coraz częściej także roboty indeksujące sztucznej inteligencji, nie mają nieograniczonej cierpliwości wobec danej domeny: przydzielają jej przybliżony dzienny budżet żądań, a każde żądanie wydane na łańcuch przekierowań, błędny kod statusu lub adres URL, który w ogóle nie powinien istnieć, to żądanie, które nie posłuży do odkrycia ani odświeżenia ważnej strony. To nie jest abstrakcyjny problem. W naszym własnym sklepie internetowym, przed rutynowym czyszczeniem, okazało się, że wbudowany filtr śledzenia odwiedzin korzysta z listy sygnatur robotów, aktualizowanej po raz ostatni około 2010 roku: rejestrował 43 478 „odwiedzin” dziennie ze strony robotów, jakby był to prawdziwy ruch, wobec około 300 prawdziwych osób, a zgromadzone dane śledzenia osiągnęły 1,4 GB, zanim czyszczenie sprowadziło je do 24 MB. Ponadto w tym samym sklepie pojedynczy robot (robot Meta) wykonywał 38 144 żądań w ciągu jednego dnia, czyli 78% całego ruchu odbieranego przez serwer, dopóki nie dodano celowanej reguły, która go zatrzymała. Roboty uderzające w sklep z takim natężeniem chętnie wyczerpią cały swój budżet na zepsutych łańcuchach przekierowań i starych błędach 404, zanim dotrą do strony, którą naprawdę chcą Państwo mieć w indeksie.

Praktyczny wniosek jest taki, że plan przekierowań nie jest jednorazowym zadaniem migracyjnym: warto go ponownie sprawdzać po każdej większej zmianie katalogu, zmianie motywu lub dodaniu języka, właśnie dlatego, że natężenie ruchu automatycznego uderzającego w adresy URL sklepu jest często znacznie większe niż ruch ludzki, który uzasadnił utworzenie przekierowań.
Łańcuchy przekierowań: cicha opłata przy każdej z tych decyzji
Pojedyncze 301 prawie nic nie kosztuje. Łańcuch trzech lub czterech (stary adres URL do pierwszego zamiennika, do drugiego, do strony końcowej) zmusza każdego robota i przeglądarkę każdego prawdziwego odwiedzającego do wykonania trzech lub czterech żądań, by dotrzeć do jednej strony, a wyszukiwarki, jak wiadomo, podążają tylko za ograniczoną liczbą skoków, zanim zrezygnują. Za każdym razem, gdy adres URL zmienia się ponownie, należy przekierować oryginał bezpośrednio na aktualny cel końcowy, a nie dokładać kolejny skok do poprzedniego. Plan przekierowań zmieniany wiele razy i nigdy nie spłaszczany to jedno z najczęstszych i najmniej widocznych źródeł zmarnowanego crawl budgetu i wolnych stron w starszych witrynach.

Praktyczna lista kontrolna
- Przed każdą migracją adresów URL (zmiana platformy, nowy motyw, zmiana folderu językowego) należy wyeksportować z Search Console pełną listę aktualnie zaindeksowanych adresów URL i zbudować plan przekierowań przed wdrożeniem zmiany, a nie po pierwszym raporcie o utraconym ruchu.
- Kodu 301 należy używać do przeniesień stałych, a kodu 302 do tych naprawdę tymczasowych, i przestać traktować je jako zamienne, „byle działało”.
- W przypadku treści, które zniknęły na dobre, lepiej zwrócić prawdziwy kod 410 niż 301 na niepowiązaną stronę. Jasny sygnał jest lepszy niż fałszywe przekierowanie.
- Należy tropić soft 404: każda strona, której tekst mówi „nie znaleziono” lub „już niedostępne”, musi zwracać odpowiedni status HTTP, a nie 200.
- Łańcuchy przekierowań należy spłaszczać, gdy tylko się jakiś znajdzie, tak aby każdy stary adres URL wskazywał bezpośrednio aktualną stronę końcową w jednym skoku.
- Należy sprawdzać logi serwera, a nie tylko Search Console, aby wiedzieć, o co roboty naprawdę proszą: natężenie może być znacznie większe, niż sugeruje panel, i jest to najszybszy sposób na wykrycie przestarzałego filtra robotów lub robota wymykającego się spod kontroli, zanim stanie się problemem zasobów.
W skrócie
Kody 301 i 404 nie są dwoma zamiennymi sposobami na usunięcie starego adresu URL: to sygnały przeciwstawne. Jeden mówi „podążaj za mną, przeprowadziłem się”, drugi „nic tu nie ma, za niczym nie podążaj”. Wybór niewłaściwego kosztuje albo historię pozycjonowania, albo zaufanie odwiedzającego, a przy rzeczywistych wolumenach ruchu, w dużej mierze automatycznego, a nie ludzkiego, wielokrotne popełnianie błędu nie jest problemem kosmetycznym, lecz realną utratą uwagi, jaką roboty są gotowe poświęcić domenie. Jeśli ręczne zarządzanie przekierowaniami w konfiguracji serwera jest dla Państwa sklepu niepraktyczne, jedną z opcji jest dedykowany menedżer przekierowań, także w PrestaShop (zob. moduł Przekierowania SEO i jego przewodnik konfiguracji), ale przedstawione wyżej drzewo decyzyjne obowiązuje niezależnie od tego, które narzędzie ostatecznie zapisuje regułę.

Przekierowania SEO - menedżer 301/302/404Zarządzanie przekierowaniami 301/302 (zwykłymi, z symbolami wieloznacznymi lub bezpiecznym regex), m…49,99 €Zobacz produkt