Jeśli Twoja strona ma wersje w kilku językach albo dla kilku krajów, hreflang pomaga Google pokazać każdemu klientowi tę, która jest dla niego. Źle wdrożony nie działa wcale, a błędy łatwo przeoczyć. Poniżej znajdziesz, kiedy hreflang jest potrzebny, jak go zbudować i wdrożyć oraz jak sprawdzić, czy działa.
Najważniejsze w skrócie
- Hreflang to atrybut, który wskazuje Google wersje tej samej strony w innych językach albo dla innych krajów, żeby w wynikach pojawiała się wersja właściwa dla użytkownika.
- Znaczniki hreflang działają tylko wtedy, gdy każda wersja wymienia siebie i wszystkie pozostałe, a wersje wskazują się nawzajem pełnymi adresami.
- Hreflang można wdrożyć w HTML, w nagłówku HTTP albo w mapie witryny XML. Dla Google te metody są równoważne, więc wystarczy jedna.
- Kod hreflang zaczyna się od języka (ISO 639-1), a kraj (ISO 3166-1) jest opcjonalny: en-GB jest poprawne, en-UK albo sam kod kraju nie.
- Search Console od września 2022 roku nie ma raportu kierowania międzynarodowego, więc poprawność hreflang sprawdza się crawlerem i w kodzie źródłowym stron.
Co to jest hreflang?
Hreflang to atrybut, który mówi Google, że ta sama strona ma wersje w innych językach albo dla innych krajów. Wskazuje też, dla kogo jest każda z nich.
Przykład
Sklep ma stronę produktu po polsku, po niemiecku i po angielsku. Bez hreflang klient z Niemiec może trafić z wyników Google na wersję polską. Z poprawnym hreflang Google dostaje jasną informację, że dla osoby mówiącej po niemiecku istnieje strona w jej języku. Wtedy może pokazać w wynikach właśnie ją.
Hreflang nie służy do rozpoznawania języka. Według dokumentacji Google wyszukiwarka ustala język strony z widocznej treści, a nie z atrybutu lang ani z adresu URL. W dokumentacji Google hreflang nie jest też opisany jako sposób na wyższe pozycje. Jego zadanie jest inne: pomóc wybrać, którą z kilku wersji tej samej strony pokazać konkretnej osobie. To część technicznej podstawy widoczności w Google.
Kiedy hreflang jest potrzebny?
Hreflang jest potrzebny wtedy, gdy ta sama treść istnieje w kilku wersjach językowych albo regionalnych. Strona w jednym języku dla jednego kraju go nie potrzebuje.
- Kilka języków. Strona po polsku, angielsku i niemiecku, na jednej domenie albo na kilku.
- Jeden język, kilka krajów. Sklep po niemiecku dla Niemiec, Austrii i Szwajcarii, z inną walutą, cenami albo kosztami dostawy. Teksty są prawie takie same, więc bez hreflang Google może pokazać klientowi ze Szwajcarii stronę z cenami w euro.
- Częściowe tłumaczenie. Wersja angielska obejmuje tylko część serwisu. Hreflang dodajesz wyłącznie na stronach, które mają odpowiednik.
Hreflang porządkuje też podobne strony. Google traktuje wersje językowe jako duplikaty tylko wtedy, gdy główna treść nie została przetłumaczona. Przy wersjach w tym samym języku dla różnych krajów hreflang pomaga wybrać właściwy adres: według dokumentacji Google o adresach kanonicznych wyszukiwarka woli adresy, które należą do zestawu hreflang.
Dla firmy oznacza to mniej klientów, którzy trafiają na stronę w obcym języku albo z ceną w obcej walucie i wracają do wyników. Jeśli dopiero planujesz wejście na nowe rynki, zacznij od strategii pozycjonowania globalnego, a hreflang potraktuj jako jej techniczny element.
Jak zbudowany jest tag hreflang?
Tag hreflang ma trzy części: relację rel="alternate", kod języka (opcjonalnie z kodem kraju) w atrybucie hreflang oraz pełny adres wersji w atrybucie href. Tak wygląda zestaw dla strony po polsku, w dwóch wersjach niemieckich i ze stroną domyślną:
<link rel="alternate" hreflang="pl" href="https://example.com/pl/" />
<link rel="alternate" hreflang="de-DE" href="https://example.com/de-de/" />
<link rel="alternate" hreflang="de-AT" href="https://example.com/de-at/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />Kod języka pochodzi z normy ISO 639-1, a kod kraju z ISO 3166-1 alfa-2. Najpierw zawsze stoi język, kraj jest opcjonalny. Wielkość liter nie ma znaczenia.
| Zapis | Znaczenie | Poprawny? |
|---|---|---|
| pl | polski, bez wskazania kraju | tak |
| de-AT | niemiecki, Austria | tak |
| en-GB | angielski, Wielka Brytania | tak |
| zh-Hant | chiński w piśmie tradycyjnym (kod pisma z ISO 15924) | tak |
| en-UK | UK to kod zarezerwowany, Google go nie uwzględnia | nie |
| AT | sam kraj bez języka | nie |
Zestaw działa tylko wtedy, gdy spełnia cztery zasady z dokumentacji Google:
- każda wersja wymienia samą siebie i wszystkie pozostałe wersje,
- zestaw jest identyczny na każdej wersji,
- wersje wskazują się nawzajem,
- adresy są pełne, z protokołem https. Mogą leżeć na różnych domenach.
Czym jest x-default?
x-default to zarezerwowana wartość dla strony domyślnej. Google używa jej, gdy żadna wersja nie pasuje do ustawień przeglądarki użytkownika. Najczęściej wskazuje stronę wyboru języka albo wersję międzynarodową. Nie jest obowiązkowa, ale Google zaleca ją jako stronę zapasową.
Co to oznacza dla Twojego biznesu?
Błędny hreflang nie usuwa strony z Google, ale kieruje klienta na wersję, w której nie kupi: w obcym języku, z obcą walutą albo z kosztami dostawy do innego kraju. Każda taka wizyta to ruch, za który płacisz pracą albo budżetem, bez szansy na sprzedaż. Przy sprzedaży na kilku rynkach poprawny hreflang to warunek, żeby klient z danego kraju trafiał na stronę, która może zamienić wizytę w zamówienie.
Jak wdrożyć hreflang: w HTML, w nagłówku HTTP czy w mapie witryny?
Hreflang wdrożysz na trzy sposoby, a dla Google są one równoważne. Wybierz ten, który najłatwiej utrzymać w Twoim systemie. Użycie wszystkich trzech naraz niczego nie dodaje, za to zwiększa ryzyko sprzecznych danych.
| Metoda | Gdzie | Kiedy wybrać |
|---|---|---|
| Znaczniki w HTML | elementy link w sekcji head każdej wersji | typowa strona albo sklep, gdy szablon sam generuje znaczniki |
| Nagłówek HTTP | nagłówek Link w odpowiedzi serwera | pliki inne niż HTML, np. PDF |
| Mapa witryny XML | elementy xhtml:link przy każdym adresie w mapie | duże serwisy z wieloma wersjami albo szablon, którego nie da się łatwo zmienić |
W mapie witryny każdy adres wymienia wszystkie wersje, łącznie z sobą, a plik deklaruje przestrzeń nazw xhtml. Przy wielu wersjach znaczniki w HTML wydłużają kod każdej strony: dziesięć wersji to dziesięć dodatkowych linii w sekcji head na każdej podstronie. Wtedy mapa witryny bywa wygodniejsza.
Niezależnie od metody hreflang powinien powstawać automatycznie, z tych samych danych, z których powstają strony. Ręcznie prowadzona lista szybko rozjeżdża się z serwisem, a każdy nieaktualny adres osłabia całe powiązanie.
Jakie błędy w hreflang zdarzają się najczęściej?
Większość błędów sprowadza się do dwóch rzeczy: wersje nie wskazują się nawzajem albo wskazują adresy, których Google i tak nie pokaże. Wtedy Google pomija powiązanie albo jego część.
- Brak linku zwrotnego. Wersja polska wskazuje niemiecką, a niemiecka nie wskazuje polskiej. Google ignoruje takie oznaczenie, co chroni przed sytuacją, w której obca strona ogłasza się wersją Twojej.
- Brak odwołania do samej siebie. Każda wersja wymienia również siebie.
- Złe kody. en-UK zamiast en-GB, sam kod kraju albo trzyliterowy kod języka, np. pol zamiast pl.
- Adresy, które nie trafią do wyników. Hreflang wskazuje stronę z przekierowaniem, błędem 404, znacznikiem noindex albo zablokowaną w robots.txt.
- Konflikt z adresem kanonicznym. Wersja niemiecka ma rel=canonical wskazujący wersję polską. Google zaleca canonical w tym samym języku, więc taki zapis podważa hreflang.
- Adresy względne. href="/de/" zamiast pełnego adresu z https.
- Hreflang tylko na stronie głównej. Oznaczenia łączą pary konkretnych stron, więc każda podstrona z odpowiednikiem potrzebuje własnego zestawu.
- Automatyczne przekierowanie według kraju albo języka przeglądarki. Google odradza takie przekierowania, bo utrudniają ludziom i robotom dotarcie do wszystkich wersji. Lepiej sprawdza się widoczny przełącznik języka z linkami do pozostałych wersji.
Jak sprawdzić, czy hreflang działa?
Hreflang sprawdzisz crawlerem albo ręcznie, bo Search Console nie ma już osobnego raportu. Google ogłosił 24 sierpnia 2022 roku, że raport kierowania międzynarodowego znika, a usunął go 22 września 2022 roku. Obsługa hreflang została, zniknęło tylko ustawienie kraju docelowego w Search Console.
- Otwórz kod źródłowy kilku stron w każdej wersji. Sprawdź, czy zestaw znaczników jest kompletny i wszędzie taki sam.
- Przeskanuj serwis crawlerem, np. Screaming Frog. Pokaże brakujące linki zwrotne, złe kody oraz hreflang prowadzący do adresów, które nie zwracają kodu 200.
- Jeśli hreflang siedzi w mapie witryny, sprawdź w Search Console, czy mapa została przetworzona bez błędów.
- W raporcie skuteczności Search Console przefiltruj kraj i zobacz, które adresy dostają wyświetlenia. Wersja de-DE, która zbiera wyświetlenia w Austrii, choć masz wersję de-AT, oznacza, że powiązanie nie działa.

Zdaniem eksperta ICEA
„Zanim dotkniemy znaczników, porównujemy trzy listy: adresy z hreflang, adresy zwracające kod 200 oraz adresy z canonicalem wskazującym na siebie. Najczęściej wychodzi wtedy, że hreflang prowadzi do starych adresów sprzed migracji albo do stron z przekierowaniem. Te poprawki robimy w pierwszej kolejności, bo dopóki ich nie ma, reszta oznaczeń nie działa.”
Aleksandra BieleckaSEO Specialist, ICEA.Od czego jeszcze zależy widoczność na wielu rynkach?
Hreflang wskazuje właściwą wersję, ale sam nie przyniesie ruchu w nowym kraju. Według dokumentacji Google kraj docelowy wynika z kilku sygnałów naraz: krajowej domeny (np. .de), lokalnego adresu i telefonu, języka i waluty, linków z lokalnych stron oraz Profilu Firmy w Google. Lokalizacja serwera ma znaczenie, ale nie rozstrzyga.
Inaczej podchodzi do tego Bing. W poradniku Bing Webmaster z marca 2011 roku jako sygnały języka i kraju wymienia meta tag content-language, atrybut lang oraz nagłówek HTTP, a hreflang nie wspomina. Jeśli Bing daje Ci ruch, ustaw w każdej wersji także atrybut lang.
Dlatego nowy rynek potrzebuje dobranych fraz i treści pisanych dla tamtejszego klienta, a nie samego tłumaczenia z oznaczeniem hreflang.
W modelu Search Ecosystem™ hreflang należy do technicznej podstawy Google Search. Każdy rynek to jednak osobna widoczność: własne frazy, własna konkurencja i własne zwyczaje zakupowe. Dlatego nowy rynek potrzebuje dobranych fraz i treści pisanych dla tamtejszego klienta, a nie samego tłumaczenia z oznaczeniem hreflang.
Co zrobić teraz?
Hreflang to niewielka zmiana w kodzie, która porządkuje to, co klient z danego kraju widzi w Google. Działa jednak tylko wtedy, gdy wszystkie wersje mówią to samo.
- Spisz wersje językowe i krajowe serwisu. Zdecyduj, czy potrzebujesz kodów krajów, czy wystarczą same języki.
- Wybierz jedną metodę: HTML, nagłówek HTTP albo mapę witryny.
- Ustaw generowanie hreflang z systemu, z odwołaniem do samej strony i linkami zwrotnymi.
- Dodaj x-default dla strony wyboru języka albo wersji międzynarodowej.
- Sprawdź adresy kanoniczne: każda wersja wskazuje siebie albo stronę w tym samym języku.
- Po wdrożeniu przeskanuj serwis i obserwuj w Search Console, które adresy zbierają wyświetlenia w poszczególnych krajach.
Co dalej: jeśli serwis ma już kilka wersji, a ruch z zagranicy trafia na złe strony, zacznij od skanu wszystkich wersji i listy rozbieżności między hreflang, kodami odpowiedzi a adresami kanonicznymi.
Źródła
- Google Search Central: informowanie Google o zlokalizowanych wersjach strony (aktualizacja 21.09.2026)
- Google Search Central: zarządzanie witrynami wielojęzycznymi i wieloregionalnymi (aktualizacja 10.12.2025)
- Google Search Central: konsolidowanie zduplikowanych adresów URL (aktualizacja 10.07.2026)
- Pomoc Google Search Console: raport kierowania międzynarodowego został wycofany
- Search Engine Land, 24.08.2022: Google Search Console to remove International Targeting report
- Bing Webmaster Blog, marzec 2011: How To Tell Bing Your Website's Country and Language
Najczęstsze pytania.
Czy hreflang może wskazywać stronę na innej domenie?
Tak. Wersje mogą leżeć na różnych domenach, np. example.pl i example.de, pod warunkiem że adresy są pełne, a obie strony wskazują się nawzajem.
Czy wielkość liter w kodzie hreflang ma znaczenie?
Nie. Google traktuje en-gb i en-GB tak samo. Przyjęło się pisać język małymi literami, a kraj wielkimi, bo taki kod łatwiej czytać.
Czy wystarczy przetłumaczyć menu, żeby użyć hreflang?
Nie. Google uznaje wersje językowe za duplikaty, gdy główna treść strony pozostaje nieprzetłumaczona. Hreflang ma sens dla stron, które naprawdę istnieją w danym języku.
Czy hreflang zastępuje przełącznik języka na stronie?
Nie. Hreflang czyta wyszukiwarka, a klient potrzebuje widocznego przełącznika z linkami do innych wersji. Google zaleca takie linki zamiast automatycznych przekierowań.



