FunkcePluginCeníkZdroje
Změnit jazyk
ZdrojeJak implementovat značky hreflang pro vícejazyčný WordPress

Jak implementovat značky hreflang pro vícejazyčný WordPress

SimplePoTranslate Team31. května 2026
Jak implementovat značky hreflang pro vícejazyčný WordPress

Přeložili jste celý svůj web na WordPressu do šesti jazyků. Soubory .po jsou čisté, soubory .mo zkompilované, každý řetězec se perfektně zobrazuje ve francouzštině, němčině a japonštině. Přesto týdny po spuštění zkontrolujete Google Search Console a zjistíte něco záhadného: vaše francouzská stránka se řadí pro německé dotazy, vaše španělsko-mexická stránka je zobrazována uživatelům ve Španělsku a dvě z vašich jazykových verzí se tiše vzájemně kanibalizují v žebříčku. Obsah je v pořádku. Problém je v tom, že Google nemá tušení, která verze patří kterému publiku.

Přesně to mají napravit značky hreflang WordPress. Hreflang je signál, který vyhledávačům říká, kterou jazykovou a regionální verzi stránky mají uživateli zobrazit. Pokud to uděláte špatně, trpíte zředěním kvůli duplicitnímu obsahu, výsledky v nesprávném jazyce a plýtváním rozpočtem na procházení. Pokud to uděláte správně, každá přeložená stránka se dostane k publiku, pro které byla napsána. Tento průvodce se zabývá syntaxí, rozdílem mezi kódy jazyka a jazyka-regionu, povinným x-default, reciprocitou zpětných značek a třemi praktickými způsoby implementace ve WordPressu.

Co hreflang skutečně dělá

Hreflang nic nepřekládá. Je to mapa vztahů. Když máte stejnou stránku v několika jazycích, anotace hreflang říkají Googlu "tato URL je anglická verze, tato je německá verze, tato je pro španělsky mluvící v Mexiku." Google tuto mapu používá k zobrazení správné verze ve výsledcích vyhledávání na základě jazykového nastavení a polohy uživatele.

Anotace se nachází v <head> vašeho HTML jako sada prvků <link>. Každý prvek pojmenuje cílovou stránku a jazyk (a volitelně region), kterému slouží. Zde je správná sada značek hreflang pro stránku dostupnou v americké angličtině, britské angličtině a mexické španělštině, s výchozím záložním řešením:

<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/pricing/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/pricing/" />
<link rel="alternate" hreflang="es-MX" href="https://example.com/es-mx/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing/" />

Každá stránka v sadě by měla vypisovat tento stejný blok, seznamující všechny alternativní verze včetně sebe. Tento poslední bod mate většinu lidí a my se k němu vrátíme.

Proč je to důležité pro SEO

Bez hreflang Google považuje vaše přeložené stránky za téměř duplicitní, které si konkurují o stejná klíčová slova. Výsledkem je ředění: signály pro hodnocení se rozdělí mezi verze namísto jejich konsolidace. Se správným hreflangem každá verze zdědí autoritu celé sady a zobrazí se správným vyhledávačům. Toto je jeden z nejvýznamnějších SEO kroků, které může vícejazyčný web udělat, a doplňuje, nikoli nahrazuje skutečný překlad obsahu ve vašich souborech .po. Obsahovou stránku podrobně rozebíráme v našem průvodci jak překlad PO souborů ovlivňuje hodnocení Google.

Kódy jazyka vs. kódy jazyka-regionu

Co byste měli použít, en nebo en-GB? Použijte nejjednodušší kód, který je pravdivý. Pokud je váš anglický obsah obecný a neudržujete samostatné britské a americké verze, použijte pouze en. Regionální podznačku přidejte pouze tehdy, když skutečně poskytujete odlišný obsah pro různé země.

Hreflang hodnoty následují formát language nebo language-region. Část jazyka je kód ISO 639-1 (en, es, de, pt). Volitelný region je kód země ISO 3166-1 Alpha 2 (US, GB, MX, BR). Takže:

  • en cílí na všechny anglicky mluvící bez ohledu na zemi.
  • en-GB cílí na anglicky mluvící ve Spojeném království.
  • es cílí na všechny španělsky mluvící.
  • es-MX cílí konkrétně na španělsky mluvící v Mexiku.

Kritický detail: regionální podznačka je země, nikoli jazyková varianta. es-MX neznamená "mexický španělský dialekt," znamená to "španělština, zobrazovaná uživatelům v Mexiku." Google ji stále zobrazuje na základě polohy uživatele. Pokud udržujete regionální dialekty ve svých překladech, regionální kód je způsob, jak je směrovat. Lingvistické stránce tohoto tématu se podrobně věnujeme v našem průvodci regionálními španělskými a portugalskými variantami.

Běžný chybný příklad

Zde je chybný hreflang blok, který neustále vidíme:

<link rel="alternate" hreflang="en-uk" href="https://example.com/uk/" />
<link rel="alternate" hreflang="sp" href="https://example.com/es/" />
<link rel="alternate" hreflang="pt-PT_BR" href="https://example.com/pt/" />

Tři chyby. en-uk je neplatný, protože kód země pro Spojené království je GB, nikoli UK. sp vůbec není jazykový kód; španělština je es. A pt-PT_BR míchá dva regiony s podtržítkem, které nemá v hreflang žádný význam. Vyhledávače tiše ignorují špatně formátované hodnoty, takže nedostanete žádnou chybu ani výhodu, jen hodiny ladění, kdy se divíte, proč se nic nezměnilo.

Všimněte si, že hreflang používá pomlčku (en-GB), zatímco soubory WordPress locale používají podtržítko (en_GB). Nekopírujte kódy názvů souborů .po přímo do značek hreflang.

x-default a reciprocita zpětných značek

Dvě pravidla způsobují více tichých selhání hreflang než cokoliv jiného: chybějící x-default a narušená reciprocita.

Hodnota x-default říká Googlu, kterou stránku má zobrazit, když žádný jiný jazyk neodpovídá uživateli. Je to váš záložní plán, typicky váš výběr jazyka nebo vaše domovská stránka pro primární trh. Není striktně povinná podle specifikace, ale v praxi byste ji měli vždy zahrnout. Bez ní se návštěvník mluvící portugalsky, pro kterého nemáte portugalskou verzi, dočká náhodné stránky namísto záměrného výchozího nastavení.

Reciprocita zpětných značek je neoddiskutovatelná. Každá stránka v sadě hreflang musí odkazovat zpět na každou jinou stránku, včetně sebe samé. Pokud vaše anglická stránka uvádí němčinu jako alternativu, vaše německá stránka musí uvádět angličtinu jako alternativu. Pokud německá stránka vynechá zpětnou referenci, Google nedůvěřuje celému vztahu a ignoruje anotace.

<!-- On the German page, the set must still list ALL versions -->
<link rel="alternate" hreflang="de" href="https://example.com/de/about/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/about/" />

Samoreference (de odkazující na německou stránku při prohlížení německé stránky) je povinná, nikoli volitelná. Sada pěti jazykových verzí znamená, že každá z pěti stránek vypíše všech pět značek <link> plus x-default.

Tři způsoby implementace hreflang ve WordPressu

Máte tři praktické možnosti, od plné manuální kontroly po plně automatizovanou.

Metoda 1: Ruční přes wp_head

Pro malou statickou sadu stránek můžete značky hreflang vložit přímo pomocí akce wp_head do souboru functions.php vašeho tématu:

add_action( 'wp_head', function () {
    if ( ! is_page( 'pricing' ) ) {
        return;
    }
    $alternates = array(
        'en-US' => 'https://example.com/en-us/pricing/',
        'es-MX' => 'https://example.com/es-mx/pricing/',
        'x-default' => 'https://example.com/pricing/',
    );
    foreach ( $alternates as $lang => $url ) {
        printf(
            '<link rel="alternate" hreflang="%s" href="%s" />' . "\n",
            esc_attr( $lang ),
            esc_url( $url )
        );
    }
} );

To vám dává přesnou kontrolu, ale neškáluje. Ruční udržování reciprocity napříč stovkami příspěvků je pastí údržby.

Metoda 2: Vícejazyčný plugin

Pokud používáte Polylang, WPML nebo TranslatePress, hreflang se generuje automaticky na základě vašich překladových vztahů. Toto je správná odpověď pro většinu webů, protože plugin již ví, který příspěvek je překladem čeho, takže reciprocita a x-default jsou vyřešeny za vás. Cena je režie běhového prostředí, kterou tyto pluginy přidávají, což je kompromis, který zkoumáme v našem srovnání manuálních versus AI překladových přístupů.

Namísto vkládání hreflang do <head> každé stránky můžete vztahy deklarovat ve vaší XML sitemap pomocí jmenného prostoru xhtml:link. Každá položka <url> uvádí všechny své jazykové alternativy:

<url>
  <loc>https://example.com/en/about/</loc>
  <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
  <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/about/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/about/" />
</url>

Tímto způsobem je HTML vaší stránky štíhlé a jazyková mapa je centralizovaná v jednom souboru, který lze procházet a který Google s radostí čte. Většina SEO pluginů to dokáže vygenerovat automaticky.

hreflang doplňuje překlad, nenahrazuje ho

Zde je bod, který všichni přehlížejí: hreflang je bezcenný, pokud podkladové stránky nejsou skutečně přeloženy. Značka říká Googlu "toto je německá verze", ale pokud německá URL stále zobrazuje anglické řetězce pluginů, nepřeložené štítky v pokladně nebo napůl dokončené soubory .po, jednoduše jste Googlu s plnou důvěrou řekli, aby německým uživatelům zobrazil poškozený obsah.

Skutečné vícejazyčné SEO má dvě vrstvy. Vrstva obsahu jsou vaše přeložené soubory .po, .pot, .json a .xliff, které převádějí každý řetězec tématu a pluginu do cílového jazyka. Vrstva signálu je hreflang směrující každou dokončenou verzi k jejímu publiku. Obě musí být pevné. Bezvadná sada hreflang na 40procentně přeloženém webu jen zaručuje horší zkušenost rychleji.

Zde je nejdůležitější udržovat čistou překladovou vrstvu. Když překládáte své soubory rozhraní, zástupné symboly jako %s, %1$s a {name} musí zůstat neporušené, jinak se vaše "přeložená" německá stránka vykreslí s doslovnými tokeny %s, které budou vypadat poškozeně jak pro uživatele, tak pro vyhledávače. Překladová pipeline s podporou gettext a Syntax Locking chrání tyto tokeny automaticky, takže každá alternativní stránka, na kterou směřujete hreflang, je skutečně připravena k produkci. Protože běží v cloudu se Smart Batching, můžete přes ni prohnat celý vícelokální web, aniž byste instalovali překladové pluginy, které zatěžují běhové prostředí, které tyto stránky obsluhuje.

Nejprve se ujistěte, že je obsah správný, a pak nechte hreflang dělat svou práci. Obojí dohromady konsoliduje signály pro hodnocení, eliminuje výsledky v nesprávném jazyce a umístí každou přeloženou stránku před lidi, kteří ji umí číst.

Jste připraveni opravit výsledky vyhledávání v nesprávném jazyce u zdroje? Vyzkoušejte SimplePoTranslate zdarma — není vyžadována kreditní karta. Překládejte své soubory .po, .pot a .json na bezplatné úrovni a poté namiřte své značky hreflang na stránky, které jsou skutečně připraveny pro každý trh.

Související témata