
Přesměrování 301 je způsob, jak vyhledávači i návštěvníkovi říct, že se stránka natrvalo přestěhovala z jedné adresy na druhou. Číslo 301 je stavový kód protokolu HTTP a znamená doslova Moved Permanently, tedy trvale přesunuto. Když měníš strukturu webu, rušíš stránky, slučuješ duplicity nebo přecházíš na nové URL, právě 301 zajistí, že se návštěvník i Google dostanou na správné místo a že se na novou adresu přenesou nasbírané odkazy a s nimi šance udržet pozice.
Bez něj měníš web naslepo a riskuješ ztrátu návštěvnosti, kterou jsi roky budoval. Jeden z nejstarších failů je, že i velké firmy při redesignu nepřesměrují starý web vůbec, nebo pošlou všechno na homepage. Níž najdeš rozdíl mezi jednotlivými typy přesměrování, co dělat při migraci a jak redirecty kontroluju já.
Odkud se slovo bere
Slovo přesměrování je složené z předpony pře, ve významu na jiné místo, a základu směr. Doslova tedy jde o poslání jiným směrem. Anglický termín redirect vychází z latinského dirigere, tedy řídit či usměrňovat. V češtině se oba výrazy používají napřeskáčku a v SEO znamenají totéž.
Číslo 301 pak není náhodné. Je to konkrétní stavový kód z rodiny 3xx, kterou protokol HTTP vyhradil právě pro přesměrování. Vyhledávač i prohlížeč kód přečtou a podle něj se zachovají, podobně jako čtou pokyny v souboru robots.txt. Kód 301 znamená trvale, 302 dočasně, 404 stránka nenalezena a 410 trvale odstraněna.
Krátká historie přesměrování 301
Stavové kódy HTTP včetně 301 a 302 se objevily už v první specifikaci protokolu v polovině devadesátých let a rozpracovala je norma RFC 2616 z roku 1999. Ta přidala i kód 307, protože prohlížeče u 302 měnily odeslaný formulář na obyčejné načtení stránky. Trvalý protějšek 308 přibyl až v roce 2015 a dnes všechny kódy shrnuje norma RFC 9110 z června 2022.
Jak rostl význam odkazů pro hodnocení webů, začalo se řešit, kolik síly přesměrování reálně přenese. Google dlouho tvrdil, že 301 přenáší jen část takzvaného PageRanku, na kterém stojí i dnešní hodnota zpětných odkazů. V červenci 2016 pak jeho pracovník Gary Illyes oznámil, že přesměrování typu 30x o PageRank nepřipravují. Od té doby se při stěhování webu o ztrátu odkazové síly samotným přesměrováním nemusíš bát. Pozice ale dál závisí na tom, jestli nová stránka odpovídá té staré.
Jak přesměrování 301 funguje z pohledu SEO
Když robot narazí na adresu, která vrací kód 301, pochopí, že originál je jinde, a obvykle časem starou URL v indexu nahradí novou. Obsah staré adresy Google ignoruje a zpracuje až cílovou stránku. Právě proto je 301 první volba při změně adres, přechodu na https, sloučení duplicit nebo rušení stránek.

Pozor ale na rozdíl oproti kanonickému odkazu. Canonical je jen doporučení pro dvě podobné stránky, které obě zůstávají dostupné, zatímco 301 starou adresu reálně zavře a pošle dál. Kde stará stránka nemá důvod existovat, volím přesměrování. Kde ji lidé potřebují, třeba varianta produktu s jiným filtrem, volím canonical.
Typy přesměrování a kdy který použít
Přesměrování 301 není jediné. Google rozlišuje dvě skupiny, trvalá a dočasná, a podle toho se rozhoduje, kterou adresu nechá ve výsledcích. U trvalého bere jako hlavní verzi cíl, u dočasného cíl za hlavní verzi nepovažuje a ve výsledcích často nechá starou adresu.
| Typ | Trvalé, nebo dočasné | Jak ho bere Google | Kdy ho použít |
|---|---|---|---|
| 301 Moved Permanently | trvalé | silný signál, v indexu nahradí starou adresu cílem | změna URL, sloučení stránek, přechod na https |
| 308 Permanent Redirect | trvalé | stejně jako 301 | totéž co 301, navíc u formulářů a API, kde se nesmí změnit metoda požadavku |
| 302 Found a 303 See Other | dočasné | slabý signál, ve výsledcích může zůstat stará adresa | dočasná akce, produkt na pár dní mimo, test |
| 307 Temporary Redirect | dočasné | stejně jako 302 | dočasná změna, kde se nesmí změnit metoda požadavku |
| Meta refresh | podle zpoždění | s nulovým zpožděním jako trvalé, se zpožděním jako dočasné | jen když nemáš přístup k serveru |
| JavaScript | trvalé | Google ho uvidí, jen když stránku úspěšně vykreslí | až jako poslední možnost |
Rozdíl mezi 301 a 308 v praxi řeší hlavně vývojáři. U 301 starší klienti při přesměrování změní odeslaný formulář na obyčejné načtení, u 308 se metoda zachová. Pro SEO je to jedno, oba kódy Google bere stejně. Na běžném webu proto dál používám 301, protože ho umí každý plugin i hosting.

Dočasné přesměrování neznamená, že by odkazy přišly vniveč. Google ale cíl nebere jako hlavní verzi a ve výsledcích může dál ukazovat starou adresu. Kdo dá 302 při trvalém stěhování, často týdny sleduje, jak Google ve výsledcích ukazuje adresu, která už neexistuje.
Řetězce a smyčky přesměrování
Řetězec vzniká, když adresa A vede na B a ta na C. Typicky po několika redesignech, kdy nikdo neupravil starší pravidla, nebo když se k sobě sejde přechod na https, přidání www, lomítko na konci a převod adresy na malá písmena. Google zvládne až deset přesměrování za sebou, pak to vzdá. Každý krok ale zdržuje robota i návštěvníka a zbytečně riskuje, že jeden článek řetězu časem přestane fungovat.

Smyčka je horší varianta, kdy adresa B vede zpátky na A. Prohlížeč po pár pokusech skončí chybou ERR_TOO_MANY_REDIRECTS a stránka je pro všechny nedostupná. Obojí řeším stejně. Každé staré pravidlo přepíšu tak, aby vedlo rovnou na finální adresu, a interní odkazy opravím, aby na přesměrování vůbec nevedly.
Přesměrování při migraci webu a změně URL
Migrace je situace, kdy se přesměrování dělá ve velkém a kdy se nejvíc pokazí. Základem je mapa přesměrování, tedy tabulka, kde ke každé staré adrese patří jedna nová. Google ji v návodu ke stěhování webu doporučuje přímo a já ji chci vidět dřív, než se nová verze pustí ven.
Seznam starých adres neskládám z jednoho zdroje, protože každý něco vynechá. Kombinuju mapu webu, crawl staré verze, stránky s návštěvností z Google Search Console a Analytics a stránky se zpětnými odkazy z Ahrefsu. Teprve průnik ukáže, které URL opravdu existovaly a na které někdo odkazuje.
- Sesbírej všechny staré adresy ze sitemapy, crawlu, Search Console, Analytics a Ahrefsu.
- Ke každé přiřaď nejbližší novou stránku se stejným obsahem nebo záměrem, ne homepage.
- Pravidla nasaď na server jako 301 a otestuj je na celém seznamu ještě na testovací verzi.
- Po spuštění oprav interní odkazy, canonicaly, hreflang a sitemapu, aby vedly na nové adresy.
- Hlídej týdny po spuštění chyby 404 a přehled Indexování v Google Search Console.
Přesměrování podle Googlu nech co nejdéle, obecně aspoň rok. Já je neruším nikdy, dokud na staré adresy vedou odkazy. U středně velkého webu trvá několik týdnů, než Google ve výsledcích vymění staré adresy za nové, u velkého déle. Při přechodu na jinou doménu navíc použij v Search Console nástroj Změna adresy. Pro přechod na https nebo změnu www není potřeba.
Proč na přesměrování 301 záleží
Migrace webu bez správně nastavených 301 je nejrychlejší cesta, jak přijít o návštěvnost. Každá zrušená URL, na kterou vedou odkazy zvenčí i zevnitř, musí mít svůj cíl, jinak návštěvník i robot narazí na chybu 404 a síla se ztratí v prázdnu. Zapomenuté přesměrování se pozná až podle propadu v datech, často se zpožděním několika týdnů.
Přesměrování navíc drží pohromadě strukturu webu, když se mění. Kategorie se slučují, produkty mizí, značky se přejmenovávají a články se přepisují. Kontrola přesměrování proto patří ke stěžejním bodům každého SEO auditu, i když se zrovna žádná migrace nechystá.
Jak redirecty kontroluju
Nejrychlejší kontrola jedné adresy je hlavička odpovědi serveru. Prohlížeč přesměrování schová, protože tě rovnou pošle na cíl, takže stavový kód vidíš až v nástrojích vývojáře nebo v rozšíření prohlížeče. Kontroluju vždy bez následování přesměrování, jinak se ukáže jen kód 200 z cílové stránky a problém zmizí.
Na celý web používám dva nástroje a doplňuju je Search Console. Každý vidí něco jiného, proto je kombinuju.
- Screaming Frog. V režimu List nahraju seznam starých adres, zapnu volbu Always Follow Redirects a v reportu Redirect Chains vidím u každé URL stavový kód, počet kroků, cíl a případnou smyčku.
- Ahrefs Site Audit. Při pravidelném crawlu hlásí řetězce a smyčky přesměrování. K tomu ukáže interní odkazy, které na přesměrované stránky zbytečně vedou.
- Ahrefs Site Explorer. Ukáže stránky se zpětnými odkazy, které dnes vracejí 404, tedy přesně ty, které přesměrování potřebují nejvíc.
- Google Search Console. V Kontrole URL ověřím, kterou adresu Google zvolil jako kanonickou, a v Indexování sleduju chyby přesměrování.
Časté chyby na WordPressu a Shoptetu
Na WordPressu se 301 nejčastěji řeší přes plugin nebo přímo v konfiguraci serveru, u Apache v souboru .htaccess. Když změníš slug už publikovaného příspěvku, WordPress si starý slug zapamatuje a starou adresu sám přesměruje kódem 301. Problém vzniká, když se k tomu přidá ještě pravidlo z pluginu a vznikne řetězec, nebo když se při migraci mezi doménami ztratí tabulka s přesměrováními z pluginu.
Shoptet má vlastní nástrahu, na kterou narážím u klientských e-shopů opakovaně. Když skryješ nebo smažeš produkt, Shoptet sám založí 301 na jeho kategorii, aby adresa nevracela 404. Jenže když se produkt později vrátí do prodeje, přesměrování zůstane a dál ho přebíjí. Produkt existuje a je skladem, ale nikdo se na něj nedostane.
Taková přesměrování se ruší v administraci v sekci Marketing, Základní SEO, Přesměrování adres (URL). Přejmenování produktů zase vytvoří 301 jen tehdy, když je v doplňku Pokročilé SEO zapnuté automatické přesměrování při změně produktu. Bez něj vzniknou 404. Na Shopify jsem zase narazil na jiné pravidlo, přesměrování z administrace se uplatní jen na adresu, která vrací 404, takže existující stránku nejdřív musíš zrušit.
Kam to sahá dál
Přesměrování je vlastně digitální obdoba pošty, která za tebou posílá dopisy na novou adresu, když se přestěhuješ. A stejně jako v běžném životě platí, že když adresu měníš potichu a nikomu ji nenahlásíš, část pošty se ztratí. Web není nikdy hotový, obsah se stěhuje, spojuje, přepisuje a maže.
Přesměrování 301 je nástroj, který drží pohromadě to, co jsi vybudoval, i když se pod tím mění základy. Je to tichý strážce hodnoty, na který se zapomíná, dokud jednoho dne návštěvnost bez varování nespadne.
Nejčastější chyby
Tyhle chyby nacházím v auditech pořád dokola, na malých webech i u e-shopů s tisíci produkty. Žádná z nich není složitá na opravu, jen o ní nikdo neví.
- Zrušení staré stránky bez přesměrování, takže návštěvník i odkazová síla končí na chybě 404 místo na relevantním obsahu.
- Použití dočasné 302 tam, kde jde o trvalou změnu, takže Google může dál ukazovat starou adresu místo nové.
- Řetězení přesměrování za sebou, kdy jedna adresa vede na druhou a ta na třetí, což zdržuje robota i uživatele.
- Hromadné svedení všech starých URL na úvodní stránku místo na odpovídající novou stránku. Google to může vzít jako soft 404.
- Interní odkazy a sitemapa, které po migraci dál vedou na staré přesměrované adresy.
Když si nejsi jistý, jestli se tě některá z nich týká, stačí jeden crawl Screaming Frogem a export stránek s kódem 404 a 3xx. Rychle uvidíš, kolik přesměrování chybí a kolik jich vede oklikou, a pak je opravíš podle mapy z kapitoly o migraci.
Otázky kolem přesměrování 301
Krátké odpovědi na dotazy, se kterými se na přesměrování lidé ptají nejčastěji, ať už jako 301 přesměrování, redirect, nebo kód 301.
Co je přesměrování 301?
Trvalé přesměrování z jedné URL na druhou pomocí stavového kódu HTTP 301. Vyhledávači říká, že se stránka natrvalo přestěhovala, a předává nové adrese signály staré, hlavně odkazy.
Jaký je rozdíl mezi 301 a 302?
301 je trvalé a Google v indexu nahradí starou adresu novou. 302 je dočasné, používá se, když se stránka za čas vrátí zpět na původní URL, a Google si ve výsledcích obvykle nechá starou adresu. Špatná volba mezi nimi patří k typickým nálezům v auditu.
Přenáší přesměrování 301 SEO sílu?
Ano. Podle Googlu dnes přesměrování při stěhování obsahu o PageRank nepřipraví, proto je 301 bezpečná volba pro migraci webu. Počítej ale s tím, že Google potřebuje několik týdnů, než ve výsledcích ukazuje nové adresy místo starých.
Jak dlouho nechat přesměrování 301 aktivní?
Google doporučuje co nejdéle, obecně aspoň rok. Dokud na starou adresu vedou zpětné odkazy, přesměrování nerušíš vůbec.
Je lepší 301, nebo 308?
Pro SEO je to jedno, Google bere oba kódy stejně jako trvalé přesměrování. Rozdíl je jen v tom, že 308 zachová metodu požadavku, což ocení formuláře a API.

