SEO-05

Hreflang nekonzistentní nebo bez x-default

VarováníStruktura

Co kontrola měří

Na stránkách, které vůbec nějaký hreflang deklarují, se kontrolují tři věci. Nález vznikne, když platí aspoň jedna:

  1. Chybí x-default: záznam, který říká, kam poslat návštěvníka, jehož jazyk neodpovídá žádné vaší verzi.
  2. Chybí zpětný odkaz. Stránka A odkazuje na B jako svou jazykovou verzi, ale B na A neodkazuje. Vzájemnost je u hreflangu podmínka, ne zdvořilost.
  3. Neplatný tvar jazykového kódu: něco, co nevypadá jako BCP 47. cz místo cs nebo en_US s podtržítkem místo pomlčky.

Vzájemnost se ověřuje jen mezi stránkami, které jsme skutečně stáhli. Cíl mimo náš vzorek se tiše přeskočí; nejde ověřit, ne že by byl špatně. Tvar kódu se naopak ověřit dá vždycky: je to vlastnost samotné deklarace, ne stavu webu.

Co kontrola nedělá: nekontroluje hreflang v HTTP hlavičce ani v sitemapě (jen v HTML), neověřuje, že cílová stránka je opravdu v deklarovaném jazyce, a nehlásí chybějící hreflang na vícejazyčném webu, který ho nemá vůbec. Nález je na úrovni stránky, závažnost varování.

Jak silný důkaz za tím stojí

Efekt nedoložený

Doporučujeme to, protože to neuškodí nebo to má jiný užitek, ale vliv na to, jestli vás jazykové modely budou citovat, neslibujeme. Nikdo ho zatím nedoložil.

Na viditelnost v odpovědích AI doložený vliv nemáme, proto „efekt nedoložený“. Pro klasické vyhledávání ale Google hreflang dokumentuje a požadavek na vzájemnost tam stojí doslova: pokud dvě stránky neodkazují jedna na druhou, značky se ignorují. Není to tedy zdvořilost, je to podmínka funkčnosti.

Co hreflang dělá: pomáhá vyhledávači vybrat správnou jazykovou verzi pro konkrétního uživatele. Co nedělá: nezlepší pořadí a nenahradí překlad. Devět verzí téže stránky se strojovým překladem není devět stránek, je to jedna stránka devětkrát.

Kde jsme přísnější než Google: chybějící x-default hlásíme jako vadu, ale Google ho jen doporučuje zvážit: je volitelný a podle jeho dokumentace se nejlíp hodí na rozcestníkové stránky. Doporučujeme ho proto, že bez něj nemáte řečeno, co se má stát s návštěvníkem mimo vaše jazyky, ne proto, že by jeho absence něco rozbíjela.

Praktický závěr: neplatný kód a chybějící vzájemnost opravte, obojí znamená, že vaše deklarace nefunguje. x-default doplňte, když máte návštěvníky mimo deklarované jazyky.

Jak to opravit

Úplná sada pro stránku, která existuje ve třech jazycích, vypadá takhle, a stejná sada musí být na všech třech stránkách, včetně odkazu na sebe sama:

<link rel="alternate" hreflang="cs" href="https://priklad.cz/cenik" />
<link rel="alternate" hreflang="en" href="https://priklad.cz/en/pricing" />
<link rel="alternate" hreflang="de" href="https://priklad.cz/de/preise" />
<link rel="alternate" hreflang="x-default" href="https://priklad.cz/en/pricing" />
  • Kód jazyka podle BCP 47: cs, en, en-GB. Pomlčka, ne podtržítko. Čeština je cs, ne cz; cz je kód země, ne jazyka, a je to nejčastější chyba vůbec.
  • Odkaz na sebe sama v sadě být musí. Bez něj je sada neúplná.
  • Absolutní adresy včetně schématu.
  • Sada musí být na každé stránce stejná: generujte ji ze šablony, ručně se to na desítkách stránek neudrží.
  • x-default míří tam, kam pošlete neznámý jazyk: typicky angličtina nebo rozcestník.

A věc, která se plete nejčastěji: hreflang není přesměrování. Neposílá návštěvníka nikam a nenahrazuje přepínač jazyků. Jen vyhledávači říká, které adresy jsou verze téhož obsahu.

Co o tom říká report

Popis nálezu

Stránka [url] deklaruje jazykové varianty (`hreflang`), ale buď chybí `x-default`, nebo cílová stránka jazykové varianty neodkazuje zpět. Vyhledávače pak nemusí páry variant správně rozpoznat. Jde o standardní doporučení pro klasické vyhledávání (Google/Bing); nemáme doklad, že by to ovlivňovalo viditelnost v odpovědích AI asistentů.

Doporučení

Doplňte `hreflang="x-default"` a ověřte, že KAŽDÁ jazyková varianta odkazuje na všechny ostatní (včetně sebe sama): vzájemně, ne jednosměrně.

Zdroje

Text ověřen 2026-09-12