Przekierowania 301 po zmianie adresów produktów
Publikacja: · Grzegorz Rapczyński
Każdy sklep, który działa dłużej niż rok, ma historię adresów. Produkty znikają, kategorie są porządkowane, nazwy się zmieniają - a razem z nimi zmieniają się adresy. Stare adresy nie przestają istnieć: są w Google, w zakładkach klientów, w mailach i na cudzych stronach. Przekierowanie decyduje o tym, czy ktoś trafi na produkt, czy na komunikat o błędzie.
Po co w ogóle przekierowywać
Trzy powody, każdy wystarczający sam w sobie:
- Klient. Osoba, która ma Twój produkt w zakładkach albo w mailu sprzed pół roku, po kliknięciu ma zobaczyć produkt, a nie błąd.
- Pozycja w wyszukiwarce. Adres, który przez lata zbierał zaufanie, ma wartość. Przekierowanie przekazuje ją nowemu adresowi. Usunięcie bez przekierowania tej wartości nie przenosi nigdzie.
- Linki z zewnątrz. Jeśli ktoś podlinkował Twój produkt, ten link działa tylko dopóty, dopóki adres coś zwraca.
To nie jest zadanie, które robi się raz. To nawyk: przy każdej zmianie adresu od razu powstaje przekierowanie. Inaczej po dwóch latach masz setki martwych adresów i nikt już nie pamięta, co gdzie miało prowadzić.
301, 302 i 410 - kiedy który
| Kod | Znaczenie | Kiedy użyć |
|---|---|---|
| 301 | Przeniesiono na stałe | Domyślny wybór. Zmiana nazwy produktu, kategorii, domeny, uporządkowanie struktury. |
| 302 | Przeniesiono tymczasowo | Tylko przy zmianach naprawdę tymczasowych - przerwa serwisowa, kampania sezonowa. Nie przekazuje wartości adresu. |
| 404 | Nie znaleziono | Adres, który nigdy nie istniał albo został usunięty bez następcy. Google usuwa go z indeksu po jakimś czasie. |
| 410 | Usunięto trwale | Gdy świadomie kończysz temat - produkt nigdy nie wróci i nie ma odpowiednika. Działa szybciej niż 404. |
W praktyce w sklepie używa się dwóch: 301 wszędzie tam, gdzie istnieje sensowny następca, i 410 albo 404 tam, gdzie go nie ma. Kod 302 przy zmianie adresu produktu jest zwykłym błędem - zostawia w indeksie stary adres i blokuje przeniesienie wartości.
Kiedy adres zmienia się w sklepie
Część tych sytuacji zaskakuje, bo nikt świadomie nie zmieniał adresu:
- Zmiana nazwy produktu. W większości konfiguracji adres powstaje z nazwy - poprawienie literówki w nazwie zmienia adres.
- Zmiana kategorii domyślnej, gdy adresy zawierają ścieżkę kategorii.
- Uporządkowanie drzewa kategorii - przeniesienie kategorii wyżej lub niżej.
- Zmiana formatu adresów w ustawieniach sklepu. Jedno kliknięcie, które zmienia adresy całego katalogu naraz.
- Połączenie dwóch produktów w jeden z wariantami.
- Usunięcie produktu z oferty.
- Migracja z innej platformy - tam adresy prawie zawsze wyglądają inaczej. Opisałem to przy okazji migracji sklepu.
Dlatego przed większym porządkowaniem w katalogu warto zapisać listę obecnych adresów. Po zmianie porównujesz obie listy i różnica jest gotową listą przekierowań do zrobienia.
Gdzie kierować usunięty produkt
Kolejność wyboru, od najlepszego do najgorszego:
- Następnik tego samego produktu - nowa wersja, nowy model, ten sam produkt pod inną nazwą. Idealna sytuacja, klient dostaje to, czego szukał.
- Produkt bardzo podobny - inny producent, ta sama funkcja. Warto wtedy dodać na karcie informację, że poprzedni model został zastąpiony.
- Kategoria, w której produkt był. Klient trafia na listę podobnych rzeczy - to nadal sensowne zakończenie.
- Kod 410 albo 404. Gdy nie ma żadnego sensownego odpowiednika.
- Strona główna - ostateczność, której lepiej unikać. Google traktuje masowe przekierowania na stronę główną tak, jakby to był błąd 404, a klient i tak musi szukać od początku.
Zasada, którą się kieruję: przekierowanie ma sens tylko wtedy, gdy cel odpowiada na to samo pytanie co źródło. Jeśli nie odpowiada, uczciwszy jest kod 404 z dobrze zrobioną stroną błędu - z wyszukiwarką i linkami do głównych kategorii.
Osobny przypadek, który wygląda podobnie, a ma inną przyczynę: sytuacja, w której cały sklep zaczyna zwracać 404, a działa tylko strona główna. To nie brak przekierowań, tylko zepsute przepisywanie adresów.
Łańcuchy i pętle
Łańcuch to sytuacja, w której adres A prowadzi do B, B do C, a C dopiero do właściwego miejsca. Powstaje sam, gdy przez lata dokłada się kolejne przekierowania bez porządkowania starych. Skutki: wolniejsze ładowanie dla klienta, gorsze przekazanie wartości adresu i większe ryzyko, że w środku łańcucha coś pęknie.
Lekarstwo jest proste: przy dodawaniu nowego przekierowania sprawdź, czy cel sam nie jest przekierowywany. Jeśli tak - popraw stare reguły, żeby wszystkie prowadziły od razu do ostatecznego adresu.
Pętla to błąd, w którym A prowadzi do B, a B z powrotem do A. Przeglądarka pokazuje wtedy komunikat o zbyt wielu przekierowaniach i strona nie otwiera się wcale. Najczęściej powstaje przy łączeniu reguł dotyczących www i HTTPS - dwie reguły napisane osobno potrafią się zapętlić.
Jak to zrobić technicznie
Trzy drogi, każda ma swój obszar:
- Panel sklepu. Nowsze wersje mają wbudowaną obsługę przekierowań w ustawieniach adresów. Wygodne przy pojedynczych zmianach, bo nie wymaga dostępu do serwera.
- Moduł. Sensowny przy większej liczbie reguł - pozwala wczytać listę z pliku i zwykle prowadzi rejestr trafień, więc widać, które przekierowania są używane.
- Plik
.htaccessna serwerze. Najszybszy - działa przed uruchomieniem sklepu, więc nie obciąża bazy. Najlepszy do reguł ogólnych: cała domena, wymuszenie HTTPS, wymuszenie wersji zwwwalbo bez.
Podział, który sprawdza się w praktyce: reguły ogólne w .htaccess, pojedyncze adresy w sklepie. Trzymanie tysięcy pojedynczych reguł w pliku serwera robi się nieczytelne i spowalnia każde żądanie.
Przy edycji .htaccess dwie ostrożności: zrób kopię przed zmianą i pamiętaj, że sklep potrafi nadpisać ten plik przy regenerowaniu adresów. Własne reguły wpisuje się poza sekcją zarządzaną przez sklep. Błąd w tym pliku kończy się najczęściej błędem 500 na całym sklepie.
Jak sprawdzić, że działa
Kliknięcie w link i zobaczenie właściwej strony nie wystarczy - nie widać po nim, czy to było 301, 302, czy przekierowanie zrobione skryptem po stronie przeglądarki, które dla wyszukiwarki znaczy zupełnie co innego.
Co sprawdzić naprawdę:
- Kod odpowiedzi. Musi być 301. W narzędziach dla programistów w przeglądarce, w zakładce sieci, widać go przy pierwszym żądaniu.
- Liczba skoków. Powinien być jeden. Dwa i więcej to łańcuch do poprawienia.
- Adres docelowy. Pełny, z
httpsi właściwą wersją domeny. - Przypadek brzegowy. Sprawdź adres z ukośnikiem na końcu i bez, z wielkimi literami, z parametrami.
- Raport błędów w Search Console. Po kilku dniach pokaże adresy, które nadal zwracają 404.
Przy większej liście warto to zautomatyzować - lista starych adresów, prosty skrypt sprawdzający kod odpowiedzi i cel, i od razu widać dziury.
Najczęstsze błędy
- Hurtowe przekierowanie wszystkiego na stronę główną.
- 302 zamiast 301 - cicha strata, bo wszystko wygląda poprawnie.
- Przekierowanie na adres, który sam jest przekierowywany.
- Przekierowanie do strony, która zwraca 404. Zdarza się, gdy cel zostaje później usunięty.
- Przekierowanie zamiast poprawienia linku. Jeśli link jest w Twoim sklepie, popraw link. Przekierowanie jest dla ruchu z zewnątrz.
- Brak przekierowań dla wariantów domeny - z
wwwi bez, HTTP i HTTPS. - Kasowanie reguł po roku. Stare adresy potrafią przynosić ruch jeszcze latami.
Najczęstszy moment, w którym przekierowania decydują o wszystkim, to przebudowa starej strony internetowej. Opisałem tam, jak przygotować mapę przekierowań przed uruchomieniem nowej wersji.
Najczęstsze pytania
Czy przekierowanie przenosi całą wartość starego adresu?
Przy kodzie 301 i pojedynczym skoku - w praktyce prawie całą. Strata pojawia się dopiero przy łańcuchach i przy kierowaniu w miejsce, które nie odpowiada tematowi starego adresu.
Ile przekierowań to za dużo?
Liczba sama w sobie nie szkodzi, jeśli są obsługiwane sprawnie. Problemem robi się dopiero trzymanie tysięcy pojedynczych reguł w pliku serwera - wtedy lepiej przenieść je do sklepu albo modułu.
Kiedy lepiej dać 404 niż przekierowanie?
Gdy nie ma odpowiednika. Przekierowanie do przypadkowej strony jest gorsze niż uczciwy komunikat o braku - i dla klienta, i dla wyszukiwarki.
Czy przekierowanie spowalnia sklep?
Pojedyncze nie. Wpływ robi się zauważalny przy łańcuchach, bo każdy skok to osobne żądanie, oraz przy bardzo długich listach reguł sprawdzanych przy każdym wejściu.
Jak długo trzymać przekierowania?
Bezterminowo. To jedna z tych rzeczy, które raz zrobione nie wymagają już uwagi, a usunięte po cichu zabierają ruch.
Porządek w adresach
Jeśli w sklepie zebrała się historia adresów i nie wiadomo już, co gdzie prowadzi - mogę to przejrzeć i uporządkować: lista martwych adresów, mapa przekierowań, usunięcie łańcuchów. Formularz kontaktowy, 881 932 088 lub kontakt@grvision.pl. Stałe pilnowanie takich rzeczy wchodzi w opiekę nad sklepem.