Przekierowania 301, błędy 404 i soft 404 w WordPress – diagnostyka i naprawa
Opublikowano: 21 maja 2026 · Autor: Marcin Szewczyk-Wilgan
Zmiana struktury URL, usunięcie wpisu, migracja na nowy serwer, zmiana domeny, wycofanie produktu z oferty. Każda z tych codziennych operacji na stronie WordPress generuje URL-e, które przestają działać. Bez prawidłowego zarządzania przekierowaniami i kodami odpowiedzi HTTP użytkownicy trafiają na puste strony, Google marnuje crawl budget na nieistniejące URL-e, a linki zwrotne budowane latami tracą swoją wartość SEO. Google Search Console raportuje błędy 404 w osobnym raporcie i coraz agresywniej wykrywa soft 404, czyli strony, które udają istniejące, ale treścią sugerują, że nic na nich nie ma. Ten artykuł wyjaśnia, kiedy i jak stosować przekierowania 301, 302 i 410, czym jest soft 404, jak diagnozować i naprawiać uszkodzone linki i jak zaprojektować stronę 404, która nie traci użytkowników.
Kody odpowiedzi HTTP, które musisz znać
Każde żądanie HTTP kończy się kodem odpowiedzi, który informuje przeglądarkę i wyszukiwarkę o statusie strony. W kontekście zarządzania URL-ami WordPress kluczowe są cztery kody.
Soft 404: najgorszy z możliwych scenariuszy
Soft 404 to sytuacja, w której serwer zwraca kod 200 (strona istnieje), ale treść wskazuje, że strona jest pusta, nieistotna lub wyraźnie mówi „nie znaleziono". Google wykrywa soft 404 algorytmicznie i raportuje je w Search Console. To gorsza sytuacja niż prawdziwy 404, bo łączy wady obu światów: Google wie, że strona nie ma wartości, ale status 200 sugeruje, że powinna być crawlowana ponownie.
Przekierowanie wszystkich 404 na stronę główną
To najczęstsza przyczyna soft 404. Administrator konfiguruje regułę, która przekierowuje każdy nieistniejący URL na stronę główną, myśląc, że chroni użytkowników przed pustą stroną. Google rozpoznaje, że strona docelowa nie odpowiada treścią na oczekiwany URL i klasyfikuje przekierowanie jako soft 404. W efekcie strona główna może być dewaluowana, a crawl budget marnowany na wielokrotne sprawdzanie tych samych nieistniejących URL-i.
Puste strony kategorii i tagów
WordPress automatycznie generuje strony archiwów kategorii i tagów. Jeśli kategoria nie ma przypisanych wpisów lub tag został utworzony, ale nie użyty, generowana jest pusta strona ze statusem 200. Google widzi stronę bez treści i klasyfikuje ją jako soft 404. Rozwiązanie: ukryj puste taksonomie przed indeksowaniem (noindex) przez wtyczkę SEO lub dodaj treść do pustych kategorii.
Paginacja bez treści
Strony paginacji (/page/2/, /page/3/) mogą stać się puste po usunięciu wpisów. WordPress zwraca status 200 dla strony paginacji, nawet jeśli nie ma na niej żadnych wpisów. To samo dotyczy stron wyników wyszukiwania z zerową liczbą wyników. Rozwiązanie: skonfiguruj WordPress tak, by puste strony paginacji zwracały 404, lub ustaw noindex na stronach paginacji i wynikach wyszukiwania w wtyczce SEO.
Jak znaleźć soft 404 w Search Console
W Google Search Console przejdź do Indeksowanie → Strony i filtruj po statusie „Submitted URL seems to be a Soft 404". Lista pokaże URL-e, które Google uznał za soft 404. Sprawdź każdy z nich: czy zwraca kod 200 (narzędzie URL Inspection), czy zawiera treść, czy jest przekierowany na stronę główną. Naprawa polega na zwróceniu prawidłowego kodu (404 lub 410), przekierowaniu 301 na odpowiednią stronę z treścią lub dodaniu wartościowej treści do pustej strony.
Kiedy przekierowanie, kiedy 404, kiedy 410?
Nie każdy nieistniejący URL wymaga przekierowania. Nieprawidłowe przekierowanie jest gorsze niż uczciwy 404. Poniższa tabela decyzyjna pomoże wybrać właściwą reakcję na każdy typ nieistniejącego URL-a.
Metody konfiguracji przekierowań w WordPress
WordPress nie posiada wbudowanego mechanizmu zarządzania przekierowaniami. Możesz je skonfigurować na trzech poziomach, które różnią się wydajnością, złożonością i elastycznością.
Nginx lub Apache
Przekierowania na poziomie serwera są najszybsze, bo nie wymagają uruchomienia PHP ani WordPressa. W Nginx to dyrektywy rewrite lub return 301 w konfiguracji vhost. W Apache to reguły RedirectPermanent lub RewriteRule w .htaccess. Rekomendowane dla masowych przekierowań (migracja ze zmianą struktury URL) i krytycznych przekierowań wymagających minimalnej latencji.
Yoast, Rank Math, AIOSEO
Wtyczki SEO oferują panel zarządzania przekierowaniami z interfejsem graficznym: dodawanie reguł, import CSV, automatyczne tworzenie przekierowania przy zmianie permalink wpisu, monitoring 404. To najwygodniejsza metoda dla administratorów, którzy nie mają dostępu do konfiguracji serwera. Przekierowania działają na poziomie PHP, więc są wolniejsze niż serwerowe, ale dla większości stron różnica jest pomijalna.
Przekierowania w kodzie motywu lub wtyczki
Funkcja wp_redirect() z parametrem 301 pozwala tworzyć przekierowania programowo w functions.php lub dedykowanej wtyczce. Przydatne dla przekierowań warunkowych (np. przekierowanie na podstawie roli użytkownika, geolokalizacji, wykrytego urządzenia). Wymaga uruchomienia WordPressa, więc jest najwolniejszą metodą. Nie stosuj na poziomie produkcyjnym do masowych przekierowań.
Czego unikać
Łańcuch przekierowań (redirect chain) występuje, gdy URL A przekierowuje na B, B na C, C na D. Każdy skok dodaje latencję i rozmywa link juice. Google deklaruje obsługę do 10 skoków, ale w praktyce dłuższe łańcuchy mogą być ignorowane. Pętla przekierowań (redirect loop) to sytuacja, gdy A przekierowuje na B, a B z powrotem na A, co generuje błąd ERR_TOO_MANY_REDIRECTS. Regularnie audytuj przekierowania i eliminuj łańcuchy, kierując wszystkie stare URL-e bezpośrednio na docelowy adres.
Projektowanie strony 404, która nie traci użytkowników
Nie każdy 404 da się przekierować. Część użytkowników trafi na stronę 404 z powodu literówki, przestarzałego linku na zewnętrznej stronie lub skanowania. Dobrze zaprojektowana strona 404 zamienia frustrację w szansę na zatrzymanie użytkownika na stronie.
Diagnostyka i regularny audyt przekierowań
Przekierowania i błędy 404 nie są konfiguracją typu „ustaw i zapomnij". Każda zmiana na stronie, każda aktualizacja, każdy usunięty wpis może wygenerować nowy 404. Regularny audyt jest częścią prawidłowego technicznego SEO.
Raporty indeksowania
Google Search Console w raporcie Indeksowanie → Strony pokazuje URL-e z kodem 404, soft 404, przekierowaniami i innymi statusami. To najpewniejsze źródło informacji, bo pochodzi bezpośrednio od Google. Sprawdzaj raport co tydzień, priorytetyzuj URL-e z backlinkami i wysokim ruchem historycznym. Narzędzie URL Inspection pozwala sprawdzić status konkretnego URL-a i wymusić ponowne crawlowanie po naprawie.
Analiza kodów odpowiedzi
Logi dostępu serwera WWW rejestrują każde żądanie z kodem odpowiedzi. Filtrowanie po kodach 404, 301, 302 pozwala zobaczyć pełny obraz: ile 404 generuje strona, skąd pochodzą żądania (referer), czy przekierowania działają prawidłowo. Kombinacja awk, sort i uniq -c na access.log pozwala w kilka sekund wyciągnąć najczęściej żądane URL-e zwracające 404.
Audyt linków wewnętrznych
Screaming Frog, Ahrefs Site Audit i Sitebulb crawlują stronę jak Googlebot i identyfikują uszkodzone linki wewnętrzne, łańcuchy przekierowań, pętle i soft 404. Crawluj stronę po każdej większej zmianie (migracja, zmiana struktury, masowe usunięcie treści) i naprawiaj uszkodzone linki wewnętrzne. Uszkodzony link wewnętrzny to problem, który możesz rozwiązać natychmiast.
Harmonogram audytów
Strony ze stabilną treścią: audyt przekierowań i 404 raz w miesiącu. Sklepy WooCommerce z rotacją produktów: co tydzień. Po migracji, zmianie domeny lub zmianie struktury permalink: natychmiast po wdrożeniu i ponownie po 2 tygodniach. W ramach opieki WordPress w WebOptimo audyt przekierowań jest elementem comiesięcznego przeglądu.
Podsumowanie
Zarządzanie przekierowaniami i kodami odpowiedzi HTTP to integralna część utrzymania strony WordPress. Każda zmiana URL-a wymaga świadomej decyzji: 301 na odpowiednik z podobną treścią, 410 dla trwale usuniętych stron bez odpowiednika, uczciwy 404 dla URL-i, które nigdy nie powinny istnieć. Najważniejsza zasada: nigdy nie przekierowuj wszystkich 404 na stronę główną. To generuje soft 404, marnuje crawl budget i rozmywa autorytet SEO. Priorytetyzuj naprawę stron z backlinkami, regularnie audytuj przekierowania w Search Console i logach serwera, i projektuj stronę 404 jako narzędzie do zatrzymania użytkownika, nie jako ślepy zaułek.
W WebOptimo audyt przekierowań, naprawa 404, eliminacja soft 404 i monitoring uszkodzonych linków są częścią opieki WordPress. Jeśli Google Search Console pokazuje rosnącą liczbę błędów 404 lub soft 404, skontaktuj się z nami po diagnostykę i naprawę.
Najczęstsze pytania o przekierowania i błędy 404 w WordPress
301 (Moved Permanently) przenosi autorytet SEO na nowy adres i informuje Google, że zmiana jest trwała. 302 (Temporary Redirect) mówi, że zmiana jest tymczasowa i Google powinien nadal indeksować stary URL. W WordPress prawie zawsze potrzebujesz 301. Błędne użycie 302 powoduje utratę pozycji.
Google potwierdza, że 404 nie obniżają pozycji strony. Problem pojawia się, gdy do nieistniejących stron prowadzą backlinki, bo ich autorytet jest tracony. Duża liczba 404 marnuje też crawl budget. Naprawiaj 404 z backlinkami, resztę możesz bezpiecznie zignorować.
Soft 404 to strona zwracająca kod 200, ale z treścią wskazującą, że strona nie istnieje (np. przekierowanie na stronę główną, pusta kategoria). Google marnuje crawl budget na ponowne crawlowanie, bo status 200 sugeruje istniejącą stronę. Prawdziwy 404 lub 410 jest lepszy.
410 informuje Google, że strona została celowo i trwale usunięta. Google szybciej ją deindeksuje. Stosuj 410 dla wycofanych produktów, zakończonych promocji i celowo usuniętych wpisów. Stosuj 404 dla URL-i, które mogły nigdy nie istnieć (literówki, skanowanie botów).
Nie. Google traktuje takie przekierowania jako soft 404, bo strona główna nie odpowiada treścią na oczekiwania użytkownika. Przekierowuj na najbliższą odpowiadającą stronę. Jeśli nie ma logicznego odpowiednika, pozwól na prawdziwy 404 lub 410.
Trzy źródła: Google Search Console (raport Strony → 404), logi serwera (żądania z kodem 404) i narzędzia crawlujące (Screaming Frog, Ahrefs). Naprawa: 301 na odpowiednią stronę, 410 dla trwale usuniętych lub pozostawienie 404 dla URL-i bez backlinków.


