Implementace hreflang bez chyb: Kontrolní seznam deseti klíčových bodů

Proč je hreflang kritický a kde nejčastěji selhává

Hreflang je signál pro vyhledávače, který páruje jazyk a často i regionální variantu jednotlivých verzí stránek. Správná implementace snižuje riziko nesprávného zobrazení (např. en-US v Británii) a eliminuje interní konkurenci verzí v SERPu. Chyby se však objevují již u základních principů: chybí self-referenční odkaz, neexistuje return tag, mísí se kanonizace napříč jazyky nebo se používají neplatné kódy. Následujících 10 bodů je praktický kontrolní seznam, který můžete projít při migracích, nasazení nového trhu, ale i při pravidelné technické údržbě.

1) Vždy používejte platné jazykové a regionální kódy (BCP-47)

Hreflang používá jazyk (povinný) a volitelně regionální kód. Příklady: en, en-GB, en-US, sk, cs-CZ, de-AT. Vyhněte se neexistujícím či „obchodním“ kódům (např. en-EU). Kódy musí být case-insensitive, ale běžně se píší jazyk malými písmeny a region velkými: en-GB.

2) Každá alternativa musí odkazovat sama na sebe (self-referencing)

Každá jazyková/regionální verze stránky musí v hreflangu odkazovat také na sebe. Tím se zabrání tomu, aby vyhledávač vnímal stránku pouze jako alternativu jiné verze. Příklad HTML implementace v <head>:

<link rel="alternate" hreflang="sk" href="https://www.example.com/sk/produkt-x/" />
<link rel="alternate" hreflang="cs-CZ" href="https://www.example.com/cz/produkt-x/" />
<link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/product-x/" />
<link rel="alternate" hreflang="x-default" href="https://www.example.com/" />

3) Zajistěte obousměrnost (return tags) mezi všemi alternativami

Pokud stránka A uvádí alternativu na stránku B, musí i stránka B odkazovat zpět na stránku A. Obousměrnost je nutná mezi všemi páry alternativ, jinak bude hreflang považován za neúplný či nespolehlivý.

4) Nepřekračujte hranice kanonizace (hreflang ≠ jazykový kanál)

Kanonická adresa rel="canonical" musí vždy směřovat na tu samou jazykově-regionální verzi (buď sama na sebe, nebo na svou kanonickou variantu v rámci stejného jazyka). Nikdy nekanonizujte sk na cz či en s úmyslem „přenést signál“ – zrušíte tím význam hreflangu.

5) Implementujte jen jednu primární metodu na stránce (HTML, HTTP hlavička nebo XML sitemap)

Hreflang lze implementovat třemi způsoby: v HTML, v HTTP hlavičkách (např. pro PDF) a přes XML sitemapu. Doporučení v praxi: vyberte si jednu hlavní metodu a jej dodržujte konzistentně. Při paralelním použití více metod se snadno objeví rozdíly (různý počet alternativ, rozdílné URL, jiné kódy), což snižuje důvěryhodnost signálu.

Příklad v XML sitemapě:

<url>
  <loc>https://www.example.com/sk/produkt-x/</loc>
  <xhtml:link rel="alternate" hreflang="sk" href="https://www.example.com/sk/produkt-x/"/>
  <xhtml:link rel="alternate" hreflang="cs-CZ" href="https://www.example.com/cz/produkt-x/"/>
  <xhtml:link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/product-x/"/>
  <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/"/>
</url>

6) Použijte x-default pro výběrový uzel (jazykový rozcestník)

Pokud máte stránku, která má návštěvníka přesměrovat nebo navést k výběru lokalizace, použijte hreflang="x-default". Tím jasně dáváte najevo, že nejde o preferenci pro konkrétní zemi/jazyk, ale o „neutrální“ cílovou stránku.

7) Hreflang uvádějte pouze na indexovatelných, konzistentních URL

Alternativy musí být indexovatelné (bez noindex, bez blokace v robots.txt) a konzistentní: stejný protokol (https), správný host (bez mixu www / bez www), správný trailing slash a bez neúmyslných parametrů, které mění obsah. Vyhněte se hreflangu na URL s 3xx/4xx/5xx stavy.

8) Nesprávně nesegmentujte signál pomocí filtrů a parametrů

V e-commerce je lákavé lokalizovat i množství filtrovaných URL. Definujte si „indexovatelný korpus“ (kategorie, produkt, klíčová landing page) a používejte hreflang pouze tam. Filtry/parametry (řazení, barva, velikost) ponechte jako noindex, follow s kanonizací na hlavní verzi, jinak vzniká „šum“ a chyby v párování alternativ.

9) Ošetřete speciální případy: PDF, AMP, mobilní verze, stránkování

Hreflang lze poslat přes HTTP hlavičky u souborů typu PDF. U AMP a mobilních verzí zajistěte, aby byl hreflang uveden na každé alternativě, konzistentně s rel="amphtml"/alternate pro mobil. Při stránkování mějte hreflang na každé stránce série s párováním na odpovídající stránky jiné jazykové verze (1↔1, 2↔2 …).

10) Ověřování a monitoring: automatizujte kontrolu v CI/CD

Po nasazení ověřujte:

  • Syntax (platné kódy, správné páry, self-ref, return-tags).
  • Dostupnost (200 OK, HTTPS, bez blokací a duplicit).
  • Konzistenci s kanonickými tagy (žádné cross-language canonical).
  • Mapování URL mezi jazyky (1:1, nebo jasná pravidla 1:n při konsolidaci obsahu).

V rámci CI/CD pipeline přidejte kroky: crawl lokalizací, validaci hreflangu, porovnání počtu alternativ mezi HTML a sitemapou, kontrolu duplicitních/nesrovnalostních párů a report rozdílů při každém deployi.

Rozhodovací diagram při chybách (krátký přehled)

Symptóm Pravděpodobná příčina Řešení
Střídání jazyků v SERPu Chybí self-ref nebo return-tags; neplatné kódy Doplnit obousměrnost, opravit kódy dle BCP-47
Indexuje se „nevhodný“ jazyk Kanonická ukazuje na jinou jazykovou verzi Upravit canonical, sladit s hreflang
Hreflang ignorován URL jsou 3xx/4xx/5xx nebo noindex Zajistit 200 OK, odstranit blokace
Rozdíl mezi HTML a sitemapou Nezhodný počet alternativ / odlišné URL Ujednotit primární metodu, synchronizovat zdroje
Nekonzistentní varianty trhů Míchají se subdomény, protokoly, trailing slash Normalizovat URL strukturu a interní odkazy

Implementační vzory podle typu projektu

  • Vícedoménový model (example.sk, example.cz): udržujte identické struktury cest; mapování je pak stabilní a automatizovatelné.
  • Subdirectory model (/sk/, /cz/): ideální na jednotném hostu a CDNe; důležité je striktně izolovat jazykové zdroje (menu, meta, datumy, měny).
  • Subdoménový model (sk.example.com): pozor na shodu www a certifikátů; hreflang musí používat absolutní URL.

Příklady správných a chybných implementací

Správně (HTML, absolutní URL, self-ref, x-default):

<link rel="alternate" hreflang="sk" href="https://www.example.com/sk/sluzba/" />
<link rel="alternate" hreflang="cs-CZ" href="https://www.example.com/cz/sluzba/" />
<link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/service/" />
<link rel="alternate" hreflang="x-default" href="https://www.example.com/" />

Chybně (cross-language canonical):

<link rel="canonical" href="https://www.example.com/en/service/" /> <!-- na SK verzi -->

Hreflang přes HTTP hlavičku pro ne-HTML zdroje (např. PDF)

U PDF nebo jiných typů odpovědí můžete použít hlavičku Link:

Link: <https://www.example.com/sk/brochura.pdf>; rel="alternate"; hreflang="sk",
      <https://www.example.com/cz/brozura.pdf>; rel="alternate"; hreflang="cs-CZ",
      <https://www.example.com/>; rel="alternate"; hreflang="x-default"

Proces zavedení a kontroly v 5 krocích

  1. Inventarizace URL: seznam všech jazykových verzí, párování 1:1 (mapa).
  2. Výběr metody: HTML vs. XML sitemap (u velkých webů preferujte sitemapu pro škálování).
  3. Generování tagů: šablony pro každý typ stránky (domov, kategorie, produkt, článek).
  4. Validace: testovací crawl (výstup: počet alt verzí, výskyt kódů, stavové kódy, sladění canonical).
  5. Monitoring: CI kontrola při každém deployi + pravidelný crawl (měsíčně) s regresním porovnáním.

Nejčastější „skryté“ pasti v reálných projektech

  • Dynamický jazykový přepínač, který mění pouze UI, ne URL – hreflang postrádá smysl bez unikátních URL.
  • Geo-redirect před doručením HTML – vyhledávač uvidí jinou verzi, než deklaruje hreflang. Používejte jemná doporučení (banner) místo tvrdých přesměrování.
  • Přerušené mapování (některý trh chybí v části šablon) – ruší obousměrnost v sérii stránkování či u variant produktů.
  • Mix absolutních a relativních URL v tagách – vždy používejte absolutní URL s protokolem a hostem.

Checklist: „Hreflang bez chyb“ na první pohled

  • Platné BCP-47 kódy (jazyk povinný, region volitelný).
  • Self-referenční tag přítomný na každé verzi.
  • Return-tags mezi všemi alternativami.
  • Canonical směřuje na stejný jazyk (žádný cross-language).
  • Jedna primární implementační metoda (HTML/HTTP/Sitemap) a konzistentní použití.
  • x-default pro rozcestník.
  • Pouze indexovatelné URL s 200 OK; žádné blokace či redirecty.
  • Minimalizovaná indexace filtrů/parametrů; jasný korpus stránek.
  • Ošetřené speciální případy (PDF, AMP, mobil, stránkování).
  • Automatizované testy a pravidelný monitoring v CI/CD.

Hreflang jako stabilní signál, ne jednorázový úkol

Hreflang je dlouhodobý technický závazek. Nejlepší výsledky přináší tam, kde se kombinuje jednoznačná URL strategie, disciplinovaná kanonizace a automatizované validace. Pokud se budete držet výše uvedených 10 bodů, minimalizujete šumy, zlepšíte relevanci v SERPu a zajistíte, že uživatelé vždy obdrží správnou jazykovou/regionální verzi vašeho obsahu.