Nastavení Hreflang | Lekce 25/34 | Akademie SEMrush

Umět hreflang být umístěn na body HTML? Nebo to musí být v head?

Nemohu o tom najít jasné informace.

  • 1 Je jasné, jako den, pokud si přečtete specifikaci.

Google podporuje:

  • Odkaz Hreflang
  • Záhlaví HTTP Hreflang
  • Mapa stránek Hreflang

Použitím <link rel='alternate' href='#' hreflang='en-ie' /> v rámci <body>a ne <head>, testování v validátoru W3C selže a hlásí následující:

W3C

Prvek odkazu se nesmí objevit jako potomek prvku těla, pokud prvek odkazu nemá atribut itemprop nebo nemá atribut rel, jehož hodnota obsahuje dns-prefetch, pingback, preconnect, prefetch, preload, prerender nebo šablonu stylů.

Zmínili to Rob a Boldewyn v odpovědích i komentářích, že hreflang lze použít v rámci a , protože tyto značky jsou v těle povoleny. To je pravda a oba uživatelé mají dobré body, nicméně ...

Pomocí hreflang uvnitř může být velmi složité a není jasné, zda je podporováno společností Google:

  1. Musíte vytvořit všechny odkazy na stránku pomocí značek, takže pokud máte mnoho článků vzájemně propojených, může to být složité, velmi složité, pokud máte více než 2 jazykové možnosti. Přidání značek na stránku namísto odkazů je méně složité, protože jednoduše vytvoříte ZÍSKAT URL a tuto proměnnou zasadíte do kanonického odkazu, odkazu hreflang, opengraph Facebooku, karet Twitter atd.
  2. Hlavním problémem však je, že Google Search Console Help nezmíní nic o používání pro více jazyků to neznamená, že to není podporováno, je to jen to, co mohu s jistotou říci.

Specifické pro Google tvrdí, že podporuje:

Prvek odkazu HTML v záhlaví. V sekci HTML stránky http://www.example.com/, přidejte prvek odkazu směřující na španělskou verzi této webové stránky na http://es.example.com/, takhle:

<link rel='alternate' hreflang='es' href='http://es.example.com/' /> 

Záhlaví HTTP. Pokud publikujete soubory jiné než HTML (například PDF), můžete použít záhlaví HTTP k označení jiné jazykové verze adresy URL:

; rel='alternate'; hreflang='es' 

Chcete-li zadat více hodnot hreflang v záhlaví odkazu HTTP, oddělte hodnoty čárkami takto:

; rel='alternate'; hreflang='es'>, ; rel='alternate'; hreflang='de'> 

Mapa stránek. Místo použití označení můžete odeslat informace o jazykové verzi do souboru Sitemap.

Doporučuji ověřit váš MARKUP probíhající pomocí validátoru W3C, například pomocí tohoto přímého vstupního kódu:

<!DOCTYPE html> <html lang='en'> <head> <meta charset='utf-8'> <title>Simon Hayter Rocks!</title> <link rel='stylesheet' href='example.css'> <script src='example.js'></script> </head> <body> <link rel='alternate' href='http://example.com/en-ie' hreflang='en-ie' /> </body> </html> 
  • 2 To není pravda. Můžete umístit @hreflang stejně dobře elementy. Specifikace: html.spec.whatwg.org/multipage/…
  • A verze W3C: w3.org/TR/html5/textlevel-semantics.html#the-a-element
  • 1 Prodejci prohlížeče @Boldewyn již přeběhli na WHATWG, alespoň pro HTML, bohužel. Jako referenci použijte WHATWG.
  • @Rob Google podporuje <head><link></head>, HTTP Header nebo Sitemap a v žádném případě neříká, že bude podporovat značky BCP 47.
  • @Rob aktualizovaná odpověď

Ne.

Jediné prvky odkazu povolené v <body> sekce jsou ty, které jsou uvedeny v seznamu „body-ok“. Kopii tabulky naleznete zde: https://www.w3.org/TR/html5/links.html#body-ok

Můžeš použít hreflang jako atribut na obou <link> prvky a výhradně prvky. Stručně řečeno, ne, nelze zkratovat uvedením hreflang na <body> (jako byste mohli, např. s pro relativní adresy URL).

Příklad v záhlaví stránky s odkazem na alternativní jazykovou verzi pro vyhledávače:

<head> <link rel='alternate' href='?lang=en' hreflang='en'> </head> 

Příklad v těle stránky, na který mohou uživatelé kliknout:

<body> View this information in English </body> 
  • The area prvek může mít také hreflang atribut.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?

užitečné informace