Atrybut hreflang to fundamentalne rozwiązanie techniczne dla międzynarodowego SEO. Informuje wyszukiwarki o tym, jakie wersje językowe i regionalne Twoich stron istnieją, zapewniając użytkownikom dostęp do wersji w ich języku — i zapobiegając temu, by strony w różnych językach konkurowały ze sobą w wynikach wyszukiwania. Dla sklepu PrestaShop sprzedającego w wielu krajach hreflang jest niezbędny.
Czym jest atrybut hreflang?
Atrybut hreflang (lub tag rel="alternate" hreflang="") to adnotacja HTML sygnalizująca wyszukiwarkom istnienie alternatywnych wersji strony w różnych językach lub dla różnych regionów. Wprowadzony przez Google w 2011 roku, jest dziś standardem dla wielojęzycznego i międzynarodowego SEO.
Jego główna rola jest dwojaka:
- Targetowanie językowe: kierowanie polskojęzycznego użytkownika do polskiej wersji Twojego sklepu, niemieckojęzycznego do wersji niemieckiej itp.
- Zapobieganie duplikacji: uniemożliwianie dwóm stronom w tym samym języku (np. wersja polska dla Polski i wersja polska dla emigrantów) konkurowania ze sobą w SERP.
Składnia i implementacja
Tag hreflang umieszcza się w sekcji <head> każdej strony, z jednym wpisem dla każdej dostępnej wersji językowej, w tym samej bieżącej strony:
Przykład implementacji hreflang
<link rel="alternate" hreflang="pl" href="https://sklep.pl/pl/buty" />
<link rel="alternate" hreflang="de" href="https://sklep.pl/de/schuhe" />
<link rel="alternate" hreflang="fr" href="https://sklep.pl/fr/chaussures" />
<link rel="alternate" hreflang="x-default" href="https://sklep.pl/en/shoes" />Wartość x-default wskazuje stronę domyślną dla użytkowników, których język nie jest jawnie objęty.
Kody języka i regionu
Kody hreflang są zgodne ze standardem BCP 47. Możesz używać:
- Tylko kod języka:
hreflang="pl"— kieruje do wszystkich polskojęzycznych użytkowników, niezależnie od ich lokalizacji geograficznej. - Kod języka + region:
hreflang="pl-PL"dla Polski. W przypadku języków z wieloma wersjami regionalnymi, jak hiszpański:hreflang="es-ES",hreflang="es-MX". - x-default: specjalna wartość wskazująca domyślną wersję dla użytkowników, którzy nie pasują do żadnego innego wpisu hreflang (często międzynarodowa wersja angielska).
Trzy metody implementacji
Tagi HTML (Head)
Najczęstsza metoda. Tagi hreflang są dodawane bezpośrednio w każdej strony. Zalecane dla sklepów z treścią renderowaną po stronie serwera (natywny PrestaShop).
Sitemap XML
Adnotacje hreflang można zintegrować z sitemapą XML za pomocą tagów
Nagłówek HTTP
W przypadku stron innych niż HTML (pliki PDF), adnotacje hreflang można przekazywać poprzez nagłówki HTTP. Rzadko stosowane w standardowych sklepach e-commerce.
Typowe błędy sabotujące Twoje międzynarodowe SEO
Implementacja hreflang jest znana z kompleksowości i wielu źródeł błędów. Najbardziej krytyczne:
- Brakujące linki zwrotne (return links): każda wersja językowa musi odwoływać się do wszystkich pozostałych. Jeśli strona PL wskazuje na DE, strona DE musi też wskazywać na PL. Brak wzajemności unieważnia całą konfigurację.
- Brakujący tag samo-referencyjny: każda strona musi uwzględniać siebie w swojej własnej liście hreflang. Strona PL musi zawierać tag
hreflang="pl"wskazujący na siebie. - Nieprawidłowe kody języka: używanie
pl-plzamiastpl-PL, lub kodów ISO 639-2 (3 litery) zamiast ISO 639-1 (2 litery) unieważnia tagi. - Brak x-default: bez wartości x-default użytkownicy, których język nie jest objęty, mogą nie otrzymać odpowiedniej wersji.
- Hreflang na przekierowanych stronach: jeśli strona docelowa jest przekierowana (301, 302), Google może zignorować tag. Zawsze wskazuj na końcowy adres URL.
Hreflang to zalecenie, a nie nakaz
Hreflang i PrestaShop: praktyczne przypadki użycia
PrestaShop natywnie obsługuje wiele języków, tworząc adresy URL specyficzne dla każdego języka (zazwyczaj jako prefiksy /pl/, /de/, /en/). Bez hreflang wszystkie te wersje mogą być postrzegane przez Google jako zduplikowana treść — nawet jeśli są w różnych językach, ale dotyczą tych samych produktów.
Kluczowe obszary do uwzględnienia w PrestaShop:
- Wielojęzyczne strony produktów: każda przetłumaczona karta produktu generuje adres URL na każdy język. Wszystkie te adresy URL muszą być ze sobą powiązane przez hreflang.
- Strony kategorii: kategorie mają różne slug'i w zależności od języka (/buty, /chaussures, /schuhe). Hreflang pozwala Google zrozumieć, że jest to ta sama kategoria.
- Strony CMS (regulamin, polityka prywatności): te strony są często tłumaczone, ale bardzo podobne — bez hreflang mogą być oznaczone jako zduplikowana treść.