Połącz się z nami

Cześć, czego szukasz?

Bez kategorii

Jak wykonać przekierowanie 301 na stronie www?

przekierowanie 301 htaccess

Mało kto wie o tym, że przekierowania 301 odgrywają w sieci bardzo duże znaczenie. Dlaczego? Do czego służy plik .htaccess i dlaczego lepiej zaznajomić się z zasadami, które definiują przekierowania ruchu między podstronami? Jak zrobić przekierowanie strony? Między innymi na te pytania odpowiemy w tym artykule! 

Do czego służy przekierowanie htaccess?

Przekierowanie to metoda „przenoszenia” lub „zmiany” lokalizacji (katalogu/podkatalogu) podstrony widocznej z poziomu przeglądarki z jednego adresu na inny. Po wejściu na dany adres jest wysyłane zapytanie do serwera. 

Podczas każdego zapytania serwer również czyta plik .htaccess dlatego też jakakolwiek zmiana jest widoczna od razu. Do tej operacji również możemy wykorzystać wtyczkę jeśli np. wykorzystujemy oprogramowanie opensource typu WordPress, PrestaShop, Joomla itp. Zalecamy jednak modyfikację pliku httpd, dzięki czemu zmniejszymy ilość zapytań wysyłanych do serwera, co z kolei ma pozytywny wpływ na późniejszą wydajność serwisu. 

O sprawdzaniu wydajności danej strony oraz jej optymalizacji pod algorytm Core Web Vitals napiszemy wkrótce!

 

Przekierowanie 301 w pliku .htaccess

.htaccess (ang. Hypertext Access) to plik konfiguracyjny serwera. Znajdziemy go na każdym serwerze, który jest oparty o Apache’a. Ten dokument pozwala nam na bardzo wiele akcji, w tym: cachowanie plików, usuwanie końcówki .php czy przekierowanie html, kompresję plików, blokowanie adresów IP. 

Co jednak dla nas kluczowe, pozwala też na szybkie przekierowanie wybranych adresów URL. 

 

Przekierowanie podstrony ( htaccess redirect, htaccess redirect 301 i in.)

Za tym, by przekierować adres, może przemawiać wiele różnych powodów. Można jednak założyć, że najczęściej potrzebujemy pozbyć się błędu 404, więc będziemy musieli użyć jednego ze skryptów, które pozwalają na przekierowanie pojedynczego adresu na linijkę kodu:

 

Reguła 1:

RewriteEngine On
Redirect 301 /oldpage.html http://www.example.com/newpage.html

 

Reguła 2:

RewriteEngine On
​​RewriteRule ^old-url.htm$ http://www.domain.com/new-url.htm [NC,R=301,L]

 

Reguła 3:

RewriteEngine On
RewriteRule ^poprzedni-adres$ http://domena.pl/nowy-adres [L,R=301]

 

Reguła 4 – ta reguła działa jedynie u hostingodawcy home.pl ( możemy ją zastosować jeśli żadna z powyższych nie działa)

:Location /stare.html
Redirect /nowe.html
:Location

 

Przekierowanie http na https

Reguła 1:

RewriteEngine On
RewriteCond %{HTTP_HOST} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}

 

Reguła 2:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

 

Przekierowanie z www na adres bez www

Reguła 1:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domena.pl(.*) [NC]
RewriteRule ^(.*)$ http://domena.pl/$1 [R=301,L]

 

Reguła 2:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

 

Przekierowanie domeny bez www na wersję z www

Reguła 1:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domena.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.domena.pl/$1 [R=301,L]

 

Reguła 2:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]


Przekierowanie subdomeny na domenę z www oraz bez www

Reguła 1:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^prefix\.domena\.pl [NC]
RewriteRule ^(.*) https://domena.pl/$1 [L,R=301]

 

Reguła 2:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^prefix\.domena\.pl [NC]
RewriteRule ^(.*) https://www.domena.pl/$1 [L,R=301]

Jaki skrypt będzie odpowiedni?

Redirect 301

Ten typ skryptu sprawdzi się do pojedynczych przekierowań oraz w sytuacjach, kiedy będziesz chciał doprecyzować jakieś przekierowanie. Taki kod to najprostsze przekierowanie, które sprawdzi się w ponad 90% sytuacji.

 

RewriteCond

Używanie komend z tymi linijkami kodu wydaje się trochę bardziej skomplikowane i rozbudowane. Nic dziwnego, dzięki takim skryptom możemy tworzyć naprawdę bardzo złożone przekierowania. Wymagają one o wiele większej znajomości komend w pliku .htaccess, dlatego też nie zaprezentowaliśmy wielu ich odmian.

 

<Location>

To najrzadziej spotykany skrypt, który wykorzystywaliśmy jedynie jeśli strona była hostowana w serwisie Home.pl. Mimo swojej „unikalności” spełnia swoją funkcję całkiem dobrze podczas pojedynczych przekierowań

 

Przekierowanie za pomocą PHP

Tego typu przekierowania najlepiej użyć w sytuacji, kiedy nie mamy dostępu do panelu administracyjnego serwera, lub jest on dla nas zbyt skomplikowany. Ta metoda pozwoli nam na przekierowanie całej domeny pod inny adres. Przykładowy kod może wyglądać następująco:

<?php
Header(„HTTP/1.1 301 Moved Permanently”);
Header(„Location: http://www.example.com/”);
exit();
?>

Ten skrypt należy wkleić na górze pliku index.php w głównym katalogu twojej strony na serwerze FTP.

 

Na co warto zwrócić uwagę podczas pisania w pliku .htaccess

Na samym początku, zanim wprowadzisz którykolwiek z powyższych skryptów, upewnij się, że:

  • takie rozwiązanie nie zostało wdrożone wcześniej,
  • nie zachodzi ryzyko tzw. pętli przekierowań (redirect chain),
  • w serwisie dodany jest nagłówek RewriteEngine On,
  • dodana jest metoda Mod Rewrite: <IfModule mod_rewrite.c></IfModule>

Warto wiedzieć też o tym, że .htaccess jest czytany liniowo. Oznacza to, że serwer wykonuje skrypty „linijka po linijce”. Należy na to zwrócić uwagę np. podczas stosowania metody Redirect 301 opisanej powyżej. Kiedy w pierwszej kolejności ustawimy katalog, który jest wyżej w hierarchii, każdy kolejny podkatalog nie zostanie wykonany. Przykład:

Redirect 301 /tworzenie-stron-internetowych/ https://marketingprogress.pl/

Redirect 301 /tworzenie-stron-internetowych/na-co-zwrocic-uwage https://marketingprogress.pl/blog/

Redirect 301 /tworzenie-stron-internetowych/jak-przekierowac-strone https://marketingprogress.pl/blog/

W tym przypadku linijka 2 oraz 3 nie zostanie wykonana, ponieważ najpierw wykona się linijka pierwsza, co spowoduje przekierowanie całej zawartości katalogu na adres https://marketingprogress.pl/.

Jeśli chcemy tego uniknąć, musimy odwrócić kolejność:

Redirect 301 /tworzenie-stron-internetowych/jak-przekierowac-strone https://marketingprogress.pl/blog/

Redirect 301 /tworzenie-stron-internetowych/na-co-zwrocic-uwage https://marketingprogress.pl/blog/

Redirect 301 /tworzenie-stron-internetowych/ https://marketingprogress.pl/

W tym przypadku najpierw zostaną przekierowane zasoby niższego stopnia, a dopiero później główny podkatalog.

 

Edytowałem plik i… błąd 500 Internal server error. Co teraz mam zrobić?

Przede wszystkim pamiętaj, że nie jest to sytuacja, której nie można odwrócić. W przypadku przekierowań sytuacja jest dość prosta. Przede wszystkim sprawdź, czy każda linijka zawiera odpowiednie przekierowanie i czy jest oparta o wzór podany przez nas lub hostingodawcę. 

Gdy już uda Ci się znaleźć i poprawić tę linijkę problem powinien zniknąć. Jeśli po wielu próbach wciąż coś jest nie tak, zalecamy zwrócić się do hostingodawcy lub osoby z odpowiednimi umiejętnościami technicznymi. Warto pamiętać o tym, by przed podjęciem takich działań wykonać kopię zapasową bazy danych oraz (jeśli to możliwe) plików na serwerze. 

Wkrótce opiszemy, w jaki sposób wykonać kopię zapasową!

Przekierowanie w JavaScript

Wielu słyszało, ale niewielu miało okazję/potrzebę z tego skorzystać. Początkowo możemy wspomnieć, że przekierowanie js możemy wykonać za pomocą obiektu Window Location oraz jego właściwości lub metody.

 

Przekierowanie za pomocą właściwości obiektu (property):

<script>
window.location.href=”https://adresdocelowy.pl/abc”;
</script>

 

Przekierowanie przy użyciu metody obiektu (method):

<script>
window.location.replace(„https://adresdocelowy.pl/abc”);
</script>

 

Różnica między tymi dwoma skryptami jest znikoma z punktu widzenia użytkownika. Sami na samym początku nie widzieliśmy żadnych rozbieżności, ale jak wiadomo diabeł tkwi w szczegółach.

Pierwszy skrypt ustawia adres lub zwraca nazwę hosta gdzie drugi skrypt podmienia obecny dokument nowym. Dodatkowo replace() charakteryzuje się tym, że nie zapisuje sesji w historii, co może znacząco wpłynąć na zliczanie danych. Również na stronie https://developer.mozilla.org/ możemy znaleźć informację, że wspomnianą metodę obiektu najlepiej używać do przekierowań.

Przy okazji możemy również wspomnieć o możliwości wstawienia przycisku za pomocą Javascript:

 

<script>
function NowaLokacja() {
window.location.href=’https://adresdocelowy.pl/’;
}
</script>
<input value=”button” type=”button” onClick=”NowaLokacja()”>

Z racji, że w dzisiejszych czasach WordPress jest najpopularniejszym CMS-em postaramy się poniżej omówić jak dodać przycisk obsługiwany za pomocą JS właśnie w tym silniku. Powyższy skrypt możesz wstawić na kilka sposobów, ale najważniejsza jest kolejność. Na samym początku skryptu mamy funkcję, w której zawarta jest akcja do wykonania, natomiast w znaczniku <input> mamy przycisk, który wywołuję tą funkcję. Pamiętaj, żeby skrypt z funkcją zamieszczać zawsze powyżej przycisku, w przeciwnym wypadku kod nie zadziała. Przechodząc do praktyki. Najprostszym sposobem jest wejście w edycję danej podstrony i wstawienie go w treść w sekcji HTML:

blok html w cms wordpress

Po wybraniu tej sekcji wstawiamy kod:

przekierowanie js kod

Klikamy opublikuj i powinien pojawić się przycisk, który będzie dopasowany do twojej szaty graficznej.

 

Wtyczka do ustawienia przekierowania 301 i przekierowanie 302 w WordPress – co warto wiedzieć?

Bez wątpienia można znaleźć wiele świetnych wtyczek, które dają taką możliwość. My zaprezentujemy jedną z nich: Redirection autorstwa Johny’ego Godley’a.
wtyczka redirection do wordpressa
Dzięki temu narzędziu cały proces przekierowań jest wręcz banalnie prosty: instalujemy wtyczkę, a następnie aktywujemy ją z poziomu bocznego menu Narzędzia -> Redirection. Na samym początku musimy przeklikać kilka pierwszych opcji i zaznaczyć ewentualnie rozwiązania, które nas interesują. Po kliknięciu przycisku „Finish” zobaczymy panel:
opcje wtyczki redirection
Nas będzie najbardziej interesowała sekcja “Add new redirection”. To właśnie tutaj będzie można dodać nowe przekierowania. W polu „Source URL” podajemy relatywny adres URL, który chcemy przekierować (czyli adres URL bez naszej domeny), a w polu „Target URL” wpisujemy adres, na który chcemy przekierować. Teraz wystarczy tylko nacisnąć na „Add Redirect”. I to wszystko! 

 

Jak sprawdzić poprawność przekierowania?

Przy pojedynczym adresie nie będzie to zbyt skomplikowane zadanie. Możemy sprawdzić taki adres, wpisując go w przeglądarkę. Natomiast jeśli takich adresów mamy o wiele więcej,  to ciężko będzie poświęcić czas na ich ręczną analizę. Na szczęście z pomocą przyjdą nam takie narzędzia, jak:

 

Screaming Frog

Usługa dostępna w darmowej wersji pozwala nam na sprawdzenie do 500 adresów w trybie List. Po zakończeniu analizy będziemy mogli wygenerować raport przekierowań i zobaczyć, czy każdy poszczególny adres kieruje odpowiednio na wskazane przez nas adresy URL

 

Head Master SEO

Bardzo ciekawa alternatywa dla Screaming Frog. Panel użytkownika jest nieco bardziej przyjazny, jednak trzeba też liczyć się z tym, że ilość opcji jest nieco mniejsza, niż w konkurencyjnej, opisanej powyżej, aplikacji.

 

redirect-checker.org

Jeśli potrzebujesz upewnić się, czy pojedyncze przekierowania działają i wyświetlają odpowiedni dla Ciebie kod odpowiedzi serwera, to narzędzie sprawdzi się idealnie.

 

httpstatus.io

To również narzędzie online, które umożliwia analizę wielu adresów URL jednocześnie. Dodatkowo naszym zdaniem jest bardziej przystępne graficznie dla osób mniej wtajemniczonych.

 

Redirect Path chrome extension

wtyczka redirect path

W przypadku jeśli chcesz na bieżąco monitorować przekierowania między adresami URL polecamy pobrać rozszerzenie do przeglądarki chrome. Dodatkową przewagą takiej wtyczki jest to, że pokaże ona nawet przekierowanie w Javascript, gdzie pozostałe narzędzia będą miały z tym niemały problem.

Kiedy należy wykonać przekierowanie?

Przekierowanie należy wykonać w następujących momentach:

  • kiedy przenosisz starą stronę na nową domenę,
  • gdy aktualizujesz strukturę adresów URL,
  • w chwili, gdy zmieniasz nazwę URL wybranej pojedynczej podstrony,
  • gdy usuwasz adres URL ze swojej strony,
  • kiedy chcesz przeprowadzić prace konserwacyjne w portalu(dobrą alternatywą tutaj będzie kod odpowiedzi 5XX).

 

Kiedy stosować przekierowanie 301, a kiedy 302?

Zacznijmy od podstaw. Wyjaśnijmy pokrótce, co oznacza dany kod odpowiedzi serwera:

301 – (ang. Moved permanently) – przekierowanie stałe/permanentne. Oznajmia robotom, że dane przekierowanie będzie ustawione już na zawsze i nie muszą się spodziewać żadnej zmiany adresu URL.

302 – (ang. Moved temporarily) – przekierowanie tymczasowe. Daje znać robotom o tym, że chcemy jedynie na pewien czas przekierować dany adres.

Samo wykorzystanie poszczególnych kodów odpowiedzi serwera tak naprawdę jest uzależnione od sytuacji, więc nie możemy też jednoznacznie powiedzieć, w jakich momentach wykorzystywać przekierowanie 301 lub 302. Najważniejsze jest to, abyś pamiętał, co każde z nich oznacza.

 

Jak redirect 301 wpływa na SEO?

Nie brakuje osób, które twierdzą, że bez przekierowania 301 zasadność prowadzenia działań SEO byłaby w dużej mierze ograniczona. W praktyce oznacza to, że przekierowania to niezbędny element, który może znacznie ułatwić nam cały proces pozycjonowania serwisu w internecie.

Mimo tych wszystkich pozytywnych aspektów trzeba jednak pamiętać o jednej, kluczowej rzeczy: nieodpowiednie użycie przekierowania może tak naprawdę zniszczyć nam całą strategię SEO. Jeśli więc nie wiemy, jak zabrać się za stworzenie łańcucha przekierowań, lub mamy pewne wątpliwości, o wiele lepiej będzie poradzić się specjalistów.

NEWSLETTER

Przeczytaj również

Poradniki

Wybór ścieżki kariery jest jedną z najważniejszych decyzji w życiu. Podejmując ją, warto kierować się nie tylko talentem, ale również tym, jakie są trendy...

Poradniki

Firmy prześcigają się w pozyskiwaniu nowych klientów, a także utrzymywaniu dobrych relacji z tymi, z którymi już współpracują. Skuteczną pomocą w działaniach nastawionych na...

Poradniki

Większość społeczeństwa to wzrokowcy, a w dodatku wszyscy obecnie żyjemy bardzo szybko, przyjmując nadmierną ilość bodźców i informacji. Zewsząd otaczają nas szybko przewijające się...

Poradniki

Każda osoba prowadząca swoją działalność w sieci prędzej czy później spotka się z terminem big data. Mamy tu do czynienia z ogromną ilością informacji....