Co to jest atrybut hreflang i jaka jest jego rola w SEO?
Co to jest atrybut hreflang?
Hreflang to jeden z atrybutów HTML zamieszczanych w sekcji <head>, a dokładniej wewnątrz tagu <link>. Atrybut rel=”alternate” hreflang=”x” powstał, aby roboty wyszukiwarek mogły lepiej rozumieć strony wielojęzyczne i w wynikach wyszukiwania wyświetlić użytkownikowi najbardziej adekwatny wariant językowy lub regionalny danej witryny.
Czym różnią się warianty językowe, to sprawa oczywista – strona może mieć np. wersję polską, angielską i niemiecką. Rozróżnienie na regiony to jednak inna sprawa. Dotyczy to serwisów, które posiadająosobne warianty stron dla krajów, w których używa się tego samego języka, np. Niemcy i Austria albo Wielka Brytania, Stany Zjednoczone i Australia. Strony te mogą się nieznacznie różnić szczegółami, np. użytym słownictwem, cenami czy warunkami dostawy.
Z tego względu atrybut hreflang może składać się z jednego lub dwóch elementów. Pierwszy człon wskazuje na język (standard ISO 639-1), a drugi, opcjonalny, doprecyzowuje region (standard ISO 3166-1 alfa-2).
Przykładowe hreflang z użyciem wyłącznie kodu języka
<link rel =”alternate” hreflang=”en” href=”https://domena.com”> <link rel =”alternate” hreflang=”de” href=”https://domena.com/de”>
Przykładowe hreflang z użyciem kodu języka oraz kodu kraju
<link rel =”alternate” hreflang=”en-US” href=”https://domena.com”> <link rel =”alternate” hreflang=”en-GB” href=”https://domena.co.uk”>
Hreflang można zastosować nie tylko w ramach jednej domeny, ale także pomiędzy różnymi domenami (i nie chodzi wyłącznie o rozszerzenie, a również o nazwę domeny):
<link rel =”alternate” hreflang=”pl” href=”https://eobuwie.com.pl”> <link rel =”alternate” hreflang=”de” href=”https://eschuhe.de”>
Najważniejsze zasady implementacji hreflang
- Hreflang można stosować również między domenami.
- Hreflang najczęściej implementuje się w kodzie html, w sekcji <head>, jednak istnieją alternatywne metody (poprzez mapę strony lub nagłówki http).
- Hreflangi muszą wskazywać na wszystkie warianty danej strony i same na siebie.
- Hreflangi powinny być zastosowane na każdej podstronie posiadającej jakieś tłumaczenie/wersję regionalną. Nie można poprzestać na wskazaniu ich wyłącznie na stronie głównej.
- Hreflang to nie to samo co atrybut lang.
Więcej informacji na temat implementacji, wraz z przykładami znajdziesz u źródła: https://developers.google.com/search/docs/specialty/international/localized-versions?hl=pl#methods-for-indicating-your-alternate-pages
Po co stosować atrybut hreflang?
Aby nie bawić się w głuchy telefon, sprawdźmy najpierw, jak brzmią wskazówki z przewodnika Google dla Deweloperów:
Jeśli masz wiele wersji strony dla różnych języków lub regionów, przekaż Google informacje na ten temat. Dzięki temu wyszukiwarka Google skieruje użytkowników do najodpowiedniejszej wersji strony na podstawie języka lub regionu.
Nawet jeśli nie podejmiesz żadnych działań, Google nadal będzie w stanie znaleźć alternatywną wersję językową strony. Zazwyczaj jednak najlepszym rozwiązaniem jest wyraźne wskazanie stron w określonych językach lub przeznaczonych dla konkretnych regionów.
Przykładowe sytuacje, w których zalecamy wskazanie alternatywnych wersji stron:
-
Prezentujesz główną treść w jednym języku, a tłumaczysz tylko szablon, np. elementy nawigacyjne i stopkę. Jest to typowa sytuacja w przypadku stron z treściami użytkowników, takimi jak posty.
-
Materiały na Twojej stronie charakteryzują niewielkie różnice regionalne, a treści w obrębie jednego języka są podobne. Na przykład możesz mieć treści w języku angielskim skierowane do użytkowników z USA, Wielkiej Brytanii i Irlandii.
-
Zawartość Twojej witryny jest w całości przetłumaczona na wiele języków. Na przykład masz niemiecką i angielską wersję każdej strony.
Źródło: https://developers.google.com/search/docs/specialty/international/localized-versions?hl=pl
Innymi słowy, stosując atrybut hreflag informujesz wyszukiwarki:
- dlaczego prezentujesz tłumaczenia tych samych treści;
- z czego to wynika, że podstrony w wielojęzycznym serwisie wyglądają identycznie lub niemal identycznie.
Ten sam język, różne regiony – czy hreflang wystarczy?
Mogłoby się wydawać, że zastosowanie hreflang rozwiązuje wszystkie problemy dotyczące ewentualnej duplikacji treści w bardzo podobnych wersjach serwisu, np. niemieckiej i austriackiej. Czy na pewno? Zaraz pod zacytowanym wyjaśnieniem dot. implementacji hreflang, znajduje się jeszcze jedno zdanie, które może wprawiać w zakłopotanie:
Zlokalizowane wersje strony są uznawane za duplikaty tylko wtedy, gdy główna treść strony pozostaje nieprzetłumaczona.
Czy to oznacza, że mimo prawidłowego oznaczenia stron hrelfang-ami, Google może mieć problem z duplikacją treści w ramach naszej witryny? Czy właśnie nie po to zostały one wymyślone? Podczas jednych z konsultacji, pracownicy Google wyjaśnili to zagadnienie w następujący sposób:
Wybór strony kanonicznej i atrybut hreflang są ze sobą powiązane, ale nieco się różnią. Za pomocą atrybutu hreflang informujesz Google, że strony są takie same, ale różni je język lub region. Wybór strony kanonicznej pozwala określić, która z nich ma być głównym adresem URL w naszym indeksie. Jeśli utworzysz grupę stron z mniej więcej taką samą treścią, ale w różnych językach lub dla różnych regionów, w ramach wyboru strony kanonicznej nadal zostanie określony główny adres URL, ale inne adresy URL mogą (i będą) się wyświetlać w wynikach wyszukiwania (w zależności od języka i regionu użytkownika) (…) Sprawę utrudnia nieco fakt, że strony austriackie i niemieckie są zwykle bardzo podobne, dlatego nie zawsze działa to w 100%. Warto więc dać użytkownikom możliwość wyboru regionu.
Odpowiedź rzuca więcej światła na sprawę, jednak mnie nie satysfakcjonuje. Jest więc duplikacja, czy nie? Jako uzupełnienie może posłużyć odpowiedź z innych konsultacji:
John: Mark pyta: „Wydaje mi się, że treści w 1 języku na 2 rynkach mogą zostać uznane przez Google za powielone. Jak to obejść?
(…) W takim przypadku nie nakładamy kary za powielone treści (ani żadnej innej kary). Nadal może to mieć jednak pewne skutki. Jeśli na stronach jest taka sama treść w tym samym języku, istnieje możliwość, że jedna z nich zostanie potraktowana jako duplikat, a druga wybrana jako kanoniczna. Odbywa się to na podstawie strony. Gdy szukasz ogólnego fragmentu tekstu, pokazujemy tylko jedną z tych stron, bo druga jest taka sama. Jeśli używasz adnotacji hreflang, nadal możemy zamienić adresy URL w wyszukiwarce. Search Console tworzy jednak raporty przede wszystkim na temat kanonicznych adresów URL. Może się więc wydawać, że ignorujemy drugą wersję. Krótko mówiąc, w raportach pojawią się niejasności, ale jest to możliwe. Dla pewności, gdy użytkownik z innego kraju odwiedzi Twoją witrynę, możesz wyświetlać baner, aby wskazać mu odpowiednią wersję.
Co z tego wynika?
W przypadku stron o niemal identycznej treści, np. dla rynku niemieckiego i austriackiego, albo brytyjskiego i amerykańskiego, sugerowane rozwiązanie to danie użytkownikowi możliwości wyboru regionu.
A może automatyczne przekierowanie na wersję językową na podstawie lokalizacji?
Przeszło Ci przez myśl, aby zastosować przekierowanie na odpowiednią wersję językową na podstawie lokalizacji?
Nie jest to zalecane, ponieważ lokalizacja użytkownika nie zawsze równa się językowi tego użytkownika. Najprostszy przykład – serwis turystyczny nie może pokazywać obcokrajowcowi informacji w języku polskim, ponieważ odwiedził on nasz kraj. Fakt, że znalazł się w Polsce, nie czyni go użytkownikiem języka polskiego.
Takie rozwiązanie nie sprawdzi się w wielu przypadkach – na jaki język przekierować użytkownika z Kanady, skoro obowiązują tam dwa języki urzędowe – angielski i francuski? Albo jaki język zaserwować użytkownikowi w Ukrainie – ukraiński czy rosyjski?
Nie oznacza to jednak, że geolokalizacja jest zupełnie niepotrzebna. Wszystko zależy od konkretnego przykładu. Niektóre strony stosują rozwiązanie polegające na dostosowaniu się do ustawień przeglądarki, ale bazując na lokalizacji wyświetlają baner sugerujący zmianę języka/regionu na być może bardziej odpowiedni.
Na zrzucie ekranu przykład strony apple.com/de, sugerującej mi “Wybierz inny kraj lub region,aby zobaczyć treść właściwą dla swojej lokalizacji i zrobić zakupy przez internet”.
Hreflang x-default
Na jaką stronę powinien trafić internauta, dla którego nie posiadamy odpowiedniej wersji językowej? W tym przypadku najlepiej skierować go na stronę wyboru języka/regionu lub na wersję angielską serwisu.
Jak to zrobić? Na pomoc przychodzi wartość hreflang x-default, która
(…) określa neutralny pod względem języka i regionu adres URL do fragmentu treści, gdy witryna nie obsługuje języka i regionu użytkownika. Jest on używany wraz z innymi wartościami hreflang, które określają wersję adresu URL fragmentu treści kierowanego na określony język i region.
Źródło: https://developers.google.com/search/blog/2023/05/x-default?hl=pl
Skąd wiadomo, jaki jest język danego internauty? Podczas przesyłania żądania, jego przeglądarka wysyła w nagłówku http informację o preferowanym języku (lub językach). Takie informacje są zapisane w ustawieniach przeglądarki. Poniżej przykład przeglądarki Chrome, gdzie jedynym ustawionym językiem jest język angielski dla lokalizacji United States:
Użytkownik może określić inne języki, którymi się posługuje, np. język francuski:
Ale w drugiej kolejności zostanie poproszony o podanie lokalizacji, np. francuski w Kanadzie:
W przypadku mojej przeglądarki preferuję język polski, ale dodatkowym językiem jest angielski. Do strony, na którą próbuję wejść, wysyłany jest więc zawsze komunikat “Hej, preferuję polski, ale akceptuję także angielski, choć nieco mniej niż polski.”
Jaka Google crawluje wersje językowe i jak uwzględnia je w rankingu?
Google tworząc ranking, bierze pod uwagę zarówno aktualną lokalizację użytkownika, jak i jego preferencje językowe w ustawieniach przeglądarki.
Na poniższym zrzucie widzimy kolejne miejsce, w którym użytkownik może manipulować swoimi ustawieniami i które mają wpływ na to, jakie wyniki wyszukiwania zostaną mu wyświetlone.
Z tego względu nie możemy mieć 100% pewności, jaką stronę zobaczy w wyszukiwarce użytkownik, szczególnie kiedy rozważamy scenariusze dla krajów wielojęzycznych.
W swoich wytycznych Google podpowiada, jakie sygnały bierze pod uwagę, dobierając najlepszy dla odbiorcy wariant językowy:
- Krajowe rozszerzenie domeny to według wytycznych silny sygnał rankingowy, ponieważ jasno określa, jakiemu rynkowi dedykowana jest strona.
- Atrybuty hreflang znajdują się na drugim miejscu listy.
- Lokalizacja serwera jest wskazywana w trzeciej kolejności, z zastrzeżeniem, że zdają sobie sprawę, że strony mogą korzystać z sieci rozproszonych lub lepszej infrastruktury dostępnej w innym kraju, więc czynnik ten nie jest “definitywnie przesądzający”.
- Inne czynniki, wymienione razem na czwartym miejscu to: adresy i numery telefonów oraz informacje dostępne w wizytówce firmy (Google My Business).
W przewodniku pojawia się również zastrzeżenie, że Googlebot crawluje internet z domyślnego IP, zlokalizowanego w USA. Nie praktykuje zmieniania lokalizacji crawlowania, aby zbadać wszystkie dostępne wersje językowe. Podczas odwiedzania stron, nie posiada też skonfigurowanego żadnego atrybutu Accept-Language. Dodatkowo podczas crawlowania ignoruje tagi geo.position albo distribution.
Z tego względu tak istotne jest wskazanie mu wszystkich wariantów językowych poprzez wymienione wyżej 4 sygnały.
Źródła:
https://developers.google.com/search/docs/specialty/international/locale-adaptive-pages
Zastosowanie hreflang w praktyce – przykłady
Przykład 1 – Eobuwie
Eobuwie postawiło na domeny narodowe, które zostały połączone hreflangami. Nie zastosowano żadnego hreflang x-default – nie ma ani strony wyboru języka, ani wersji angielskiej, która mogłaby być wariantem neutralnym. Sklep jest dostępny w następujących wersjach:
- pl – język polski
- bg- język bułgarski
- de-ch – język niemiecki w Szwajcarii
- fr-ch – język francuski w Szwajcarii
- it-ch – język włoski w Szwajcarii
- cs-cz – język czeski w Czechach
- de – język niemiecki
- de-at – język niemiecki w Austrii
- es – język hiszpański
- fr – język francuski
- el-gr – język grecki w Grecji
- hu – język węgierski
- it – język włoski
- lt – język litewski
- lv – język łotewski
- sv-se – język szwedzki w Szwecji
- sl-si – język słoweński w Słowenii
- sk – język słowacki
- ro – język rumuński
- uk-ua – język ukraiński w Ukrainie
- ru-ua – język rosyjski w Ukrainie
- hr – język chorwacki
Przykład 2 – Reserved
Reserved funkcjonuje w ramach jednej domeny .com. Jako x-default została ustawiona strona wyboru języka i regionu. Wersje językowe zostały umieszczone w subkatalogach i połączone hreflang-ami.
Przykład 3 – Google
Teksty dostępne na developers.google.com są tłumaczone na kilka najważniejszych języków, jednak nie zawsze każdy artykuł jest przetłumaczony. Zdarza się, że jeden artykuł jest przetłumaczony na 10, a inny tylko na 5 języków. Z tego względu istotne jest, aby hreflangi były nadawane poszczególnym podstronom – informacja ze strony głównej może nie być dla nich prawdziwa.
Przykład 4 – Kross
Na stronie kross.eu jako x-default oznaczono język polski. Oznacza to, że w przypadku braku możliwości dopasowania języka do użytkownika, zobaczy on polską wersję serwisu. Bardziej korzystny byłby wybór języka angielskiego.
Podsumowanie – dlaczego hreflang jest ważny w SEO?
Na atrybuty hreflang należy zwrócić szczególną uwagę w kilku przypadkach:
- Hreflangi są niezbędne, jeśli nie posiadasz domen krajowych, będących wg. Google najbardziej jasnym sygnałem lokalizacyjnym. Jeśli więc Twoja strona prezentuje wersje językowe w ramach subkatalogów i subdomen, to właśnie hreflangi stanowią dla Googlebota najważniejsze źródło informacji o Twoich wersjach językowych.
- Kiedy warianty Twojej strony są dedykowane różnym krajom, w których używa się tego samego języka (np. angielski w USA i w Wielkiej Brytanii).
- Kiedy Twoje wersję strony są dedykowane krajom, w których używa się kilku różnych języków (np. angielski i francuski w Kanadzie).
- Hreflangi nie są krytyczne, ale bardzo pomocne, kiedy posiadasz domeny krajowe, tak jak w Przykładzie 1, dotyczącym sklepu Eobuwie. Dzięki atrybutom hreflang informujesz roboty wyszukiwarki o powiązaniach między wersjami językowymi Twojej strony.
Karolina Sulkowska
SEO traktuje jako jeden z wielu elementów układanki, które składają się na skuteczny marketing w sieci. Zawsze stara się patrzeć na projekt możliwie szeroko, uwzględniając perspektywę wszystkich zaangażowanych osób – programistów, designerów czy copywriterów. Stale poszerza swoją wiedzę, aby jeszcze lepiej rozumieć jak wykorzystywać SEO w każdym możliwym obszarze.