Przekierowanie 301 to kod statusu HTTP informujący przeglądarki i wyszukiwarki, że dany adres URL został przeniesiony na stałe pod inny adres. W praktyce oznacza to, że użytkownik wchodzący na starą stronę, a także roboty takie jak Googlebot, są automatycznie kierowani do nowej lokalizacji. Poprawnie wdrożone przekierowanie 301 pozwala przenieść znaczną część wartości SEO na nowy URL, ogranicza liczbę niedziałających linków i minimalizuje spadki pozycji podczas migracji strony, zmiany domeny lub przebudowy struktury adresów.
Na stronach internetowych regularnie wykonuje się działania takie jak usuwanie podstron, zmiana domeny, przejście z HTTP na HTTPS, porządkowanie kategorii, zmiana slugów czy łączenie podobnych treści. Aby takie zmiany były bezpieczne zarówno dla użytkowników, jak i dla widoczności w Google, potrzebna jest przemyślana strategia przekierowań. Przekierowanie 301 jest jednym z jej najważniejszych elementów, ponieważ jasno komunikuje wyszukiwarkom: to nie jest chwilowa zmiana, ten adres został przeniesiony na stałe.
W tym poradniku wyjaśniamy, czym jest przekierowanie 301, czym różni się od przekierowań 302, 307 i meta refresh, jak wdrożyć je w Apache przez plik .htaccess, w cPanelu, WordPressie oraz Nginx, a także jaki ma wpływ na SEO i jakie błędy pojawiają się najczęściej. To szczególnie ważne po stronie hostingu, ponieważ drobna pomyłka w konfiguracji może wprowadzić całą stronę w pętlę przekierowań. Jeśli zależy Ci na stabilnej infrastrukturze, sprawdź także Hostragons pakiety hostingu WWW, a przy migracji na HTTPS również Hostragons certyfikaty SSL.
Co to jest przekierowanie 301?
Przekierowanie 301 to stała odpowiedź serwera wysyłana do klienta, czyli przeglądarki, robota wyszukiwarki lub innego narzędzia pobierającego stronę. Gdy użytkownik albo bot próbuje wejść na stary adres URL, serwer zwraca kod statusu 301 i wskazuje nową lokalizację w nagłówku Location. Przeglądarka po otrzymaniu takiej odpowiedzi automatycznie przenosi użytkownika pod docelowy adres.
Przykładowo, jeśli przenosisz treść z adresu nazwastrony.pl/stary-artykul na nazwastrony.pl/nowy-artykul, nie chcesz, aby odwiedzający trafiali na błąd 404. Po dodaniu przekierowania 301 użytkownik od razu zobaczy właściwą treść, a wyszukiwarki zaczną traktować nowy adres jako główną, aktualną wersję strony.
Google w swoich aktualnych wytycznych wskazuje, że sygnały linków są w dużej mierze przekazywane przez przekierowania 301. Nie oznacza to jednak, że każde przekierowanie automatycznie zadziała idealnie. Na efekt SEO wpływają między innymi podobieństwo tematyczne starej i nowej strony, poprawność techniczna, brak łańcuchów przekierowań, szybkość ładowania oraz to, czy docelowa strona może być indeksowana.
Kiedy stosować przekierowanie 301?
Przekierowanie 301 należy stosować wtedy, gdy adres URL zmienia się na stałe. W przypadku krótkich kampanii, testów A/B, tymczasowych stron serwisowych lub chwilowych zmian zwykle lepszym wyborem są przekierowania tymczasowe, takie jak 302 albo 307. Przekierowanie 301 jest właściwym rozwiązaniem w poniższych sytuacjach:
- Gdy zmieniasz domenę: na przykład podczas przenoszenia strony z staradomena.pl na nowadomena.pl.
- Gdy przechodzisz z HTTP na HTTPS: aby bezpieczne połączenie stało się domyślną wersją witryny. W tym kontekście przydatny może być materiał Czym jest certyfikat SSL.
- Gdy wybierasz wersję www lub bez www: aby ustalić jedną kanoniczną strukturę między www.strona.pl a strona.pl.
- Gdy zmieniasz strukturę adresów URL: na przykład przechodząc z /blog/123 na bardziej czytelny adres /blog/przekierowanie-301.
- Gdy łączysz treści: na przykład konsolidując dwa podobne artykuły w jedną mocniejszą stronę.
- Gdy przenosisz produkt lub kategorię: w sklepie internetowym możesz przekierować starą stronę produktu na najbliższy odpowiednik lub aktualną kategorię.
- Gdy trwale usuwasz podstrony: jeśli istnieje odpowiednia alternatywa odpowiadająca tej samej intencji wyszukiwania.
Porównanie przekierowań 301, 302, 307 i Meta Refresh
Różne typy przekierowań mogą na pierwszy rzut oka działać podobnie, ponieważ użytkownik i tak trafia na inny adres. Dla wyszukiwarek wysyłają jednak inne sygnały. Użycie niewłaściwego kodu przekierowania, zwłaszcza podczas migracji serwisu lub zmian SEO, może osłabić efekty i utrudnić Google zrozumienie nowej struktury strony.
| Typ przekierowania | Znaczenie | Zastosowanie SEO | Kiedy wybrać? |
|---|---|---|---|
| 301 | Przeniesiono na stałe | Najlepszy wybór do przekazywania wartości SEO na nowy URL | Przy trwałej zmianie adresu URL, domeny lub przejściu na HTTPS |
| 302 | Tymczasowo znaleziono | Sugeruje, że stary URL może wrócić do użycia | Przy kampaniach, tymczasowych pracach technicznych i krótkich testach |
| 307 | Przekierowanie tymczasowe | Zachowuje metodę HTTP i wysyła sygnał tymczasowości | Gdy tymczasowe przekierowanie jest potrzebne w API lub obsłudze formularzy |
| Meta Refresh | Opóźnione przekierowanie w kodzie HTML | Nie jest zalecane pod SEO i może pogarszać doświadczenie użytkownika | Nie powinno być używane, jeśli nie ma wyraźnej konieczności |
Z punktu widzenia SEO ogólna zasada jest prosta: jeśli zmiana jest stała, użyj 301; jeśli tymczasowa, wybierz 302 lub 307. Jeśli nie masz pewności, najpierw odpowiedz sobie na pytanie, czy dana strona w przyszłości wróci pod stary adres. To zwykle pozwala podjąć właściwą decyzję.
Jak przekierowanie 301 wpływa na SEO?
Przekierowanie 301 jest bardzo skutecznym narzędziem SEO, ale tylko wtedy, gdy jest dobrze zaplanowane i poprawnie wdrożone. Warto spojrzeć na nie zarówno od strony korzyści, jak i możliwych ryzyk.
Pomaga przenieść autorytet linków na nowy adres URL
Jeśli stara strona zdobyła linki zewnętrzne, udostępnienia w mediach społecznościowych i inne sygnały zaufania, przekierowanie 301 pomaga przekazać je nowej podstronie. Przykładowo, gdy artykuł blogowy z linkami z 50 różnych domen przenosisz pod nowy adres, brak przekierowania oznaczałby utratę dużej części tej wartości i jednocześnie błąd 404 dla użytkowników. Dzięki 301 znaczna część mocy linków zostaje skonsolidowana pod nowym adresem.
Zmniejsza liczbę błędów 404 i ogranicza utratę użytkowników
Strony 404 same w sobie nie zawsze są czymś złym. Jeśli treść została usunięta i nie ma żadnego sensownego zamiennika, błąd 404 może być naturalny. Problem pojawia się wtedy, gdy 404 dotyczy adresów z ruchem, backlinkami lub historią widoczności. W takich przypadkach brak przekierowania może oznaczać utratę użytkowników i osłabienie sygnałów SEO. Dlatego warto regularnie analizować logi serwera oraz raporty Google Search Console, aby wychwycić wartościowe adresy zwracające 404.
Porządkuje sygnały indeksowania
Gdy wyszukiwarki widzą tę samą lub bardzo podobną treść pod wieloma adresami, mogą mieć problem z wyborem strony, którą powinny wyświetlać w wynikach. Przekierowanie 301 pomaga zebrać zduplikowane lub przestarzałe adresy pod jednym głównym URL-em. Ma to szczególne znaczenie przy różnicach między www i non-www, HTTP i HTTPS, a także przy wariantach z końcowym ukośnikiem lub bez niego.
Nieprawidłowo użyte może powodować spadki pozycji
Kierowanie każdej starej podstrony na stronę główną to częsta, ale błędna praktyka. Jeśli temat starej strony nie pasuje do strony docelowej, Google może potraktować takie przekierowanie jako słaby lub nieadekwatny sygnał. Na przykład stary artykuł o optymalizacji szybkości WordPressa lepiej przekierować do aktualnego poradnika o wydajności WordPressa niż na ogólną stronę główną hostingu. W takim przypadku bardziej naturalnym celem mogą być powiązane strony, takie jak Hosting WordPress lub Przewodnik po przyspieszaniu strony internetowej.
Jak zrobić przekierowanie 301?
Przekierowanie 301 można wdrożyć na poziomie serwera, panelu hostingowego, systemu CMS albo kodu aplikacji. Najlepsza metoda zależy od technologii strony oraz liczby przekierowań. Dla kilku adresów w WordPressie wystarczy często wtyczka, ale przekierowania całej domeny, HTTPS czy wersji www najlepiej konfigurować na poziomie serwera.
1. Przekierowanie 301 w Apache przez plik .htaccess
W wielu pakietach hostingu współdzielonego opartych na Apache przekierowania ustawia się w pliku .htaccess. Plik zwykle znajduje się w katalogu głównym strony, czyli w public_html. Przed edycją koniecznie wykonaj kopię zapasową, ponieważ nawet pojedynczy błędny znak może spowodować błąd 500 Internal Server Error.
Przykład przekierowania pojedynczej strony:
Redirect 301 /stara-strona https://www.nazwastrony.pl/nowa-strona
Przykład przekierowania z HTTP na HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Przykład przekierowania z wersji bez www na wersję z www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^nazwastrony.pl [NC]
RewriteRule ^(.*)$ https://www.nazwastrony.pl/$1 [L,R=301]
Najważniejsze jest to, aby przy jednoczesnym wymuszaniu HTTPS i wybranej wersji www nie tworzyć sprzecznych reguł. Jeśli reguły będą się nakładać, użytkownik może najpierw przejść z HTTP na HTTPS, a dopiero potem z non-www na www. To tworzy niepotrzebny łańcuch przekierowań, który spowalnia ładowanie i komplikuje analizę SEO.
2. Przekierowanie 301 w cPanelu
Dla użytkowników, którzy nie chcą edytować kodu, cPanel jest bardzo wygodnym rozwiązaniem. Ogólne kroki wyglądają następująco:
- Zaloguj się do swojego konta cPanel.
- W sekcji Domains otwórz narzędzie Redirects.
- Jako typ przekierowania wybierz Permanent 301.
- Wskaż domenę lub katalog, który ma zostać przekierowany.
- Wpisz pełny docelowy adres URL.
- Sprawdź ustawienia dotyczące wersji www i zapisz zmiany.
- Przetestuj wynik w trybie incognito przeglądarki albo za pomocą curl.
Klienci Hostragons korzystający z cPanelu mogą łatwiej zarządzać domeną, hostingiem i przekierowaniami z jednego panelu. Jeśli planujesz przeniesienie domeny, warto zajrzeć również do poradnika Jak przeprowadzić transfer domeny.
3. Przekierowanie 301 w WordPressie
W WordPressie przekierowania można wykonać na trzy popularne sposoby: przez wtyczkę, przez plik .htaccess albo za pomocą kodu w motywie lub własnej funkcji. Najbezpieczniejszym punktem startu dla większości osób jest sprawdzona wtyczka do przekierowań. Narzędzia takie jak Redirection, Rank Math czy Yoast SEO Premium pozwalają wygodnie mapować stare i nowe adresy z poziomu panelu WordPressa.
Kroki wdrożenia w WordPressie:
- Najpierw przygotuj listę adresów URL i określ, która stara strona ma prowadzić do którego nowego adresu.
- Przed instalacją wtyczki lub większymi zmianami wykonaj pełną kopię zapasową strony.
- Dodaj parę: stary URL oraz docelowy URL.
- Upewnij się, że kod przekierowania to 301, a nie 302.
- Jeśli używasz wtyczki cache albo cache po stronie serwera, wyczyść pamięć podręczną.
- Sprawdź kod odpowiedzi narzędziem testowym.
Jeśli we wtyczce przechowujesz bardzo dużo reguł przekierowań, może to wpływać na wydajność strony. Przy setkach lub tysiącach przekierowań lepszym rozwiązaniem bywa konfiguracja na poziomie serwera. W optymalizacji WordPressa mogą pomóc również materiały Pakiety hostingu WordPress oraz ustawienia LiteSpeed Cache.
4. Przekierowanie 301 w Nginx
Na serwerach korzystających z Nginx przekierowania najczęściej konfiguruje się w bloku server przypisanym do danej strony. Przykład przekierowania całej domeny może wyglądać tak:
server {
listen 80;
server_name starastrona.pl www.starastrona.pl;
return 301 https://nowastrona.pl$request_uri;
}
Dla przekierowania konkretnej podstrony:
location = /stara-strona {
return 301 https://nazwastrony.pl/nowa-strona;
}
Po zmianie konfiguracji Nginx należy najpierw uruchomić test składni, a dopiero potem przeładować usługę. Błędny blok server może wpłynąć na dostępność całej witryny. Jeśli korzystasz z serwera zarządzanego, najbezpieczniej zaplanować takie prace razem z zespołem wsparcia technicznego. Jeśli potrzebujesz większej kontroli nad konfiguracją, możesz rozważyć rozwiązania Serwer VPS.
Plan przekierowań 301 podczas migracji strony
Przy zmianie domeny lub przebudowie architektury serwisu nie warto zostawiać przekierowań 301 na ostatnią chwilę. W profesjonalnej migracji najpierw przygotowuje się pełny spis obecnych adresów URL, a dopiero potem przypisuje każdemu z nich najlepszy adres docelowy.
Lista kontrolna migracji krok po kroku
- Przygotuj inwentaryzację URL-i: zbierz wszystkie wartościowe adresy z mapy witryny, Google Search Console, Analytics, narzędzi backlinkowych i logów serwera.
- Ustal priorytety: w pierwszej kolejności zajmij się stronami generującymi ruch, linki zewnętrzne i konwersje.
- Stwórz mapowanie jeden do jednego: przypisz stary URL do najbardziej powiązanego nowego URL-a.
- Unikaj masowego przekierowania na stronę główną: nieadekwatne przekierowania osłabiają wartość SEO i frustrują użytkowników.
- Przetestuj w środowisku testowym: sprawdź przykładowe adresy przed wdrożeniem na produkcji.
- Zaktualizuj mapę XML: dodaj nowe adresy URL do sitemap i usuń stare.
- Popraw linkowanie wewnętrzne: nie polegaj wyłącznie na przekierowaniach; menu, treści i linki w stopce powinny prowadzić bezpośrednio do nowych adresów.
- Monitoruj Search Console: przez co najmniej 4-8 tygodni obserwuj raporty indeksowania, statystyki indeksowania i dane dotyczące jakości strony.
Jeśli na przykład zmieniasz strukturę adresów w blogu mającym 300 podstron, przekierowanie tylko 20 najpopularniejszych artykułów zwykle nie wystarczy. Strony z mniejszym ruchem, ale wartościowymi backlinkami, również mogą przenosić autorytet. Dlatego decyzji nie należy opierać wyłącznie na liczbie odwiedzin.
Najczęstsze błędy przy przekierowaniach 301

Tworzenie łańcuchów przekierowań
Łańcuch przekierowań powstaje wtedy, gdy jeden adres prowadzi najpierw do drugiego, a dopiero potem do trzeciego. Zamiast schematu A → B → C powinno się stosować A → C. Łańcuchy niepotrzebnie zużywają budżet indeksowania, spowalniają ładowanie strony i mogą osłabiać przekazywanie sygnałów. Ten problem często pojawia się w serwisach, które przez lata kilka razy zmieniały strukturę URL.
Tworzenie pętli przekierowań
Pętla pojawia się wtedy, gdy A kieruje do B, a B ponownie kieruje do A. W takiej sytuacji przeglądarka zwykle wyświetla błąd too many redirects. Najczęściej przyczyną są konfliktujące reguły HTTPS, www i cache. Aby rozwiązać problem, należy przejrzeć wszystkie reguły przekierowań jedna po drugiej i, jeśli to możliwe, uprościć je w jednym miejscu.
Przekierowywanie na niepowiązane strony
Przekierowanie wszystkich usuniętych podstron na stronę główną może wydawać się szybkim rozwiązaniem, ale zwykle nie odpowiada intencji użytkownika. Starą stronę o instalacji SSL lepiej przekierować do aktualnego poradnika instalacji SSL albo na stronę produktu SSL, a nie na homepage. Takie podejście lepiej chroni doświadczenie użytkownika i sygnały SEO. W tym kontekście można wykorzystać powiązany materiał Jak zainstalować SSL.
Konflikt z robots.txt lub noindex
Jeśli docelowy URL ma ustawione noindex albo jest zablokowany w pliku robots.txt, przekierowanie 301 nie przyniesie oczekiwanych korzyści SEO. Upewnij się, że nowa strona docelowa jest dostępna, możliwa do indeksowania i zwraca kod statusu 200.
Brak testowania przekierowań
Po dodaniu przekierowania samo sprawdzenie, czy strona otwiera się w przeglądarce, nie wystarcza. Pamięć podręczna przeglądarki może wprowadzić Cię w błąd. Kod odpowiedzi trzeba zweryfikować narzędziami do sprawdzania statusów HTTP, poleceniem curl, Screaming Frog lub innym crawlerem.
Jak przetestować przekierowanie 301?
Aby upewnić się, że wdrożenie działa prawidłowo, potrzebny jest test techniczny. Proste polecenie curl pozwala sprawdzić, jaki kod statusu zwraca dany adres URL:
curl -I https://nazwastrony.pl/stara-strona
Przy poprawnej konfiguracji w wyniku powinien pojawić się HTTP/1.1 301 albo HTTP/2 301, a w wierszu Location powinien być widoczny nowy adres URL. Następnie należy sprawdzić, czy adres docelowy zwraca kod 200. Jeśli docelowy URL również przekierowuje dalej, oznacza to łańcuch i regułę warto uprościć.
Metody, których możesz użyć do testów:
- Sprawdzenie nagłówków HTTP za pomocą curl albo narzędzi deweloperskich w przeglądarce.
- Użycie internetowych narzędzi typu redirect checker, aby zobaczyć pełną ścieżkę przekierowań.
- Przeskanowanie całej strony crawlerem, takim jak Screaming Frog.
- Skorzystanie z narzędzia inspekcji adresu URL w Google Search Console.
- Analiza logów access serwera i sprawdzenie żądań Googlebota.
Przekierowanie 301 a wydajność hostingu
Technicznie przekierowanie może wyglądać jak drobna operacja, ale w dużych serwisach setki lub tysiące reguł mogą wpływać na wydajność. Jeśli przy każdym żądaniu serwer musi przetwarzać złożone reguły regex, zużywa dodatkowe zasoby. Dlatego pliki z przekierowaniami powinny być uporządkowane, stare i niepotrzebne wpisy regularnie usuwane, a reguły pisane możliwie prosto i bezpośrednio do finalnego celu.
Duże znaczenie ma też sama infrastruktura hostingowa. Niski TTFB, prawidłowa konfiguracja SSL, obsługa HTTP/2 lub HTTP/3 oraz skuteczny system cache poprawiają doświadczenie użytkownika po wdrożeniu przekierowań. Jeśli Twoja strona rośnie i notuje coraz większy ruch, rozsądnie jest rozważyć bardziej skalowalne opcje, takie jak Hostragons hosting dla firm albo rozwiązania serwerów w chmurze.
Najlepsze praktyki dla przekierowań 301
- Przy zmianach stałych stosuj 301, a przy tymczasowych 302.
- Każdy stary URL kieruj do najbardziej powiązanego nowego adresu.
- Nie przekierowuj masowo wszystkich podstron na stronę główną.
- Skracaj łańcuchy przekierowań do jednego kroku.
- Ujednolić wersję HTTPS, www oraz preferencję dotyczącą końcowego ukośnika.
- Aktualizuj linki wewnętrzne, aby nie zmuszać użytkownika do przechodzenia przez niepotrzebne przekierowania.
- W pliku XML sitemap trzymaj wyłącznie nowe adresy URL zwracające kod 200.
- Po migracji przez 4-8 tygodni monitoruj raporty w Google Search Console.
- Przed ważnymi zmianami wykonaj pełną kopię zapasową i, jeśli to możliwe, przetestuj reguły w środowisku testowym.
- Przy zmianach na poziomie serwera korzystaj ze wsparcia technicznego hostingu.
Krótkie podsumowanie
Przekierowanie 301 to jedna z podstawowych praktyk technicznego SEO przy stałych zmianach adresów URL. Poprawnie użyte przenosi użytkowników i roboty wyszukiwarek pod właściwy adres, pomaga zachować autorytet linków, ogranicza błędy 404, zwiększa bezpieczeństwo migracji i porządkuje sygnały indeksowania. Źle wdrożone może jednak prowadzić do łańcuchów, pętli, nieadekwatnych przekierowań oraz spadków widoczności.
Jeśli planujesz zmianę domeny, przejście na HTTPS albo przebudowę architektury adresów URL, przygotuj mapę przekierowań z wyprzedzeniem i nie pomijaj testów technicznych. Aby wzmocnić infrastrukturę, usprawnić zarządzanie SSL oraz hostingiem, możesz sprawdzić rozwiązania hostingowe, domenowe i SSL Hostragons oraz skorzystać z pomocy zespołu wsparcia technicznego przy wyborze najlepszej konfiguracji.
Najczęściej zadawane pytania
Co to jest przekierowanie 301?
Przekierowanie 301 to kod statusu HTTP informujący, że dany adres URL został trwale przeniesiony pod inny adres. Kieruje użytkowników i wyszukiwarki ze starego adresu na nowy oraz pomaga przekazać sygnały SEO na nową stronę.
Czy przekierowanie 301 szkodzi SEO?
Poprawnie skonfigurowane przekierowanie 301 nie szkodzi SEO; przeciwnie, przy zmianach adresów ogranicza utratę autorytetu i ruchu. Problemy mogą pojawić się przy przekierowaniu na niepowiązaną stronę, tworzeniu łańcuchów lub pętli, a także przy blokowaniu strony docelowej przed indeksowaniem.
Jaka jest różnica między przekierowaniem 301 a 302?
301 oznacza przekierowanie stałe, a 302 tymczasowe. Jeśli strona została przeniesiona na stałe, należy użyć 301. Jeśli po krótkim czasie ma wrócić pod stary adres albo przekierowanie dotyczy czasowej kampanii, lepszym wyborem będzie 302.
Jak długo utrzymywać przekierowanie 301?
Dla ważnych adresów URL przekierowania 301 warto utrzymywać możliwie długo, najlepiej bezterminowo. Linki zewnętrzne, zakładki użytkowników i sygnały wyszukiwarek mogą nadal prowadzić do starego adresu, dlatego zbyt wczesne usunięcie przekierowania może spowodować utratę ruchu.
Czy w WordPressie można zrobić przekierowanie 301 wtyczką?
Tak, w WordPressie przekierowanie 301 można wykonać za pomocą wtyczek takich jak Redirection albo narzędzi SEO. To praktyczna metoda dla małej i średniej liczby przekierowań. Przy bardzo dużych listach reguł, ze względu na wydajność, lepiej rozważyć konfigurację na poziomie serwera.