Jak neztrácet odkazy: přesměrování a kanonizace webu

Každý webmaster a linkbuilder musí umět zacházet s redirecty. Pro efektivní linkbuilding je důležité, aby nám nevznikaly přerušené linky vedoucí na nefunkční stránky nebo duplicitní URL, o které se tříští ranky webu.

Duplicitní URL

Problém často nástává už u domén. Doména prvního řádu je většinou národní koncovka, nebo jiná zkratka. Jednotlivé řády domén se oddělují tečkou. V ČR je doménou prvního řádu cz. Doménou druhého řáduje název domény. V případě našeho webu je to seowebmaster. Zase následujte tečka oznamující doménu třetího řádu. Může to být téměř cokoliv. V praxi se často používá označení www ( world wide web ). Stejně tak si můžu zvolit jméno domény třetího řádu třeba wwwinfo, nebo pojmenovat vhodným klíčovým slovem. Teď už je asi většina čtenářů jasné, že http://seowebmaster.cz není stejná doména jako http://www.seowebmaster.cz a na každé z těchto domén může být zcela jiná webová stránka.

Canonical URL v HTML hlavičce webu

Při vytváření kampaní se používají upravené URL adresy pro lepší meřitelnost účinnosti kampaní pomocí Google Analytics. Tyto URL používají parametry za otazníkem. Tím jsou zároveň vytvářeny duplicitní URL. U PPC reklamy to nevadí, ale v případě bannerové reklamy a odkazových lišt už dochází k tříštění ranků.

Pro tento příklad slouží tak link vložený v sekci head

<link rel="canonical" href="http://seowebmaster.cz/htaccess-redirect-canonical-url" />

Tímto způsobem dám informaci robotům, která URL je ta "správná" a kterou by měli považovat za hlavní verzi.

Redirect 301

Redirect 301 znamená trvalé přesměrování dotazů na URL na novou URL. Můžeme ho využít při přesměrovávání mezi domény, nebo pro opravu zlomených linků. Můj oblíbený způsob je redirect pomocí .htaccess. Tato metoda funguje jen na linuxových serverech s Apache se zapnutým mod-rewrite modulem.

Redirect 301 na www - přesměrování na doménu s www

V kořenovém adresáři webu je umístěn soubor .htaccess. Je to konfigurační soubor Apache, kterým lze upravovat nastavení linuxového serveru. Nám postačí nastavit přesměrování dotazů pomocí příkazů ( mojedomena.cz si samozřejmě zaměňte za tu svoji doménu ):

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^mojedomena.cz [nc]
RewriteRule ^(.*)$ http://www.mojedomena.cz/$1 [r=301,nc]

Redirect 301 na doménu druhého řádu - přesměrování na doménu bez www

Pokud preferujeme název webu bez www, tak si zařídíme redirect 301 z www verze. Opět stačí dopsat pár příkazů do .htaccess

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.mojedomena.cz [NC]
RewriteRule ^(.*)$ http://mojedomena.cz/$1 [L,R=301]

Redirect 301 ze staré na novou doménu

Může se stát, že z nějakého důvodu chceme přesunout webové stránky na jinou doménu. Firma se přejmenuje, nebo název nebude vyhovovat aktuálním marketingovým potřebám. Přesto nechceme vytvářet duplicitní web a ani nechceme přijít o všechny odkazy, které směřovaly na původní doménu. I zde opět postačí menší úprava .htaccess .

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.mojedomena.cz/$1 [R=301,L]

Redirect 301 - zkrácený zápis

V některých případech se může stát, že z nějakého důvodu potřebujeme změnit URL stránky. Pak použijeme opět zápis do .htaccess.

redirect 301 /stara-url http://domena.cz/nova-url

Tímto způsobem lze přesměrovávat i na jiné domény. Podstatné je, aby na /stara-url existoval stále záznam. Někdy je proto nutné nechat na webu např. prázdný html soubor na původní URL.

Přesměrování přes RewriteRule

Při použití RewriteRule není třeba zachovávat staré webové stránky. Hvězdička na konci staré URL značí, že URL může mít jakoukoliv koncovku.

RewriteEngine on
RewriteRule stara-url\.* /nova-url

HTTP 301 Redirect pomocí PHP


<?php
// Permanent redirection
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.seowebmaster.cz/");
exit();
?>

Místo URL http://www.seowebmaster.cz/ si samozřejmě vložíte svojí URL, kam má být stránka přesměrovaná.