Przekierowanie http na https

Przekierowanie HTTP na HTTPS, plików indeksowych

W sieci ile wpisów tyle rozwiązań. Dla wordpressa dziesiątki wtyczek. Jednak jakie jest jedyne słuszne i najlepsze przekierowanie 301 wszystkich możliwych adresów indeksowych oraz z HTTP na HTTPS, które mogą powodować problemy. Sprawdź jaki jest właściwy zapis przekierowań.

Jak sprawdzić przekierowanie http na https?

Agencje SEO rekomendują przekierowanie wszystkich adresów – także plików indeksowych. Oczywiście bez podwójnych przekierowań czy pętli. Jak zatem wykonać przekierowania wszystkich adresów? Jak sprawdzić czy moja strona ma dobre przekierowania? Wchodzimy na stronę: https://httpstatus.io/ wklejamy tam listę możliwych (także plików indeksowych) adresów takich jak w poniższym przykładzie:

http://www.piestrzynski.info
https://www.piestrzynski.info
http://piestrzynski.info
https://piestrzynski.info
http://piestrzynski.info/index.php
http://www.piestrzynski.info/index.php
https://piestrzynski.info/index.php
https://www.piestrzynski.info/index.php
http://www.piestrzynski.info/index.html
https://www.piestrzynski.info/index.html
http://piestrzynski.info/index.html
https://piestrzynski.info/index.html
http://www.piestrzynski.info/index.htm
https://www.piestrzynski.info/index.htm
http://piestrzynski.info/index.htm

Zastępując „piestrzynski.info” swoją domeną. To wszystkie możliwe adresy indeksowe, https i z http oraz z i bez www.

Taką listę można wypisać ręcznie lub wygenerować sobie skryptem dla konkretnej domeny. Można też skorzystać z poniższego narzędzia do generowania listy adresów url:

Generator linków indeksowych i https


Domena:

Wpisz nazwę domeny bez www i z końcówką np. domena.pl

http://www.
https://www.
http://
https://
http:///index.php
http://www./index.php
https:///index.php
https://www./index.php
http://www./index.html
https://www./index.html
http:///index.html
https:///index.html
http://www./index.htm
https://www./index.htm
http:///index.htm
https:///index.htm

 

Teraz wystarczy skopiować i skorzystać z https://httpstatus.io/, nim to jednak zrobisz, sprawdź jak wygląda wynik tego testu.

Błędny wynik:

Niewłaściwe przekierowania
Błędny wynik z narzędzia http

Błędny wynik to taki, w którym pojawiają się podwójne przekierowania, ich całkowity brak czy błędy 404. Trzeba na to szczególnie zwrócić uwagę, jeśli przekierowujemy serwis z http na https czyli stronę z certyfikatem ssl. Ze względu na ostatnie wprowadzone zmiany w algorytmie wyszukiwarki Google (2017), warto to zrobić. Szczególnie jeśli na stronie posiadamy formularze czy sprzedajemy usługi lub produkty. Nie będę tu dyskutował na ile wdrożony certyfikat ssl wpływa na pozycje strony. Ważne są prawidłowe przekierowania. Jak zatem powinien wyglądać prawidłowy output?

Zapis przekierowań 301 w pliku .htaccess

Poniższy kod, warto przykleić do swojego pliku .htaccess upewniając się czy nie ma konfliktu z pozostałymi przekierowaniami. Jeśli wszystko jest ok, należy powtórzyć test. Wówczas naszym oczom powinna ukazać się taka lista wyników:

Przekierowanie z http na https
Prawidłowy wynik przekierowań.

Przekierowanie domeny bez www (z http na https)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} domena.pl
RewriteCond "%{THE_REQUEST}" "^.*/index\.(php|htm|html) " [NC]
RewriteRule ^(.*)index\.(php|htm|html)$ https://domena.pl/$1 [R=301,NC,L]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} domena\.pl$ [NC]
RewriteRule .* https://domena.pl%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} www\.domena\.pl$ [NC]
RewriteRule .* https://domena.pl%{REQUEST_URI} [R=301,L]
</IfModule>

 

Przekierowanie domeny z www (z http na https)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} domena.pl
RewriteCond "%{THE_REQUEST}" "^.*/index\.(php|htm|html) " [NC]
RewriteRule ^(.*)index\.(php|htm|html)$ https://www.domena.pl/$1 [R=301,NC,L]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} domena\.pl$ [NC]
RewriteRule .* https://www.domena.pl%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} domena\.pl$ [NC]
RewriteRule .* https://www.domena.pl%{REQUEST_URI} [R=301,L]
</IfModule>

Powyższy kod umożliwi przekierowanie https oraz przekierowanie plików indeksowych. Dzięki temu, nie będziesz musiał martwić się o ewentualne błędy.

a.. Czy Ty masz prawidłowo przekierowane wszystkie adresy?

Przypomniałem sobie jeszcze o jednym ważnym elemencie na końcu każdego adresu url. Pamiętacie ten obrazek?

 

Check Lista po wdrożeniu certyfikatu https

  1. Sprawdzić poprawność wdrożenia certyfikatu: https://www.ssllabs.com/ssltest/
  2. Sprawdzić przekierowania http (http na https)
  3. Wskazać adresy kanoniczne (<rel=”canonical” href=””>)
  4. Zaktualizować linki wewnętrzne (także do zasobów JS, CSS itp)
  5. Zaktualizować linki przychodzące (na ile to możliwe)
  6. Zaktualizować (dodać wpis) Google Search Console
  7. Zaktualizować linki w sitemapie
  8. Zaktualizować link do sitemapy (z https) w pliku robots.

 

Udostępnij ten wpis swoim znajomym, może im też przyda się poprawne przekierowanie adresów!

5/5 - (13 votes)

Autor

Dominik

Zajmuje się tworzeniem stron internetowych i realizacją działań SEO na rzecz dużych i małych przedsiębiorstw. Pracowałem między innymi dla Semahead czy wydawnictwa HELION. Prowadzę szkolenia z zakresu HTML5 i SEO. Każdego dnia odkrywam nowe możliwości, tak by rozwijać Twój biznes w sieci.

16 komentarzy do “Przekierowanie HTTP na HTTPS, plików indeksowych”

  1. Witam,
    Super poradnik ale mam malutki problem. Niestety ale nie przekierowuje mi https://www.strona.pl/index.html (tak, zostaje WWW!) oraz https://strona.pl/index.html na strona.pl (bez index). Wszystkie inne przekierowania z index (index.html i .php) działają. Może to dlatego, że index.html to jedyny z tych trzech który rzeczywiście istnieje? Jaki może być tego powód?

    Pozdrawiam

  2. Bardzo przydatny wpis, pomógł mi ogarnąć linki do strony jakie się duplikowały przez to że strona była dostępna i na trybie bezpiecznym i zwykłym jednocześnie. Teraz już ten problem nie występuje.

  3. Dobry artykuł, ale dla tych co się na tym znają ,,,
    Ja mam w jednym miejscu dwa przekierowania, certyfikat około roku temu wprowadzałem, przekierowania robiłem wtyczką Really Simple SSL , kłódka na pasku jest zielona , więc wydawało mi się że jest ok.
    Rozumiem że powonieniem wkleić dwa kody , które Pan podał, ale czy może Pan napisać jak usunąć te pozostałe przekierowania ???
    Czy nie zrobią mi się teraz potrójne, podwójne przekierowania??
    Jeżeli znajdzie Pan czas to proszę o odpowiedź.
    Dziękuję za artykuł i pozdrawiam
    Marek

    1. To rozwiązanie nie wymaga żadnej dodatkowej wtyczki. Proszę wcześniej wyłączyć wtyczkę, wybrać jeden z odpowiadających Pana wersji strony kod (czyli z www czy bez www) i takowy umieścić – upewniając się czy w pliku htaccess nie ma konfliktu z innymi wpisami dotyczącymi przekierowań. Zapraszam ponownie 🙂

  4. Świetny artykuł. Zrobiłam wszystko zgodnie z instrukcją, ale niestety mam podwójne przekierowania. Nie mam pojęcia gdzie szukać winowajcy.

  5. Bardzo przydatna funkcja, tego mi brakowało w softach do audytu. Teraz będzie dużo prościej to sprawdzać- zawsze robiłem ręcznie.

  6. Poradnik świetny. Wprowadziłem tą regułę w witrynie opartej na Joomla. Niestety wystąpił problem z logowaniem do zaplecza. Może jakaś wskazówka jak postąpić w takiej sytuacji?

  7. Bardzo zwięźle przedstawione zagadnienie. Pozwala skutecznie wyeliminować problemy z przekierowaniami. Dziękuję za pomoc.
    Odnośnie wypowiedzi Marka: „Dobry artykuł, ale dla tych co się na tym znają ,,, Ja mam w jednym miejscu dwa przekierowania…”
    Zgodnie z sugestią Dominika należy się upewnić czy nie ma konfliktu z przekierowaniami wykonanymi inną techniką. Może być np. ustawione przekierowanie w directadminie. Jeżeli stosujemy wyżej podany kod w .htaaccess to należy najpierw wyłączyć wymuszenie przekierowań w directadminie dla konfigurowanej domeny.

Dodaj komentarz

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


The reCAPTCHA verification period has expired. Please reload the page.