Przekierowanie 301 – przewodnik [krok po kroku]

Przekierowanie 301 informuje klientów, takich jak przeglądarki internetowe czy roboty indeksujące, o trwałym przeniesieniu zawartości danej strony lub pliku na nowy adres URL. Kiedy serwer otrzymuje żądanie dostępu do zasobu, który nie jest już aktualny, odpowiada kodem HTTP 301, oznaczającym, że treść została przeniesiona na stałe. Często używane przez specjalistów SEO jako jedna z wielu technik SEO, w szczególności dla serwisów o dużej architekturze informacji. W niektórych przypadkach pomaga odzyskać utraconą widoczność i zachować pozycje adresu URL w wynikach wyszukiwania. W artykule dowiesz się, czym jest przekierowanie 301, jak je zrobić, jak wpływa na SEO strony i jak unikać najpopularniejszych błędów. Bez względu na to, czy jesteś początkującym czy zaawansowanym użytkownikiem, ten przewodnik pomoże Ci zrozumieć i efektywnie wykorzystać przekierowanie 301.

Podstawy – Co to jest i jak działa przekierowanie 301?

Przekierowanie 301, znane również jako stałe przekierowanie, jest elementem protokołu HTTP. Ujmując to prosto, umożliwia przekierowanie użytkowników i wyszukiwarek z jednego adresu URL na inny. Jest to kluczowe przy zmianie adresu strony internetowej, migracji domeny czy łączeniu treści. Komunikat ten informuje przeglądarki o przeniesieniu strony na inny adres, a jej zawartość jest teraz dostępna pod nowym URL-em.

Zastosowanie przekierowania 301 pozytywnie wpływa na pozycjonowanie w wynikach wyszukiwania, informując wyszukiwarki o trwałym przeniesieniu strony na nowe miejsce. Oznacza to, że wszelkie linki (zarówno wewnętrzne, jak i zewnętrzne) powiązane z poprzednim adresem URL są przekierowywane do nowego adresu. Dzięki temu nie tracimy wyników osiągniętych na starym adresie, ponieważ są one przenoszone razem z przekierowaniem. Z punktu widzenia użytkownika, przekierowanie 301 zapewnia, że zostaną oni przekierowani do nowej treści, zamiast napotkać błąd 404.

W praktyce, przekierowanie 301 można ustawić na kilka sposobów, w tym poprzez edycję pliku .htaccess na serwerze, użycie języka PHP lub JavaScript, a także za pomocą jednej z wielu wtyczek do WordPressa. Ta ostatnia opcja jest wygodna dla tych, którzy preferują łatwość obsługi lub dla mniej zaawansowanych użytkowników.

Pamiętaj! Zawsze przy zmianie adresu URL należy utworzyć PRZEKIEROWANIE na nowy adres.

Przykładowy kod odpowiedzi serwera przy zastosowaniu przekierowania dla adresu http://pietrzak.media

Inne kody przekierowań – różnice

Wyróżniamy kilka rodzajów przekierowań, jednak redirect 301 różni się od innych przede wszystkim tym, że jest stały. Wyróżniamy także inne rodzaje kodów przekierowań:

  • Przekierowanie 301 – stałe przekierowanie, informuje przeglądarki i roboty wyszukiwarek, że strona została przeniesiona na inny adres URL na stałe. Używane najczęściej w SEO.
  • Przekierowanie 302 – przekierowanie tymczasowe, informuje przeglądarki, że strona została przeniesiona na inny adres URL, ale tylko tymczasowo. Wyszukiwarki mogą nadal indeksować oryginalny adres URL.
  • Przekierowanie 303 – przekierowanie “zobacz inne”, stosowane głównie w przypadku formularzy, aby uniknąć ponownego przesyłania danych przez użytkownika. Informuje przeglądarki, że odpowiedź na żądanie znajduje się pod innym adresem URL. Używa metody żądania POST.
  • Przekierowanie 307 – tymczasowe przekierowanie, podobne do przekierowania 302, ale z zachowaniem metody żądania HTTP (np. POST).

Kiedy warto stosować przekierowanie 301?

Podczas planowania przekierowań ważne jest, aby były one tworzone z uwzględnieniem treści, która wcześniej znajdowała się pod określonym adresem URL. Oznacza to, że warto kierować do podstron z taką samą treścią (lub chociaż zbliżoną tematycznie jeśli nie ma innej możliwości). W przeciwnym razie użytkownicy mogą być zaskoczeni, gdy kliknęli link prowadzący do skarpet a wyświelił się im asortyment plażowy. 🙂 

Przykładowe sytuacje, w których należy zastosować przekierowanie:

  • Ręczna zmiana adresu URL wpisu blogowego, kategorii sprzedażowej czy innych podstron w Twojej witrynie
  • Konsolidacja adresów URL (np. połączenie kilku wpisów blogowych w jeden)
  • Usunięcie produktu z asortymentu (jeżeli już nie wróci, inaczej 302)
  • Wybór odpowiedniej wersji Twojej domeny (https/www)
  • Usunięcie podstrony ze struktury serwisu (tym bardziej jeżeli ma zewnętrzne linki przychodzące)
  • Przeniesienie witryny na nową domenę
  • Zmiana struktury adresów URL w witrynie

Jak ustawić przekierowanie 301?

Przekierowanie w pliku .htaccess

Składnia kodu przekierowania jest zależna od typu serwera, którego używasz. Jeżeli jest to Apache, możesz wykonać przekierowanie poniższym sposobem. Dla innych serwerów jak nginx czy LiteSpeed kod może wyglądać nieco inaczej. W napisaniu kodu przekierowania pomoże Ci także ChatGPT.

  1. Otwórz plik .htaccess znajdujący się w głównym katalogu Twojej strony internetowej. Jeśli plik nie istnieje, utwórz go.
  2. Dodaj poniższy kod do .htaccess, zamieniając “stary-adres” na adres URL, z którego chcesz przekierować, oraz “nowy-adres” na docelowy adres URL:
RewriteEngine On
Redirect 301 /stary-adres/ https://twoja-domena.pl/nowy-adres/
Redirect 301 /stary-adres-2/ https://twoja-domena.pl/nowy-adres-2/
Redirect 301 /stary-adres-3/ https://twoja-domena.pl/nowy-adres-3/
  1. Zapisz zmiany w pliku .htaccess i wgraj go na serwer.
  2. Sprawdź działanie przekierowania wchodząc na stary adres url.

Pamiętaj, że ten sposób wiąże się z pewnym ryzykiem. Plik .htaccess jest często modyfikowany automatycznie np. przez wtyczki WordPress, przez co może zostać usunięty. Warto mieć zapisaną listę przekierowań także w innym miejscu.

Sprawdź co możesz osiągnąć w SEO

Dostosuję zakres działań do Twojej domeny i możliwości.

Darmowa konsultacja

Przekierowanie za pomocą PHP

Alternatywną metodą ustawienia przekierowania 301 jest użycie języka PHP. Ta metoda sprawdza się w statycznych witrynach, które nie są zbudowane na rozwiązaniach CMS.

  1. Otwórz plik PHP, który odpowiada za wyświetlanie strony ze starego adresu URL.
  2. Umieść poniższy kod na samym początku pliku, przed jakimkolwiek innym kodem:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://twojastrona.pl/nowy-adres/");
exit();
?>
  1. Zapisz zmiany w kodzie PHP i wgraj go na serwer.

Przekierowanie w WordPress za pomocą wtyczki

W repozytorium WordPress istnieje wiele wtyczek, których główną funkcjonalnością jest możliwość łatwego zarządzania przekierowaniami. Dzięki takim rozwiązaniom, mamy pełną kontrolę nad całym procesem, wszystkie przekierowania w jednym miejscu, a kiedy potrzebujemy, możemy je zdezaktywować jednym kliknięciem. Możemy także sprawdzić ile razy przekierowanie zadziałało (liczba przejść) bez konieczności analizy logów serwera. Przekierowanie możemy utworzyć we wtyczkach do SEO takich jak YoastSEO (plan premium) czy RankMath SEO, jednak ja od długiego czasu używam sprawdzonego rozwiązania jakim jest Redirection. Bardzo prosta i funkcjonalna wtyczka, a przede wszystkim zawsze działa tak jak powinna.

Jak sprawdzić poprawność przekierowania 301

Aby sprawdzić poprawność przekierowania, możesz skorzystać z jednego z wielu dostępnych narzędzi online, takich jak HTTP Status Checker czy Redirect Checker. Wystarczy wprowadzić stary adres URL, a narzędzie sprawdzi, czy przekierowanie działa poprawnie i kieruje na właściwy, nowy adres URL. Działanie przekierowania możemy sprawdzić również ręcznie, przechodząc pod stary adres URL, jednak ta metoda nie daje nam pewności czy wszystko jest wdrożone poprawnie od strony technicznej.

Warto również sprawdzić, czy przekierowanie 301 nie wprowadza pętli przekierowań, co może negatywnie wpłynąć na doświadczenie użytkownika oraz pozycjonowanie strony w wynikach wyszukiwania. W takim przypadku warto skonsultować się z ekspertem SEO lub administratorem serwera, aby rozwiązać problem.

Skąd wziąć adresy URL do przekierowania?

Teraz już wiesz, jaką rolę pełnią przekierowania oraz jak ich używać. Kolejne pytanie, które może przychodzić na myśl to “gdzie znajduje się spis adresów url, które powinienem przekierować?”. Taką listę powinniśmy utworzyć sami na podstawie informacji z różnych źródeł. Szczególną uwagę powinniśmy zwrócić na adresy błędne, zwracające kod 404 lub 410 – to je w pierwszej kolejności należy przekierować.

  • Google Search Console – błędne adresy URL znajdziemy w menu Strony > Raport: Nie znaleziono (404),
  • Logi serwera – są bardzo cennym źródłem informacji o użytkownikach i robotach, które poruszają się po naszej stronie. Można pobrać z nich adresy zwracające błąd 40x.
  • WebArchive – źródło historycznych adresów w naszej domenie. Pobierzemy je za pomocą linka: http://web.archive.org/cdx/search/cdx?url=twojadomena.pl*&output=txt
  • Screaming Frog – crawler, który skanuje strukturę naszej strony i zwraca odpowiednie informacje m.in. linki wewnętrzne i wychodzące z błędem 40x,
  • Spis nieaktualnych produktów (e-commerce) – prywatna lista wycofanych produktów, jeżeli taką posiadacie.

Ważne! Po utworzeniu spisu adresów, należy usunąć z listy zduplikowane URLe. Każdy adres do przekierowania powinien być unikalny.

Przykłady zastosowania przekierowania 301

Wybór odpowiedniej wersji domeny

Każda domena powinna być dostępna tylko pod jedną, kanoniczną wersją adresu. Pozostałe wersje należy przekierować na podstawowy adres. Zakładając, że wybraliśmy wersję https://twojadomena.pl (z protokołem https, bez www), kody odpowiedzi HTTP powinny wyglądać jak poniżej:

Kody odpowiedzi – httpstatus.io

Dla dodatkowej optymalizacji, można zmienić pierwsze przekierowanie na “jeden przeskok”, od razu do wersji docelowej.

Przykład kodu dla serwera Apache – przekierowanie na kanoniczną wersję witryny

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://twojadomena.pl%{REQUEST_URI} [L,R=301]

Przekierowanie strony internetowej na nowy adres URL

Jeśli planujesz przeniesienie strony na nowy adres URL, zadbanie o odpowiednie przekierowania jest niezbędne, aby zachować pozycje w wynikach wyszukiwania oraz zapewnić płynne przekierowanie użytkownika na nową stronę. W takim przypadku można zastosować gotowy kod z punktu wyżej (w pliku htaccess na starej domenie). Wystarczy podmienić nazwę domeny, a wszystkie parametry i dalsza część adresu podmieni się automatycznie wraz z przekierowaniem.

Przekierowanie wielu subdomen na jedną stronę

W niektórych przypadkach może być konieczne przekierowanie wielu subdomen na jedną stronę, np. gdy chcesz połączyć kilka stron w jedną lub zrezygnować z używania subdomen na rzecz jednej głównej domeny. Aby to zrobić, możesz skorzystać z przekierowań opartych na przekierowaniach serwera, które pozwolą na przekierowanie ruchu z różnych subdomen na wybrany nowy adres URL. W przypadku serwerów opartych na Apache, możesz użyć pliku .htaccess i odpowiednich reguł przekierowań, natomiast dla serwerów opartych na Nginx, będziesz musiał skonfigurować przekierowania w pliku konfiguracyjnym serwera lub dodać przekierowanie 301 z poziomu panelu hostingu.

Jak przekierowanie 301 wpływa na pozycjonowanie strony?

Analiza i tworzenie przekierowań jest nieodłącznym elementem pracy każdego seowca. Odpowiednie podejście do tego tematu może przynieść nam wiele dobrego z punktu widzenia seo. Przekierowanie 301 jest kluczowe dla utrzymania pozycji strony w wynikach wyszukiwania, gdy następuje zmiana adresu URL lub przeniesienie witryny. Dzięki niemu, Google i inne wyszukiwarki przekazują wartość SEO ze starego adresu na nowy, dlatego nie musimy się przejmować backlinkami, które dotychczasowo pozyskaliśmy. W efekcie, strona utrzymuje swoje dotychczasowe pozycje, a użytkownicy są kierowani na nowy adres bez problemów.

W przypadku sklepów internetowych, przekierowania są o tyle istotne, że nie tylko przenoszą wartość SEO ale także (poprawnie wykonane) są w stanie zaoferować użytkownikowi podobny produkt, co finalnie wpływa na konwersje. Warto także przeanalizować co dzieje się z adresami url produktów, które są wyłączane lub usuwane. Przy szerokim asortymencie, istnieje duże prawdopodobieństwo, że tracimy część ruchu i widoczności z powodu niewdrożonych przekierowań.

Najczęściej popełniane błędy przy przekierowaniu 301

Przekierowanie nieistniejącej strony

Nie ma potrzeby przekierowywania adresów URL, które nigdy nie istniały. Automatyczne przekierowanie każdego napotkanego błędu 404 na naszej stronie również nie jest dobrym rozwiązaniem. Głównym powodem jest brak wartości SEO oraz jakiejkolwiek uzasadnienia takiego działania. Przekierowanie nieistniejącej strony nie przekazuje żadnej wartości SEO, ponieważ strona źródłowa nie posiada żadnych linków ani wartości. W rezultacie, przekierowanie to nie wpłynie pozytywnie na pozycjonowanie strony docelowej. Dodanie kolejnych „pustych” przekierowań może jedynie zniechęcić boty wyszukiwarek do odwiedzania naszej witryny. Zamiast tego warto skupić się na przekierowywaniu adresów, które niosą za sobą rzeczywistą wartość.

Tworzenie pętli i łańcuchów przekierowań

Niepoprawne wdrożenie przekierowań może skutkować niekorzystnym zjawiskiem takim jak “pętla przekierowań” lub “łańcuch przekierowań”.

  • pętla przekierowań – przekierowanie zapętla się, ponieważ nie ma finalnego adresu zwracającego kod 200 np. A > B > C > A,
  • łańcuch przekierowań – większa ilość przekierowań następująca po sobie. W teorii, boty wyszukiwarki radzą sobie z łańcuchami, jednak marnuje to crawl budget naszej strony oraz wpływa na czas ładowania. Najlepiej, aby przekierowania były robione pojedynczo A > B.

Brak aktualizacji starych przekierowań

Czym więcej przekierowań, tym trudniej zapanować nad porządkiem, w szczególności gdy zmian w strukturze adresów było dużo. Co jakiś czas warto ponownie przeanalizować wszystkie przekierowania i zaktualizować niektóre z nich, jeżeli jest taka potrzeba.

Przykład: 

Mamy trzy adresy url z przekierowaniem 301. Można to zobrazować tak: A > B > C
W sytuacji, gdy adres B zostaje usunięty ze struktury, możemy zaktualizować przekierowanie bezpośrednio z podstrony A do podstrony C w celu lepszego zapanowania nad systematyką i porządkiem.

Błędy w pliku .htaccess

Podczas ustawiania przekierowania 301 za pomocą pliku .htaccess, można popełnić kilka błędów, których warto unikać. Poniżej kilka wskazówek:

  1. Sprawdź jakiego typu serwera używasz (Apache, nginx, LiteSpeed czy inne) i na tej podstawie dobierz odpowiednią składnię kodu przekierowania. 
  2. Nie nadpisuj innych istniejących linijek w .htaccess – to bardzo ważne.
  3. Przekierowanie domeny (całościowe) powinno znaleźć się jak najwyżej w kodzie. Przekierowania podstron zalecam przenieść na sam dół.
  4. Silnik przekierowań (linijka RewriteEngine On) – ta linijka kodu powinna wystąpić tylko raz, nad wszystkimi przekierowaniami
  5. Utrzymuj porządek – pamiętaj, że źródłowy adres url przekierowania powinien wystąpić tylko raz. Trzymaj wszystkie linijki z przekierowaniami w jednym miejscu, jedna pod drugą.
  6. Monitoruj i sprawdzaj – po każdych wprowadzonych zmianach należy je przetestować
  7. Plik .htaccess nie jest wieczny – wiele funkcji czy wtyczek jest w stanie zmodyfikować zawartość htaccess, dlatego warto mieć jego kopię zapasową i co jakiś czas sprawdzić jego zawartość.

Przestrzeganie powyższych wskazówek pozwoli uniknąć błędów w pliku .htaccess podczas ustawiania przekierowania 301, co przyczyni się do poprawy SEO oraz doświadczenia użytkownika na stronie.

Podsumowanie

Mam nadzieje, że powyższa dawka wiedzy była dla Ciebie pomocna, bo z takim założeniem tworzę wszystkie moje treści. Jestem przekonany, że wiesz już jak użyć przekierowania 301 oraz jak je sprawdzić. W temacie przekierowań warto mieć na uwadze porządek, bo to dzięki niemu przyszłe analizy i praca z przekierowaniami staje się przyjemna i łatwa. Jeżeli coś jest niejasne, potrzebujesz pomocy lub masz inne pytania – zapraszam do kontaktu!

Patryk Pietrzak

Patryk Pietrzak

Artykuły: 3

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *