Zmiana adresu strony, migracja na HTTPS albo usunięcie artykułu nie musi oznaczać utraty ruchu i linków. Stałe przekierowanie pozwala skierować użytkownika oraz roboty wyszukiwarki z dawnego adresu do właściwego miejsca, ale tylko wtedy, gdy jest wdrożone świadomie. Poniżej wyjaśniam, jak działa kod 301, kiedy go stosować, jak skonfigurować go na serwerze i jak uniknąć błędów typowych dla migracji stron.
Stałe przekierowanie porządkuje adresy i chroni wartość strony
- Kod 301 informuje przeglądarkę i wyszukiwarkę, że zasób został trwale przeniesiony.
- Najlepiej kierować stary adres do najbardziej zbliżonej tematycznie podstrony, a nie automatycznie na stronę główną.
- Podczas migracji trzeba przygotować mapę starych i nowych adresów oraz sprawdzić wszystkie ważne URL-e.
- Najczęstsze problemy to łańcuchy przekierowań, pętle, błędne miejsca docelowe i pozostawione linki wewnętrzne do starych adresów.
- Po wdrożeniu należy zweryfikować kod odpowiedzi, nagłówek Location, indeksację i logi serwera.
Przekierowanie 301 nie jest zwykłym przeniesieniem użytkownika
Kiedy przeglądarka odwiedza stary adres, serwer może odpowiedzieć kodem 301 Moved Permanently. W odpowiedzi wskazuje nową lokalizację zasobu, a przeglądarka automatycznie przechodzi dalej. Dla człowieka trwa to zwykle ułamek sekundy, ale dla Google jest to ważny sygnał, że stary adres powinien zostać zastąpiony nowym.
W praktyce stosuję ten mechanizm wtedy, gdy zmiana jest rzeczywiście trwała. Dotyczy to między innymi zmiany struktury adresów, połączenia dwóch artykułów, przejścia z HTTP na HTTPS, zmiany domeny oraz przekierowania usuniętej karty produktu na jej aktualny odpowiednik.
Nie oznacza to automatycznego zachowania wszystkich pozycji w wynikach wyszukiwania. Przekierowanie przekazuje sygnały związane z dawnym adresem, lecz efekt zależy również od zgodności treści, jakości strony docelowej, linków i ogólnej kondycji serwisu. Sam kod 301 nie naprawi słabej lub przypadkowo dobranej podstrony.
Przykład działania
Załóżmy, że artykuł znajdował się pod ścieżką /seo-stare-zasady/, a po aktualizacji otrzymał adres /seo-zasady/. Prawidłowa reguła kieruje pierwszy adres bezpośrednio do drugiego. Użytkownik nie trafia na błąd 404, a wyszukiwarka dostaje jasny sygnał, że treść została przeniesiona, a nie usunięta bez zastępstwa.
Największą różnicę robi tu dopasowanie tematyczne. Stary poradnik o optymalizacji obrazów powinien prowadzić do aktualnego poradnika o tym samym zagadnieniu, nie do strony głównej bloga tylko dlatego, że jest najłatwiejsza do wskazania.
301, 302, 307 i 308 różnią się ważnym szczegółem
Wybór kodu zależy od tego, czy zmiana jest stała, czy tymczasowa. Pomylenie tych wariantów może utrudnić wyszukiwarkom interpretację strony i sprawić, że przez długi czas będą używać niewłaściwego adresu.
| Kod | Zastosowanie | Co komunikuje |
|---|---|---|
| 301 | Trwała zmiana adresu | Zasób został przeniesiony na stałe |
| 302 | Zmiana tymczasowa | Adres docelowy obowiązuje tylko przez pewien czas |
| 307 | Tymczasowe przekierowanie z zachowaniem metody żądania | Żądanie powinno zostać ponowione w tej samej formie |
| 308 | Trwała zmiana z zachowaniem metody żądania | Zasób przeniesiono na stałe, bez zmiany metody HTTP |
Do typowej zmiany adresu artykułu, produktu czy całej domeny najczęściej wystarcza kod 301. Kod 302 ma sens przy krótkiej promocji, testach A/B albo czasowym wyłączeniu funkcji. Z kolei 307 i 308 są szczególnie istotne w systemach, w których znaczenie ma zachowanie metody POST, na przykład przy formularzach i operacjach API.
Nie używałbym kodu 301 do testu, który za tydzień ma się skończyć. Przeglądarka i wyszukiwarka mogą zapamiętać trwałą zmianę, a późniejsze cofnięcie decyzji będzie trudniejsze do uporządkowania niż w przypadku przekierowania tymczasowego.
Jak wdrożyć stałą zmianę adresu na serwerze
Najpewniejszą metodą jest przekierowanie wykonywane po stronie serwera. Działa zanim zostanie załadowana treść strony, nie wymaga JavaScriptu i jest czytelne dla robotów. Google wskazuje przekierowania serwerowe jako rozwiązanie o najwyższej przewidywalności interpretacji.
Apache i plik .htaccess
Na serwerach Apache pojedynczą regułę można zapisać w pliku .htaccess:
Redirect 301 /stara-strona/ /nowa-strona/Przy większej migracji lepiej użyć reguł opartych na wyrażeniach regularnych, ale trzeba testować je na kopii konfiguracji. Jedna zbyt szeroka reguła może przekierować nie tylko stare artykuły, lecz także pliki graficzne, panel administracyjny albo adresy, które powinny pozostać bez zmian.
Nginx
W konfiguracji Nginx podobny efekt daje zapis:
location = /stara-strona/ {
return 301 /nowa-strona/;
}Przy całej zmianie domeny lub struktury katalogów warto stosować reguły możliwie precyzyjne. W praktyce krótsza i jednoznaczna konfiguracja jest bezpieczniejsza niż kilka następujących po sobie wyjątków, których nikt później nie pamięta.
WordPress i inne systemy CMS
W systemie zarządzania treścią można ustawić zmianę adresu przez wtyczkę do przekierowań, panel hostingu albo konfigurację serwera. Wtyczka jest wygodna dla właściciela strony, szczególnie przy kilkunastu adresach, ale przy dużej migracji tysięcy URL-i lepiej przygotować import mapy przekierowań i kontrolować reguły na poziomie serwera.
Nie polecam instalowania kilku narzędzi wykonujących tę samą funkcję. Dwie wtyczki, reguła w panelu hostingu i dodatkowy zapis w pliku konfiguracyjnym mogą tworzyć trudne do wykrycia konflikty.
Jak zaplanować przekierowania przy migracji strony
Najwięcej problemów nie wynika z samej składni reguły, tylko z braku planu. Przed zmianą adresów trzeba spisać stare URL-e, ich ruch, linki zewnętrzne, widoczność oraz odpowiedniki w nowej strukturze.
- Zbierz stare adresy z mapy witryny, narzędzi analitycznych, Search Console, logów serwera i własnego CMS-a.
- Przypisz każdy ważny URL do najlepszego nowego odpowiednika.
- Odrzuć przekierowania przypadkowe, szczególnie te kierujące wiele różnych stron na stronę główną.
- Wdróż reguły przed publikacją nowej struktury albo w tym samym momencie, aby ograniczyć liczbę błędów 404.
- Zaktualizuj linkowanie wewnętrzne, mapę witryny i adres kanoniczny na nowych stronach.
- Monitoruj ruch i indeksację przez kolejne tygodnie, zwłaszcza na najważniejszych podstronach.
Przy zmianie domeny nie wystarczy przekierować tylko strony głównej. Dobra migracja działa na zasadzie stary adres do odpowiadającego mu nowego adresu. Jeśli sklep ma 500 ważnych kart produktów, warto przygotować 500 konkretnych mapowań, a nie jedną regułę kierującą wszystko do katalogu głównego.
Co zrobić z usuniętą stroną
Jeśli treść ma aktualnego następcę, przekieruj ją właśnie tam. Gdy nie istnieje żadna sensowna alternatywa, lepszą decyzją może być odpowiedź 404 albo 410 niż przenoszenie użytkownika do niepowiązanej strony. To mniej efektowne, ale uczciwsze wobec odbiorcy i wyszukiwarki.
W przypadku produktów wycofanych ze sprzedaży sytuacja zależy od intencji. Produkt zastąpiony nowym modelem może prowadzić do jego następcy, natomiast całkowicie usunięta, sezonowa oferta nie zawsze powinna trafiać na stronę główną sklepu.
Najczęstsze błędy, które osłabiają efekt
Łańcuchy przekierowań
Łańcuch powstaje wtedy, gdy adres A prowadzi do B, B do C, a dopiero C wyświetla właściwą treść. Każde dodatkowe ogniwo zwiększa czas odpowiedzi i ryzyko błędu. Najlepszy wariant to jedno przekierowanie bezpośrednio do finalnego adresu.
Pętle przekierowań
Pętla występuje, gdy reguły kierują adresy wzajemnie do siebie albo wymuszają sprzeczne warianty protokołu i domeny. Przeglądarka kończy wtedy komunikatem o zbyt wielu przekierowaniach. Często przyczyną jest jednoczesne wymuszanie HTTPS przez serwer, CDN i wtyczkę CMS.
Masowe kierowanie na stronę główną
Przekierowanie setek niezwiązanych adresów na stronę główną nie zachowuje ich znaczenia. Jeśli nie ma odpowiednika, lepiej zwrócić kontrolowany błąd niż udawać, że każda dawna treść została zastąpiona tym samym miejscem.
Brak aktualizacji linków wewnętrznych
Przekierowanie naprawia wejście ze starego adresu, ale nie powinno zastępować porządku w serwisie. Menu, artykuły, okruszki nawigacyjne i mapa witryny powinny wskazywać nowe adresy bez pośredniej reguły. Dzięki temu roboty i użytkownicy wykonują mniej niepotrzebnych żądań.
Przeczytaj również: SSL co to jest i jak poprawnie wdrożyć HTTPS?
Niepasujący kanoniczny adres
Jeśli strona docelowa przekierowania wskazuje w tagu rel="canonical" jeszcze inny adres, wyszukiwarka otrzymuje mieszane sygnały. Po migracji kanoniczny adres, linki wewnętrzne i mapa witryny powinny konsekwentnie wskazywać tę samą wersję URL-a.
Jak sprawdzić, czy przekierowanie działa poprawnie
Nie ograniczam testu do kliknięcia starego linku w przeglądarce. To pokazuje tylko, że użytkownik gdzieś trafia. Prawidłowa kontrola powinna potwierdzić kod 301, właściwy adres w nagłówku Location i brak dodatkowych skoków.
Przy pojedynczym adresie można użyć narzędzi deweloperskich przeglądarki albo polecenia:
curl -I /stara-strona/W odpowiedzi powinien pojawić się status 301 oraz nagłówek wskazujący nową ścieżkę. Jeśli widzisz kolejno 301, 302 i 200, przekierowanie działa, ale wymaga uproszczenia. Jeśli pojawia się 404, 500 albo zapętlenie, regułę trzeba poprawić przed uruchomieniem kampanii lub migracji.
Przy większej liczbie adresów warto przeprowadzić crawl serwisu i wyeksportować wszystkie przekierowania. Sprawdzam wtedy przede wszystkim:
- czy stare adresy zwracają właściwy kod,
- czy docelowe strony odpowiadają kodem 200,
- czy nie występują łańcuchy i pętle,
- czy strony docelowe są tematycznie zgodne,
- czy nie ma linków wewnętrznych prowadzących do dawnych URL-i,
- czy ważne adresy odzyskują widoczność po ponownym crawlowaniu.
Po dużej zmianie nie oceniałbym sytuacji po jednym dniu. Roboty mogą potrzebować czasu na ponowne odwiedzenie adresów, a wahania ruchu bywają przejściowe. Najważniejsze jest szybkie wykrycie błędów technicznych i obserwowanie najcenniejszych stron, nie nerwowe usuwanie reguł po pierwszym spadku.
Dobrze ustawiony kod 301 pracuje długo po migracji
Najbezpieczniejsza zasada jest prosta. Stałe zmiany adresów kieruj kodem 301 na najbardziej trafne strony, utrzymuj pojedynczą ścieżkę przekierowania i aktualizuj wszystkie linki, które możesz kontrolować. Nie traktuj tego mechanizmu jako sposobu na ukrycie usuniętych treści ani jako gwarancji utrzymania pozycji.
Po wdrożeniu zostaw reguły tak długo, jak długo stare adresy mogą być używane przez ludzi, roboty i zewnętrzne serwisy. Przy ważnych migracjach oznacza to zwykle co najmniej wiele miesięcy, a często bezterminowo. Kilka dodatkowych wpisów w konfiguracji serwera kosztuje niewiele, natomiast utracony link, błąd kampanii albo niedostępny artykuł może kosztować znacznie więcej.