Błąd 404 WordPress: skąd się bierze i które adresy naprawdę trzeba przekierować
Błąd 404 w WordPress oznacza, że pod danym adresem nie ma już treści. Najczęściej to zmieniony odnośnik strony, usunięty wpis albo produkt, zmiana struktury odnośników albo przenosiny strony. Gdy 404 dotyczy wszystkich podstron naraz, zwykle wystarczy ponownie zapisać ustawienia odnośników. Pojedyncze adresy z ruchem przekierowujesz kodem 301 na najbliższy odpowiednik.
Autor: Sani. Sani buduje moduł TellMyShop i na co dzień pracuje z zapleczem sklepów PrestaShop.
Aktualizacja: · 4 min czytania
Jedna strona czy wszystkie? Najpierw rozpoznaj rodzaj problemu
To dwa zupełnie różne problemy i warto je rozdzielić, zanim cokolwiek zmienisz.
Jeśli 404 pokazuje cała strona poza główną, problem nie leży w treści. WordPress ma wpisy i strony w bazie, ale serwer nie wie, jak przetłumaczyć ładny adres na właściwą treść. Tak bywa po przenosinach na inny serwer, po aktualizacji albo po wtyczce, która grzebie w adresach. Jak działają bezpośrednie odnośniki, dobrze opisuje przewodnik Kinsta, a samo ponowne zapisanie tych ustawień odbudowuje reguły adresów.
Jeśli 404 dotyczy pojedynczych adresów, to normalne życie strony: coś zmieniło adres albo zniknęło. Wtedy decydujesz adres po adresie.
Kiedy WordPress przekierowuje sam, a kiedy nie
Tu leży źródło większości niespodzianek. WordPress ma wbudowany mechanizm starych adresów, ale działa tylko w części przypadków.
| Co się zmieniło | Czy WordPress przekieruje sam? | Co zrobić |
|---|---|---|
| Końcówka adresu opublikowanego wpisu | zwykle tak | sprawdź stary adres w przeglądarce |
| Końcówka adresu produktu WooCommerce | zwykle tak | sprawdź stary adres w przeglądarce |
| Adres strony (O nas, Kontakt, Oferta) | nie | ustaw 301 ręcznie |
| Struktura wszystkich odnośników w ustawieniach | nie | ustaw przekierowania dla adresów z ruchem albo wróć do starej struktury |
| Usunięty wpis albo produkt | nie | 301 do odpowiednika albo 410 |
| Przenosiny z innej platformy albo domeny | nie | przygotuj listę stary adres i nowy adres przed przeniesieniem |
Twórcy WordPressa wyłączyli strony z tego mechanizmu celowo: mechanizm starych adresów obejmuje treści bez hierarchii, a strony ją mają. Opisuje to zgłoszenie w systemie zgłoszeń WordPressa i dokumentacja funkcji wp_old_slug_redirect.
Instrukcja ratunkowa: wszystkie podstrony pokazują 404
- Zapisz ponownie odnośniki. Ustawienia, Bezpośrednie odnośniki, Zapisz zmiany. Niczego nie zmieniaj w formularzu.
- Otwórz w prywatnym oknie dwa adresy: jeden wpis i jedną stronę. Jeśli działają, problem rozwiązany.
- Przypomnij sobie ostatnią zmianę. Nowa wtyczka od przekierowań, wielojęzyczności albo bezpieczeństwa? Wyłącz ją na chwilę i sprawdź znowu.
- Jeśli dalej nie działa, zgłoś to opiekunowi strony albo hostingowi. Najczęściej chodzi o plik .htaccess albo ustawienia serwera, a tego nie naprawisz z panelu WordPressa.
Pojedyncze adresy: co przekierować, a co zostawić
Nie każdy błąd 404 jest problemem. Google opisuje, że 404 dla treści, której nie ma, to poprawna odpowiedź, a przekierowania warto stosować tam, gdzie treść ma nowy adres. Zasady znajdziesz w przewodniku o przekierowaniach.
Kolejność pracy jest prosta. Zbierasz listę adresów z błędem, sortujesz po liczbie wejść i zaczynasz od tych, które ktoś naprawdę odwiedza. Stary wpis z linkiem na forum przekierowujesz do nowszej wersji tematu. Wycofany produkt kierujesz do następcy albo do kategorii. Stara strona akcji promocyjnej sprzed trzech lat może spokojnie zostać z 404.
Przekierowanie wszystkiego na stronę główną kusi, bo czyści raport. Raport jest czysty, a problem został: czytelnik, który kliknął w poradnik o przycinaniu róż, ląduje na stronie głównej i wychodzi.
Do ustawiania przekierowań w panelu służą wtyczki. Popularna darmowa to Redirection, a moduł przekierowań ma też Rank Math. Krok po kroku, z porównaniem metod, opisujemy to w poradniku o przekierowaniu 301 w WordPress.
Jak Claude znajduje błędy 404 i proponuje cel dla każdego adresu
Wtyczka TellMyShop dla WordPress i WooCommerce sama zapisuje wejścia na nieistniejące adresy. Prosisz Claude'a o raport i plan, a on dopasowuje do każdego adresu propozycję: nowszy wpis, kategorię, następcę produktu albo 410. Raport i plan dostaniesz w darmowym Audycie.
Pokaż błędy 404 z ostatniego miesiąca i zaproponuj, co z nimi zrobić.
Znalazłem 9 adresów bez treści. Trzy z największym ruchem:
/oferta-ogrody/, 41 wejść. To dawna strona, dziś treść jest pod /projektowanie-ogrodow/.
było: 404 nie znaleziono
będzie: 301 do Projektowanie ogrodów
/rabaty-wiosna-2023/, 12 wejść, akcja zakończona, brak odpowiednika.
było: 404 nie znaleziono
będzie: 410 usunięte na stałe
/przycinanie-roz-jesienia/, 7 wejść. Wpis usunięty, podobny temat ma wpis Przycinanie róż krok po kroku.
było: 404 nie znaleziono
będzie: 301 do Przycinanie róż krok po kroku
Zrób wszystkie trzy.
Podgląd: 2 przekierowania 301 i jedno 410. Cele działają, nie ma pętli ani łańcuchów, pod starymi adresami nie ma dziś żadnej treści. Zapiszę po twoim „tak” i sprawdzę każdy stary adres po zapisie.
Z licencją Claude zapisuje przekierowania po twojej zgodzie, do 50 w jednej paczce. Przed zapisem sprawdza, czy cel działa, czy nie powstanie pętla albo łańcuch przekierowań i czy pod starym adresem nie działa dziś jakaś treść, którą przekierowanie by ukryło. Każde przekierowanie cofniesz z historii zmian. Szczegóły i zapis na listę znajdziesz na stronie TellMyShop dla WordPress i WooCommerce, a ceny w cenniku.
Jak nie tworzyć nowych błędów 404
Nie zmieniaj struktury odnośników na działającej stronie, chyba że masz plan przekierowań. Zmieniając adres strony (nie wpisu), od razu ustaw przekierowanie ze starego. Usuwając wpis, zastanów się, czy nie lepiej go odświeżyć. Przed przenosinami strony spisz stare adresy z ruchem i ich nowe odpowiedniki.
Jeśli strona działa, ale nie ma jej w Google, to inny problem niż 404. Opisujemy go w poradniku Strona WordPress nie wyświetla się w Google. Więcej poradników znajdziesz na blogu.
Pytania i odpowiedzi
Czy WordPress sam przekierowuje stary adres po zmianie odnośnika?
Częściowo. Gdy zmienisz końcówkę adresu opublikowanego wpisu albo produktu WooCommerce, WordPress zapamiętuje starą i zwykle sam przekierowuje odwiedzających. Przy stronach, czyli podstronach typu O nas albo Kontakt, tego nie robi. Nie robi też niczego, gdy zmienisz strukturę wszystkich odnośników w ustawieniach.
Wszystkie podstrony nagle pokazują 404. Co zrobić najpierw?
Wejdź w Ustawienia, Bezpośrednie odnośniki i kliknij Zapisz zmiany bez zmieniania czegokolwiek. WordPress odbuduje wtedy reguły adresów. To najczęstsza i najszybsza naprawa po aktualizacji, przenosinach albo instalacji wtyczki. Jeśli nie pomoże, sprawdź z opiekunem strony plik .htaccess i ustawienia serwera.
Czy mogę przekierować wszystkie błędy 404 na stronę główną?
Lepiej nie. Google często traktuje takie przekierowanie jak miękki błąd 404, bo strona główna nie odpowiada na to, czego szukał czytelnik. Przekierowuj na najbliższy odpowiednik: nowszy wpis na ten sam temat, kategorię albo następcę produktu. Gdy odpowiednika nie ma, zostaw 404 albo ustaw 410.
Skąd wziąć listę adresów z błędem 404?
Z Google Search Console, z raportu stron, oraz z wtyczki, która zapisuje wejścia na nieistniejące adresy. Search Console pokazuje adresy znane Google, a wtyczka te, na które naprawdę trafiają ludzie, także z linków w mailach i mediach społecznościowych.
Czym się różni 301 od 410?
301 mówi, że treść przeniosła się na stałe pod nowy adres, i przenosi tam pozycję w Google. 410 mówi, że treść usunięto na dobre i nie wróci. Używaj 410 dla starych akcji, wydarzeń i produktów bez żadnego odpowiednika.
WordPress jest znakiem towarowym WordPress Foundation. WooCommerce jest znakiem towarowym Automattic Inc. Claude jest znakiem towarowym Anthropic. TellMyShop nie jest powiązany z żadnym z tych podmiotów.