Přesměrování URL

Přesměrování doporučujeme použít v případech, kdy:
  • přesouváte obsah ze staré URL adresy na novou,
  • máte stejný (duplicitní) obsah na více URL adresách.

Když robot uvidí přesměrování ze staré stránky na novou, pozná, že se k nové stránce má chovat stejně, jako se choval ke stránce staré. Počítá jí stejný rank, započítává zpětné odkazy mířící na starou URL i pro novou adresu a podobně.

Přesměrování staré URL na novou URL lze provést následujícími způsoby:

  • vrácením stavu 301 Moved Permanently, který znamená, že stará stránka byla trvale přesměrována;
  • vrácením stavu 302 Moved Temporarily, který znamená, že stará stránka byla přesměrována pouze dočasně;
  • pomocí meta tagu refresh;
  • pomocí JavaScriptu.

POZOR

Pokud je pro vás důležitý správný přesun ranků a signálů, pak JavaScript k přesměrování nedoporučujeme, protože možných zápisů je příliš mnoho a náš robot nezná všechny.

V případě dvou a více URL se stejným obsahem se dá použít také kanonický link, protože náš robot interně chápe kanonický link velmi podobně jako stavový kód 301, i když uživatel prohlížečem nikam přesměrováván není.

Přesměrování pomocí HTTP stavů 301 a 302

HTTP stavy 301 a 302 lze nastavit několika způsoby:

  • Pomocí modulu webového serveru. Např. pro Apache se používají moduly mod_rewrite nebo mod_alias; instrukce se zadávají do souborů httpd.conf nebo .htaccess. Pokud nevíte, jak to udělat, požádejte správce svého serveru o popis možností. Na většině hostingových řešení mají zapnutý mod_rewrite a klienti mají povolen zápis do .htaccess.
  • Některým ze serverových skriptovacích jazyků (PHP, ASP aj.).
  • Některé redakční systémy (např. Wordpress) mají na přesměrování pluginy.

V každém případě HTTP hlavičky musí poslat už server před samotným obsahem. Nelze je zapisovat do html textu stránky.

Rozdíl mezi stavy HTTP 301 a 302

Použitím různého druhu přesměrování můžete vyhledávači dát vědět, jak se má chovat ke staré (přesměrované) adrese:

  • Použitím stavového kódu 301 říkáte, že se stará URL nikdy nemá ve výsledcích objevit. Vždy se použije cílová adresa přesměrování (s výjimkou hlavní stránky webu, ta se ve výsledcích může objevit, i když na ní je přesměrování). Pokud je přesměrování relativně nové, může se stará adresa ještě nějaký čas zobrazovat ve výsledcích.

  • Stavový kód 302 znamená, že se vyhledávač může rozhodnout, kterou z adres použít jako cílovou URL: starou (zdroj přesměrování), nebo novou (cíl přesměrování). Pro některé dotazy totiž může být přesměrovaná adresa lepší odpovědí než nová adresa. Týká se to zejména situací, kdy uživatel hledá přímo adresu webu, který je ale přesměrovaný jinam.

TIP

Další informace o tomto chování najdete na našem blogu.

Další rozdíl spočívá v tom, že přesměrování 301 robot akceptuje okamžitě po objevení a začne s ním počítat. U přesměrování 302 několik dnů zkouší, jestli se na URL nevrátí obsah (http kód 200). (Toto chování se v budoucnu může změnit.)

Další způsoby přesměrování jsou pak ekvivalentem stavů 301 a 302:

  • Meta tag refresh a rozpoznané javascriptové přesměrování je zpracováváno jako stav 302, takže se přesměrovaná URL může objevit ve výsledcích.
  • Kanonický link mířící na jinou URL chápeme naopak jako informaci o tom, že se stránka s kanonickým linkem ve výsledcích zobrazovat nemá a má být nahrazena svým kanonickým zástupcem. Pracujeme s ní tedy stejně jako se stavovým kódem 301. Výjimkou jsou situace popsané v článku o kanonickém linku, kdy je kanonický link ignorován.

Meta refresh

Příklad přesměrování pomocí meta tagu refresh:

<html>
<head>
<meta http-equiv="refresh" content="3;url=http://seo-napoveda.cz">
<head>
<body>
...

Číslo tři uvedné v příkladu znamená čas v sekundách, po jehož uplynutí zobrazí prohlížeč uživateli novou adresu zadanou v parametru url=. (Bude-li nastaven delší čas přesměrování než 7 sekund, stránka naším robotem nebude považována za přesměrovanou a bude se normálně indexovat.) Výhodou meta refresh je, že jej lze jednoduše přidat nebo odstranit přímo v HTML textu stránky. Není to však optimální způsob přesměrování z pohledu SEO, jelikož různé vyhledávače se k němu můžou chovat různě.