Technické

Přesměrování na WWW nebo ne-WWW verzi webu

O tom jestli je lepší používat web s nebo bez WWW jsme psali tady. Ať už si vyberete kteroukoliv verzi, což je ze SEO hlediska jedno, měli byste vyřešit přesměrování jedné verze na druhou. Pokud byste měli třeba verzi s www, a někdo chtěl navštívit verzi bez, tak by měl být automaticky přesměrován, aby byla vždy dostupná jen jedna varianta.

Vyřešíte tím spousty problémů s duplicitním obsahem, rozmělněným linkbuildingem a prostě je to lepší. Tady se podíváme, jak na to.

Přesměrování přes .htaccess

Soubor .htaccess je soubor, který se jmenuje přesně takto, tedy „.htaccess“ bez uvozovek a s tečkou na začátku. Jde o soubor, kterým můžeme sami měnit nastavení Apache serveru, aniž bychom museli kontaktovat webhosting. Jestli máte někde web, tak velmi pravděpodobně je poháněn právě Apache, takže můžete využít i .htaccess.  Takto si řadu věcí můžeme nastavit sami.

Tento soubor se nachází přímo v kořenové složce vašeho webu. Může se nacházet i v podsložkách, kdy pak ovlivňuje vždy onu podložku nebo ještě další adresáře, které jsou součástí této podložky. Typicky ale upravujeme .htaccess právě v kořenové složce, kde je tedy platný pro celý web včetně všech složek.

Do souboru .htaccess píšeme instrukce, které provádí přímo server. Můžeme skrz něj třeba zakazovat přístup IP adres, nastavení doby vypršení platnosti souborů v cache, ale co je pro nás momentálně nejdůležitější, tak také přesměrování.

Na co si dát pozor

  1. Soubor .htaccess mění nastavení serveru. Chybným nastavením můžete snadno shodit celý web
  2. Mějte vždy k .htaccess přístup i jinak, než přes pluginy. Typicky se soubor mění přes FTP. Pokud jste na WordPressu, můžete přímo v adminu přes pluginy tento soubor měnit. U jiných redakčních systémů to bude podobné. Pokud ale soubor chybně nastavíte a shodíte si web, do adminu se nedostanete. Rozhodně tak potřebujete přístup přes FTP!
  3. Není špatné si před zásahem do .htaccess udělat zálohu tohoto souboru
  4. Přesměrování mohou být nacachována ve vašem prohlížeči. Pokud testujete, jestli přesměrování funguje správně, využijte anonymní okno

Přesměrování z ne-WWW na WWW verzi (+ z http na https)

V této verzi automaticky přesměrováváme z ne-WWW na WWW verzi, a navíc řešíme i přesměrování z http na zabezpečený protokol https.

Dnes je https standard, zařídit si certifikát je dnes na každém trošičku solidnějším webhostingu zcela zdarma, a ze SEO hlediska jde o hodnotící faktor. Mějte proto web na https. I v tomto případě je potřeba řešit přesměrování, které je pořešeno kódem níže, a to vše v jednom jediném přesměrování, což je rychlejší a ulevíte i svému serveru/webhostingu.

V praxi pokud by se někdo chtěl dostat na http://example.com, dostane se v jediném přesměrování na https://www.example.com. Pořešeny jsou i všechny parametry v URL, takže http://example.com/abc/ bude přesměrováno na https://www.example.com/abc/

Tento kód přidejte do svého .htaccess souboru

RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.vasedomena.cz%{REQUEST_URI} [R=301,L]

Co tento kód dělá:

  • V prvním řádku zapínáme mod_rewrite, což je modul serveru Apache pro přesměrování URL. To v tomto případě chceme.
  • Druhý a třetí řádek jsou podmínky přesměrování, kdy se kontroluje, jestli jsme na zabezpečeném protokolu https (pokud ne, dojde k přesměrování) nebo na ne-WWW verzi webu (pokud nejsme, dojde k přesměrování).
  • Poslední řádek je pak adresa samotného přesměrování. Nezapomeňte v tomto řádku změnit „vasedomena“ na vaši reálnou doménu. V závorce na úplném konci je pak instrukce, že jde o přesměrování 301, tedy trvalý přesun stránky, a L znamená Last, tedy že pokud k přesměrování dojde, server již neřeší žádné další řádky v .htaccess, ale prostě dojde k přesměrování.

Přesměrování z WWW na ne-WWW verzi (+ z http na https)

Zde najdete přesměrování z WWW na ne-WWW verzi. Informace o tom, co kód znamená, jsou identické, jako přesměrování na WWW, takže jen přeskočte o odstavec výše. V jednom kroku je také zařízeno přesměrování z http na https.

Do souboru .htaccess přidejte tento kód, který funguje v zásadě stejně, jako kód výše, jen jsou nastaveny jiné podmínky a samotná výsledná URL. V posledním řádku změňte „vasedomena“ na vaši reálnou doménu.

Tento kód přidejte do svého .htaccess souboru

RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule (.*) https://vasedomena.cz%{REQUEST_URI} [R=301,L]

Přesměrování na WWW verzi (bez řešení https)

Pokud opravdu ale opravdu nemůžete převést web na https (i když by to opravdu ale opravdu jít mělo), přidávám i kódy, u kterých neřeším přesměrování z http na https, ale pouze z ne-www na www verzi webu. Ty můžete použít hlavně ve chvíli, kdy už máte řešené přesměrování na https. Je lepší mít všechno v jednom kroku, ale pro úplnost se to možná může hodit.

Přesměrování z https na http neuvádím, protože pokud nemáte vydaný SSL certifikát, stejně by to nefungovalo. A pokud certifikát máte, nedává smysl zabezpečený protokol nevyužívat a přesměrovávat na nezabezpečený protokol.

Pro přesměrování na WWW verzi webu přidejte do .htaccess tento kód. V posledním řádku nezapomeňte vepsat vaši reálnou doménu:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) http://www.vasedomena.cz%{REQUEST_URI} [R=301,L]

Přesměrování na ne-WWW verzi (bez řešení https)

Pro přesměrování z www na ne-www verzi přidejte do .htaccess tento kód. V posledním řádku nezapomeňte vepsat vaši reálnou doménu:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule (.*) http://vasedomena.cz%{REQUEST_URI} [R=301,L]

5 1 hodnocení
Ohodnoťte článek
0 Komentáře
Inline Feedbacks
View all comments
Back to top button