Také301 redirect, HTTP 301, trvalé přesměrování, Moved PermanentlyZákladní
Definice
Přesměrování 301 je odpověď HTTP serveru se stavovým kódem 301 Moved Permanently, která prohlašuje původní adresu za trvale nahrazenou novou adresou v hlavičce Location. Prohlížeč návštěvníka přesměruje, vyhledávače postupně nahradí starou URL v indexu novou a přenesou na ni hodnocení odkazů.
Než se na to spolehnete: Tvrzení o počtu skoků, které Googlebot v jednom průchodu následuje (zhruba pět), vychází z veřejných vyjádření Googlu, není to však formálně dokumentovaný limit. Rovněž trvanlivost cache 301 v jednotlivých prohlížečích se liší podle implementace.
Příklady z praxe
Sjednocení domény a vynucení HTTPS v Nginx
E-shop byl dostupný na čtyřech variantách adresy (http i https, s www i bez), takže vyhledávač viděl čtyři kopie téhož obsahu. Jedno pravidlo v Nginx svede všechny varianty jedním skokem na kanonickou podobu. Klíčové je nepřesměrovávat nejdřív na https a teprve pak na bez-www, protože by vznikl zbytečný řetězec.
server { listen 80; listen 443 ssl; server_name www.eshop.cz eshop.cz; if ($host = www.eshop.cz) { return 301 https://eshop.cz$request_uri; } if ($scheme = http) { return 301 https://eshop.cz$request_uri; } }Změna struktury URL po migraci katalogu
Nový systém začal generovat adresy /produkt/123-nazev místo starých /detail.php?id=123. Místo obecného pravidla se vyexportuje mapa starých a nových adres z databáze a přesměrování se vygeneruje na základě ID, aby každý produkt mířil na svůj konkrétní protějšek. Zrušené produkty se svedou na nadřazenou kategorii, ne na homepage.
// Express.js app.get('/detail.php', async (req, res, next) => { const target = await mapaUrl(req.query.id); if (!target) return next(); // pošle 404, ne homepage res.redirect(301, target); });
Časté omyly
- MýtusPřesměrování 301 spolkne část hodnoty odkazů, takže se má používat co nejméně.
- Ve skutečnostiPředstava o pevném procentu ztraceného „link juice“ pochází ze starších verzí algoritmu. Google opakovaně uvedl, že u přesměrování na relevantní obsah se hodnocení nekrátí. Reálnou ztrátu způsobuje spíš nesouvisející cíl nebo dlouhý řetězec skoků.
- MýtusPřesměrování 301 se dá kdykoli snadno zrušit nebo přepsat.
- Ve skutečnostiOdpověď 301 si prohlížeče ukládají do cache jako trvalou, takže návštěvník může na staré adrese skákat na starý cíl ještě dlouho po změně serverové konfigurace. Při nejistotě je bezpečnější nasadit dočasné přesměrování 302 nebo 307.
- MýtusMeta refresh nebo JavaScriptové přesměrování funguje pro SEO stejně jako 301.
- Ve skutečnostiPřesměrování na úrovni HTTP hlavičky vyhledávač zpracuje ihned při procházení. Meta refresh i JavaScript vyžadují stažení a vyhodnocení stránky, jsou pomalejší, méně spolehlivé a Google je považuje za slabší signál.
Časté dotazy
- Jak dlouho trvá, než Google přesměrování 301 zpracuje?
- Přenos signálů po přesměrování 301 není okamžitý. Vyhledávač musí starou adresu znovu projít, zaznamenat kód 301 a poté opakovaně ověřit, že přesměrování trvá. U často procházených stránek jde o dny, u okrajových URL i o týdny a měsíce. Proces urychlí aktualizovaná sitemapa, opravené interní odkazy a u změny domény nástroj pro ohlášení stěhování v Search Console. Během přechodného období je normální, že se ve výsledcích vyhledávání střídají obě adresy a návštěvnost mírně kolísá.
- Jak dlouho mají přesměrování 301 zůstat v provozu?
- Přesměrování 301 se doporučuje udržovat minimálně rok od migrace, protože tak dlouho na staré adresy míří externí odkazy, záložky a starší e-maily. Pokud provoz pravidel nic nestojí, je nejlepší nechat je běžet trvale. Před případným vypnutím stojí za to zkontrolovat v logu serveru, zda na staré adresy ještě chodí požadavky, a v analytice, kolik návštěv přes ně přichází. Odstranění pravidel bez kontroly znamená okamžitou ztrátu hodnoty zpětných odkazů a chybové stránky pro reálné návštěvníky.
- Kolik přesměrování 301 za sebou je ještě únosné?
- Řetězec přesměrování 301 by měl být ideálně nulový, tedy stará adresa míří přímo na finální cíl. Googlebot v rámci jednoho procházení následuje omezený počet skoků, obvykle se uvádí zhruba pět, a delší řetěz může znamenat, že cílovou stránku napoprvé vůbec neuvidí. Pro uživatele každý skok přidává další kolo síťové latence, což je citelné hlavně na mobilních sítích. Po každé další migraci proto stará pravidla přepište tak, aby ukazovala na aktuální adresu, místo aby se na sebe vrstvila.
- Kdy použít 301 místo kanonické URL?
- Přesměrování 301 se hodí, když stará adresa nemá existovat: obsah se přestěhoval, dvě stránky se sloučily nebo se sjednocuje doména. Kanonický odkaz naopak řeší situaci, kdy obě adresy musí zůstat funkční, například filtrované výpisy, varianty s parametry řazení nebo produkt dostupný ve více kategoriích. Rozdíl je v závaznosti: 301 je pro vyhledávač direktiva na úrovni protokolu, kanonický odkaz je pouze doporučení, které může vyhodnotit jinak. Když je volba možná, 301 je silnější a spolehlivější řešení.
- Funguje přesměrování 301 i pro formuláře odeslané metodou POST?
- Přesměrování 301 není pro POST požadavky bezpečné. Specifikace HTTP sice zachování metody nezakazuje, ale historická praxe prohlížečů je taková, že po 301 změní POST na GET a zahodí tělo požadavku, takže odeslaná data zmizí. Pro API endpointy, formuláře a webhooky se proto používá kód 308 Permanent Redirect, který zachování metody i těla výslovně garantuje, případně dočasný 307. Pro běžné veřejné stránky, kam se chodí metodou GET, zůstává 301 správnou volbou.
Zdroje
- RFC 9110: HTTP Semantics(otevře se v novém okně)
- 301 Moved Permanently - HTTP(otevře se v novém okně)
- Redirects and Google Search(otevře se v novém okně)
- Location header - HTTP(otevře se v novém okně)