Jeśli prowadzisz stronę internetową skierowaną do użytkowników z różnych krajów lub mówiących w różnych językach, hreflang to nie opcja – to konieczność. Ten niepozorny atrybut HTML to jeden z najbardziej strategicznych elementów technicznego SEO, który wpływa nie tyle na ranking, co na trafność i jakość ruchu. To dzięki hreflangowi Google wie, komu i kiedy pokazać Twoją stronę – i w jakiej wersji językowej. Wdrażasz wielojęzyczność? Zacznij od tego miejsca.
Bartłomiej Szczęśniak dnia 2025-06-17
Co to jest hreflang i dlaczego ma znaczenie?
Atrybut hreflang to sygnał umieszczany w kodzie strony, który informuje wyszukiwarki i przeglądarki, że dany serwis posiada alternatywne wersje językowe lub regionalne tej samej treści. Google dzięki niemu rozumie, że Twoja strona przygotowana w języku francuskim ma też warianty dla użytkowników z Niemiec, Hiszpanii czy Polski – i może trafnie dobrać odpowiednią wersję do lokalizacji i języka użytkownika.
Dla Google to jak naklejka z etykietą: „To jest wersja strony przygotowana specjalnie dla osób mówiących po hiszpańsku w Meksyku”. Dzięki temu unikasz błędnego kierowania użytkowników na niewłaściwe wersje językowe i ograniczasz problemy z duplikacją treści.
Nie wpływa na wygląd strony – to czysto techniczna informacja dla robotów.
Jak działa hreflang? Zasady składni i implementacji
Najczęściej atrybut hreflang umieszcza się jako tag <link>
w sekcji <head>
każdej strony:
<link rel="alternate" hreflang="pl" href="https://example.com/pl/" />
Podstawowe zasady:
- Kod języka pochodzi z normy ISO 639-1 (np.
en
,pl
,de
). - Kod regionu (opcjonalny) musi być zgodny z ISO 3166-1 alfa-2 (np.
US
,PL
) i zawsze musi być łączony z kodem języka (en-US
,pl-PL
). - Konwencja zapisu: język pisany małymi literami, region wielkimi (
en-GB
,es-MX
).
Przykład dla strony w języku angielskim dla Wielkiej Brytanii:
<link rel="alternate" hreflang="en-GB" href="https://example.com/gb/" />
Dodatkowo można dodać atrybut x-default
, który wskazuje wersję domyślną, np. stronę wyboru języka:
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
Adresy URL muszą być absolutne i zawierać protokół http
lub https
.
Alternatywne sposoby wdrażania hreflang
Google dopuszcza trzy metody:
- w kodzie strony (tag
<link>
) – najczęstsze rozwiązanie, - w nagłówkach HTTP – przydatne np. dla plików PDF,
- w mapie witryny (XML Sitemap) – przydatne przy automatyzacji w dużych serwisach.
Dla plików sitemapowych używa się składni z przestrzenią nazw xhtml
:
<xhtml:link rel="alternate" hreflang="de-de" href="https://example.com/de/" />
Pamiętaj: każdy językowy wariant strony powinien zawierać komplet tagów hreflang, w tym również odwołanie do siebie samego. Jeśli strona A wskazuje na stronę B, to strona B musi wskazywać na stronę A. Inaczej Google zignoruje oznaczenia.
Przykładowe struktury URL a wdrożenie hreflang
Struktura Twojej strony decyduje o tym, jak wygląda implementacja:
- Subdomeny:
https://de.example.com/
- Katalogi:
https://example.com/de/
- Oddzielne domeny:
https://example.de/
W każdej z tych wersji musisz wdrożyć komplet wzajemnych tagów hreflang dla każdego wariantu językowego i regionalnego.
Dlaczego hreflang to potężne narzędzie SEO?
Wdrożenie hreflangu nie podnosi bezpośrednio pozycji w rankingu – potwierdził to sam Gary Illyes z Google – ale jego znaczenie dla strategii SEO jest fundamentalne:
- Zwiększa trafność wyników wyszukiwania – użytkownik dostaje dokładnie to, czego oczekuje w swoim języku.
- Minimalizuje duplikację treści – Google rozumie, że różne wersje językowe to nie kopie, a lokalizacje.
- Poprawia widoczność i CTR – odpowiednia wersja językowa = większe zaufanie użytkownika.
- Wzmacnia lokalne SEO – łatwiej osiągnąć lepsze pozycje w regionalnych wynikach.
- Zmniejsza współczynnik odrzuceń – nikt nie trafia przypadkowo na nieznany język.
- Ułatwia dystrybucję sygnałów rankingowych – we współpracy z tagami canonical.
Składnia tagu hreflang – jak nie popełnić błędu
Jednym z najczęstszych powodów nieskutecznego działania hreflangów są błędy składniowe. Dlatego warto dokładnie zrozumieć, jak powinien wyglądać poprawny tag.
Zazwyczaj atrybut hreflang umieszczamy w <head>
strony jako:
<link rel="alternate" hreflang="język-region" href="https://adres-strony/" />
Do kodowania języka używamy normy ISO 639-1, a dla kraju – ISO 3166-1 alpha-2. Przykładowo:
en
– język angielski ogólnie,en-GB
– angielski z Wielkiej Brytanii,pl
– polski,pl-PL
– polski dla Polski (chociaż rzadko wymagane, bopl
zwykle wystarcza).
Uwaga: Kod kraju nigdy nie może występować sam – zawsze musi być poprzedzony kodem języka. Wartości powinny być zgodne z konwencją: język małymi literami, region dużymi.
W przypadku sitemap XML, składnia wygląda inaczej:
<xhtml:link rel="alternate" hreflang="es-es" href="https://example.com/es/" />
Wdrożenie hreflang – trzy ścieżki
Google akceptuje trzy sposoby informowania o wersjach językowych:
- W kodzie HTML (najczęstsze) – umieszczamy tagi
<link rel="alternate" hreflang=...>
w sekcji<head>
każdej wersji językowej. - W nagłówkach HTTP – przydatne np. dla plików PDF czy treści bez kodu HTML.
- W mapie witryny XML – dobre rozwiązanie dla dużych serwisów lub generowanych dynamicznie wersji językowych.
Niezależnie od formy, obowiązuje ta sama zasada: każda wersja musi wskazywać na siebie i na wszystkie pozostałe – tzw. dwukierunkowość (reciprocal linking). Jeśli strona A wskazuje na B, to B musi wskazywać na A – w przeciwnym razie Google zignoruje cały zestaw.
Wersje językowe mogą być dostępne jako:
- katalogi (np.
example.com/en/
), - subdomeny (np.
en.example.com
), - różne domeny (np.
example.fr
,example.de
).
Kluczowe jest, by tagi hreflang były spójne z rzeczywistą strukturą strony i odzwierciedlały jej przeznaczenie.
Korzyści z prawidłowego użycia hreflang
Wdrożenie hreflangów daje konkretne przewagi SEO:
- Większa trafność wyników wyszukiwania – użytkownik zobaczy stronę w swoim języku i dopasowaną do lokalizacji.
- Lepsze UX i mniejszy współczynnik odrzuceń – odwiedzający trafia od razu na właściwą wersję strony.
- Eliminacja problemów z duplikacją treści – Google rozumie, że różne wersje językowe nie są kopiami, tylko równoważnymi wariantami.
- Wzmocnienie pozycjonowania lokalnego – możemy wskazać, która wersja strony powinna być promowana np. we Francji, a która w Niemczech.
- Przenoszenie autorytetu SEO – w połączeniu z tagami kanonicznymi hreflangi pozwalają lepiej dystrybuować „link equity”.
- Większa widoczność i bardziej ukierunkowany ruch – zysk nie polega tylko na pozycjach, ale na lepszym dopasowaniu treści do odbiorców.
Wyzwania i najczęstsze błędy przy implementacji hreflangów
Choć składnia tagów hreflang wydaje się prosta, w praktyce wdrożenie bywa problematyczne. Poniżej znajdziesz listę najczęstszych błędów, które prowadzą do całkowitego zignorowania tagów przez Google.
Brak relacji zwrotnej (reciprocal)
To najczęstszy i najbardziej krytyczny błąd. Każda strona musi odsyłać do wszystkich pozostałych wersji językowych, w tym do samej siebie. Jeśli A wskazuje na B, to B musi wskazać również na A.
Przykład:
❌ Źle – brak linku zwrotnego:
Strona en
zawiera tag hreflang do pl
, ale pl
nie zawiera tagu do en
.
✅ Dobrze – pełna siatka odniesień:
Strona en
wskazuje na pl
i en
, a pl
również wskazuje na en
i pl
.
Niepoprawne kody językowe lub regionów
Użycie kodu EN-us
zamiast en-US
, albo samego kodu kraju (np. DE
zamiast de-DE
) sprawia, że tag nie działa. Google stosuje konwencję: język (małe litery) + opcjonalnie region (duże litery).
Brak strony docelowej (404 lub 301/302)
Tag hreflang musi prowadzić do rzeczywistej, dostępnej podanej wersji językowej. Jeśli link prowadzi do błędu 404, przekierowania 301 lub 302, Google zignoruje go.
Błędy w sitemapie XML
Wielu administratorów generuje sitemapę automatycznie, ale zapomina o dodaniu tagów <xhtml:link>
. Co więcej, tagi te również muszą być wzajemne i kompletne, tak jak w przypadku <head>
.
Brak wersji x-default
Choć opcjonalna, warto dodać wersję x-default
, czyli adres strony domyślnej – np. landing page z wyborem języka. Google traktuje ją jako bezpieczną alternatywę, gdy nie może dopasować użytkownika do żadnego wariantu językowego.
Mieszanie hreflang z canonical w sposób błędny
Jeśli strona en
zawiera canonical
do pl
, a jednocześnie hreflang
do en
, wysyłamy sprzeczne sygnały: jeden mówi, że pl
jest oryginałem, drugi – że en
jest niezależną wersją językową. To częsty błąd w przypadku tłumaczeń opartych na tej samej strukturze HTML.
Hreflang a canonical – czy się wykluczają?
To częste pytanie, bo obie metody wpływają na indeksowanie i zrozumienie wersji strony przez Google. Ale uwaga: hreflang i canonical mogą działać razem, pod warunkiem że ich logika nie jest sprzeczna.
Główne różnice:
Cecha | hreflang | canonical |
---|
Cel | Dopasowanie językowe i lokalizacyjne | Wskazanie oryginalnej wersji treści |
Zakres działania | Wersje językowe tej samej treści | Unikanie duplikacji |
Może wskazywać na siebie? | Tak | Tak |
Może wskazywać na inną stronę? | Tak, jeśli to odpowiednik językowy | Tak, ale tylko jedna wersja jako kanoniczna |
Dobra praktyka:
Każda wersja językowa powinna zawierać canonical do samej siebie, a tagi hreflang – do pozostałych wersji. To pokazuje Google, że strona jest równoważnym odpowiednikiem językowym, a nie kopią treści.
Podsumowanie
Tagi hreflang to kluczowy element SEO dla stron wielojęzycznych i wieloregionalnych. Ich poprawna implementacja pozwala Google zrozumieć, która wersja językowa strony powinna być wyświetlona użytkownikowi w zależności od jego języka lub lokalizacji. Aby działały skutecznie, muszą być kompletne, wzajemne i poprawnie osadzone (w <head>
, sitemapie lub nagłówku HTTP). Najczęstsze błędy to brak relacji zwrotnej, nieprawidłowe kody języków lub konflikty z tagami canonical. Prawidłowe wdrożenie hreflangów minimalizuje ryzyko duplikacji treści i zwiększa widoczność strony w odpowiednich wersjach językowych, co przekłada się na lepsze doświadczenia użytkowników i wyższe pozycje w wynikach wyszukiwania.