Dokument nie ma prawidłowego atrybutu hreflang

Wiele witryn wyświetla różne wersje strony w zależności od języka lub regionu użytkownika. hreflang informują wyszukiwarki o adresach URL wszystkich wersji strony, aby mogły wyświetlać odpowiednią wersję dla danego języka lub regionu.

Dlaczego audyt Lighthouse hreflang się nie udaje

Lighthouse oznacza nieprawidłowe linki hreflang:

Audyt Lighthouse pokazujący nieprawidłowe linki hreflang

Lighthouse sprawdza hreflang linki w head stronie i w jej nagłówkach odpowiedzi.

Następnie Lighthouse sprawdza, czy w linkach hreflangznajdują się prawidłowe kody języków. Lighthouse zgłasza wszystkie hreflang z nieprawidłowymi kodami języka.

Lighthouse nie sprawdza kodów regionów ani mapy witryny.

Załóżmy, że masz 3 wersje strony:

  • Wersja angielska: https://example.com
  • Wersja hiszpańska: https://es.example.com
  • Wersja niemiecka: https://de.example.com

Istnieją 3 sposoby informowania wyszukiwarek o tym, że te strony są równoważne. Wybierz metodę, która jest najłatwiejsza w Twojej sytuacji.

Opcja 1. Dodaj linki hreflang do <head> każdej strony:

<link rel="alternate" hreflang="en" href="https://example.com" />
<link rel="alternate" hreflang="es" href="https://es.example.com" />
<link rel="alternate" hreflang="de" href="https://de.example.com" />

Każda wersja strony musi zawierać linki do wszystkich innych wersji, w tym do siebie samej. W przeciwnym razie wyszukiwarki mogą ignorować linki hreflang lub interpretować je nieprawidłowo.

W przypadku stron, na których użytkownicy mogą wybrać język, użyj x-default klucza:

<link rel="alternate" href="https://example.com" hreflang="x-default" />

Opcja 2. Dodaj do odpowiedzi HTTP nagłówki Link:

Link: <https://example.com>; rel="alternate"; hreflang="en", <https://es.example.com>;
rel="alternate"; hreflang="es", <https://de.example.com>; rel="alternate"; hreflang="de"

Opcja 3. Dodaj informacje o wersji językowej do mapy witryny.

<url>
<loc>https://example.com</loc>

<xhtml:link rel="alternate" hreflang="es"
href="https://es.example.com"/>

<xhtml:link rel="alternate" hreflang="de"
href="https://es.example.com"/>

</url>

Wskazówki dotyczące wartości hreflang

  • Wartość hreflang musi zawsze zawierać kod języka.
  • Kod języka musi być zgodny z formatem ISO 639-1.
  • Wartość hreflang może też zawierać opcjonalny kod regionalny. Na przykład es-mx to hiszpański w Meksyku, a es-cl to hiszpański w Chile.
  • Kod regionu musi być zgodny ze standardem ISO 3166-1 alfa-2.

Zasoby