Przejdź do treści
Hreflang w SEO: jak poprawnie wdrożyć i sprawdzić wersje językowe strony

Hreflang w SEO: jak poprawnie wdrożyć i sprawdzić wersje językowe strony

Opublikowano: 17 października 2026| Zaktualizowano: 17 października 2026

Przy wielu wersjach językowych sam przekład treści nie rozstrzyga, który adres pokazać użytkownikowi w wynikach wyszukiwania. Nieuporządkowane adresy, przekierowania i canonicale potrafią wysłać sprzeczne sygnały, nawet gdy każda wersja wygląda poprawnie dla odwiedzającego. Pokażemy, jak zmapować strony i skontrolować ich relacje przed publikacją oraz po zmianach.

Krótka odpowiedź

Hreflang to adnotacja, która pomaga Google dobrać stronę do języka lub regionu użytkownika. W każdej grupie wersji adresy powinny wskazywać siebie i wzajemnie swoje odpowiedniki, a wskazane strony powinny działać i być dostępne do indeksowania.

Hreflang można umieścić w HTML, mapie XML albo nagłówku HTTP. Przed publikacją sprawdź status HTTP, canonical i dyrektywy indeksowania dla każdego wskazanego URL-a.

Usługi KC Mobile

Potrzebujesz pomocy w tym temacie?

Czytasz poradnik „Hreflang w SEO: jak poprawnie wdrożyć i sprawdzić wersje językowe strony”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.

Czym jest hreflang i jaki problem rozwiązuje?

Hreflang pomaga Google określić, dla jakiego języka lub regionu przeznaczona jest konkretna strona. Adnotacja łączy adresy odpowiadające sobie treścią, na przykład polską stronę usługi z jej angielską wersją. Google traktuje ją jako jeden z sygnałów do wyboru wyniku, a nie gwarancję wyświetlenia wskazanego adresu.

Hreflang nie tłumaczy treści, ale jest mechanizmem kierowania strony na język lub region. Google wymienia hreflang jako metodę geotargetowania na poziomie strony, obok lokalnych adresów URL i map witryny. Język strony Google rozpoznaje również na podstawie widocznej treści, dlatego sam tag nie zastąpi tłumaczenia ani właściwego wariantu regionalnego. Dokumentacja Google Search Central opisuje te sygnały oraz różnice między witrynami wielojęzycznymi i wieloregionalnymi.

Google obsługuje trzy sposoby przekazania relacji: elementy HTML, mapę XML i nagłówki HTTP. Wybierz metodę, którą zespół może utrzymywać bez rozbieżności między źródłami danych. Planowanie całej struktury warto połączyć z poradnikiem zakładania strony internetowej, zwłaszcza gdy witryna dopiero powstaje.

Czytasz poradnik „Hreflang w SEO: jak poprawnie wdrożyć i sprawdzić wersje językowe strony”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny. Omów temat tego poradnika

Kiedy warto wdrożyć hreflang?

Wdrożenie ma sens, gdy te same typy stron mają osobne, dostępne adresy dla różnych języków lub rynków. Dotyczy to katalogów językowych, subdomen i osobnych domen, a także rozdzielonych wersji regionalnych, na przykład angielskiej dla Wielkiej Brytanii i Stanów Zjednoczonych. Google dopuszcza każdą z tych struktur, jeśli warianty mają stabilne URL-e.

Tabela porównuje typowe struktury adresów dla wersji językowych. Wybór zależy od sposobu zarządzania domenami, treścią i migracjami.

struktury adresów dla stron wielojęzycznych
Struktura adresówPrzykładKiedy ją rozważyć?
Katalog językowyexample.com/de/Wersje korzystają ze wspólnej domeny
Subdomenade.example.comJęzyk wymaga osobnego hosta
Osobna domenaexample.deFirma prowadzi oddzielne witryny rynkowe

Każda z tych struktur może obsługiwać hreflang, jeśli strony mają osobne adresy i odpowiadają sobie treścią. Przy wyborze domeny uwzględnij też kwestie marki i utrzymania opisane w materiale domena .pl czy .com.

Hreflang nie wnosi użytecznej informacji, gdy witryna ma jedną wersję, treść zmienia się pod tym samym URL-em zależnie od ciasteczka albo strony nie są odpowiednikami. Nie łącz pustej strony z istniejącym tłumaczeniem tylko po to, by wypełnić grupę. Z naszych wdrożeń wynika, że po zmianie struktury adresów częstym problemem są pozostawione relacje do starych URL-i.

Jak zmapować języki i adresy URL przed wdrożeniem?

Przed wdrożeniem przypisz każdemu URL-owi kod języka, opcjonalny region i adresy istniejących odpowiedników. Mapa wykrywa brakujące tłumaczenia, stare adresy oraz strony, które nie są rzeczywistymi odpowiednikami. Kod języka zapisuj jako `pl` lub `en`, a region dodawaj tylko dla odrębnej wersji rynku, na przykład `en-GB`.

Tabela pokazuje przykładową grupę strony usługi i selektora języka. `x-default` wskazuje adres domyślny dla użytkownika, którego języka witryna nie obsługuje.

przykładowa mapa wariantów językowych
Wersja stronyKod hreflangAdres kanonicznyWskazywane warianty
Strona polskaplhttps://example.com/pl/usluga/pl, en, x-default
Strona angielskaenhttps://example.com/en/service/pl, en, x-default
Wybór językax-defaulthttps://example.com/pl, en, x-default
Podstrona bez tłumaczenia-https://example.com/pl/cennik/pl

Strona bez tłumaczenia powinna wskazywać tylko istniejący wariant, czyli zwykle samą siebie w obrębie dostępnej grupy. Nie przypisuj jej strony głównej, jeśli ta nie jest odpowiednikiem treści. Google zaleca, aby każda wersja wymieniała siebie i dostępne alternatywy; pozostawione pary muszą wskazywać się wzajemnie.

Dla strony polskiej i angielskiej oznacza to, że polski URL wskazuje angielski, a angielski polski. `x-default` może prowadzić do selektora języka albo rzeczywiście domyślnej wersji. Przed publikacją zapisz w mapie również status strony i jej canonical, bo te dane pozwalają wykryć konflikty, których nie widać w samym tagu.

Jak poprawnie dodać tagi hreflang?

Dodaj hreflang w sekcji ``, mapie XML albo nagłówku HTTP. HTML sprawdza się przy typowych stronach, mapa XML ułatwia centralne zarządzanie dużą liczbą relacji, a nagłówek HTTP może opisywać pliki takie jak PDF. Google uznaje te metody za równoważne, więc wybierz jedną jako główne źródło konfiguracji.

Przykład polskiej, angielskiej i domyślnej wersji strony:

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

Używaj pełnych adresów z protokołem `https://`. Kod języka powinien odpowiadać standardowi ISO 639-1, a opcjonalny kod regionu standardowi ISO 3166-1 Alpha 2. Dla polskiej wersji bez rozdzielenia rynku wybierz `pl`; dla wersji przeznaczonej dla Wielkiej Brytanii wybierz `en-GB`.

Przed publikacją sprawdź następujące warunki:

  • Lista zawiera aktualny adres strony.
  • Kod opisuje rzeczywisty język i ewentualny region.
  • Każdy URL prowadzi do odpowiedniej treści.
  • Każda pozostawiona para zawiera wzajemne wskazania.
  • Adresy są pełne i używają docelowego protokołu HTTPS.

W mapie XML każda strona ma osobny wpis `` z listą alternatyw w elementach ``. Dla pliku innego niż HTML nagłówek `Link` przekazuje adresy i wartości `hreflang` całej grupy. Jeśli tworzysz nową witrynę i potrzebujesz zaplanować adresy oraz wersje językowe, strony internetowe dla firm mogą uwzględnić tę strukturę już na etapie projektu.

Porównanie pokazuje trzy miejsca dodania hreflang i pomaga dobrać metodę do rodzaju stron oraz sposobu zarządzania.

Jak sprawdzić hreflang w WordPressie i innych CMS?

W WordPressie sprawdź konfigurację wtyczki językowej, a następnie potwierdź wygenerowany kod źródłowy. WPML automatycznie dodaje i aktualizuje hreflang dla stron oraz tłumaczeń. Aby przypisać językowi wartość regionalną, przejdź do `WPML → Settings → Languages`, edytuj język i sprawdź pole hreflang.

Polylang generuje atrybuty na podstawie powiązań między wersjami językowymi. Filtr `pll_rel_hreflang_attributes` pozwala programistycznie modyfikować adresy i kody w sekcji ``, na przykład dodać `x-default`. Taką zmianę umieść w kodzie własnej wtyczki lub rozwiązaniu utrzymywanym przez zespół, a nie w pliku motywu, który może zostać nadpisany aktualizacją.

W każdym CMS otwórz opublikowaną stronę, wyświetl źródło i wyszukaj `rel="alternate"` oraz `hreflang`. Sprawdź również mapę XML, ponieważ wpisy mogą generować niezależnie wtyczka językowa, wtyczka SEO lub warstwa CDN. Ustawienie widoczne w panelu nie potwierdza, że kod odpowiedzi zawiera właściwe adresy.

Jakie błędy hreflang najczęściej blokują działanie?

Konfigurację najczęściej osłabia brak wzajemnego odnośnika, niepoprawny kod, niedziałający URL albo konflikt z canonicalem. Widoczny tag nie potwierdza, że wskazana strona działa i może być indeksowana. Kontroluj adres źródłowy, alternatywę oraz sygnały kanonikalizacji jako jeden zestaw.

Tabela łączy typowe objawy z działaniem naprawczym. Status HTTP, canonical i dostęp do indeksowania należy zweryfikować dla każdego wskazanego adresu.

błędy hreflang, objawy i poprawki
BłądJaki jest objaw?Jak poprawić?
Brak zwrotnego odnośnikaAlternatywa nie wymienia strony źródłowejDodaj wzajemne wskazanie w obu stronach
Niepoprawny kodWartość nie opisuje obsługiwanego języka lub regionuZastosuj poprawny kod, na przykład `pl` lub `en-GB`
Przekierowanie lub 404Wskazany URL nie pokazuje docelowej stronyZaktualizuj go do działającego adresu zwracającego kod 200
Canonical do innego językaWersja wskazuje preferowany adres w innym językuUstaw canonical na preferowany adres tej wersji
Niedostępna dyrektywa indeksowaniaStrona ma `noindex` widoczny dla robotaUsuń dyrektywę albo usuń URL z grupy
Blokada w robots.txtRobot nie może odczytać strony ani dyrektywUdostępnij URL do crawlowania i sprawdź właściwą dyrektywę

Blokada crawlowania w `robots.txt` nie jest blokadą indeksowania. Google może zaindeksować zablokowany URL na podstawie innych sygnałów, a jednocześnie nie odczyta z niego meta `noindex` ani nagłówka `X-Robots-Tag`. Do blokowania indeksowania użyj dostępnego dla robota `noindex` w meta robots lub nagłówku HTTP. Dokumentacja Google o blokowaniu indeksowania wyjaśnia, dlaczego URL z `noindex` nie może być jednocześnie zablokowany przed crawlowaniem.

Google zaleca canonical wskazujący preferowany adres w tym samym języku co strona. Hreflang opisuje relację między wersjami, a canonical konsoliduje sygnały dla adresów uznanych za duplikaty lub bardzo podobne. Gdy kilka wersji jest odrębnymi stronami regionalnymi, zweryfikuj, czy każda ma własny canonical.

Jak przetestować wdrożenie przed i po publikacji?

Testuj hreflang razem ze statusem HTTP, canonicalem i indeksowalnością, ponieważ poprawny tag może wskazywać stronę niedostępną dla robota. Próbkę zbuduj z najważniejszych typów stron, takich jak strona główna, kategoria i podstrona usługi w każdym języku. Po sprawdzeniu próbki uruchom pełny skan witryny crawlerem raportującym alternatywy, odpowiedzi serwera i dyrektywy indeksowania.

Dla każdego URL-a wykonaj tę samą procedurę:

1. Sprawdź, czy adres zwraca kod 200 i nie przekierowuje do innego wariantu.
2. Odczytaj `robots.txt`, meta robots i nagłówek `X-Robots-Tag`.
3. Odczytaj canonical i porównaj go z preferowanym adresem tej wersji.
4. Potwierdź, że strona wskazuje samą siebie i istniejące odpowiedniki.
5. Sprawdź, czy każda pozostawiona para ma wskazania zwrotne.
6. Porównaj wyniki z mapą URL-i i oznacz brakujące tłumaczenia.

Po migracji, zmianie struktury URL albo aktualizacji wtyczki uruchom kontrolę ponownie. Sprawdź stare adresy, docelowe przekierowania i zgodność języka strony po przekierowaniu. Migracja WordPressa powinna obejmować hreflang oraz przekierowania w ramach tej samej zmiany.

Jak mierzyć efekty i utrzymywać konfigurację?

Utrzymuj hreflang przez okresowy skan techniczny i aktualizację mapy po dodaniu języka, zmianie URL-a albo wycofaniu strony. Google Search Console pomaga sprawdzić indeksowanie adresów i wybrany canonical, ale inspekcja jednego URL-a nie potwierdza poprawności całej grupy. W crawlerze monitoruj brakujące pary, przekierowania, odpowiedzi błędów oraz strony z `noindex`.

Po dodaniu języka opublikuj działające strony, przypisz im rzeczywiste odpowiedniki i zaktualizuj wszystkie używane metody adnotacji. Po wycofaniu wersji usuń jej URL z kodu, mapy XML i nagłówków HTTP. Po zmianie adresu zaktualizuj hreflang, canonical, linki wewnętrzne i przekierowania w jednym wdrożeniu.

Perspektywa KC Mobile: w naszych wdrożeniach błędy hreflang często ujawniają się po zmianie adresów lub wycofaniu tłumaczenia. Zalecamy przechowywać mapę URL-i razem z dokumentacją wdrożenia i ponawiać skan po migracji oraz aktualizacji wtyczki. Kontekst planowania rynków zagranicznych opisujemy w poradniku SEO międzynarodowego.

Jeśli chcesz zlecić przygotowanie struktury witryny i jej wersji językowych, poznaj ofertę stron internetowych dla firm.

Schemat przedstawia utrzymanie hreflang po zmianie języka lub adresów, aby alternatywy pozostały spójne i dostępne.

Więcej poradników w tym temacie

Wspomniane narzędzia

Google Search CentralGoogle Search ConsoleWPMLPolylangcrawler SEO

Najczęściej zadawane pytania

Jak dodać hreflang do strony w WordPressie bez ręcznej edycji motywu?
Użyj WPML lub Polylang i przypisz tłumaczenia do właściwych stron. Potem sprawdź źródło HTML i mapę XML, aby potwierdzić pełne adresy, poprawne kody oraz wzajemne wskazania.
Czy hreflang musi działać w obie strony?
Tak, każda pozostawiona para musi wskazywać się wzajemnie. Jeśli polska strona wskazuje angielską, angielska powinna wskazywać polską.
Czy hreflang zastępuje canonical?
Nie. Canonical wskazuje preferowany adres strony, a hreflang opisuje relację między wariantami językowymi lub regionalnymi. Sprawdź, czy canonical nie prowadzi do nieodpowiedniej wersji.
Jaki kod hreflang wybrać dla polskiej wersji strony?
Użyj `pl`, jeśli strona jest przeznaczona dla osób posługujących się językiem polskim bez osobnego wariantu rynku. Region dodawaj tylko wtedy, gdy publikujesz odrębną wersję regionalną.
Jak sprawdzić błędy hreflang na stronie?
Sprawdź kod HTML albo mapę XML, status HTTP, canonical i dostępne dla robota dyrektywy indeksowania. Następnie zweryfikuj, czy każda pozostawiona para ma wskazania zwrotne.
Co zrobić, gdy podstrona nie ma jeszcze tłumaczenia?
Zostaw hreflang tylko dla istniejącego adresu i nie przypisuj fikcyjnego odpowiednika. `x-default` może wskazywać selektor języka lub inną rzeczywistą stronę domyślną.
#hreflang#SEO techniczne#SEO międzynarodowe#WordPress#strony wielojęzyczne#canonical#mapa XML#indeksowanie
Zdjęcie autora: Krzysztof Czapnik
O autorze

Krzysztof Czapnik

Founder & Technical Lead, KC Mobile

Projektuję i rozwijam strony WordPress, sklepy WooCommerce oraz aplikacje internetowe. Łączę projektowanie z programowaniem, integracjami i technicznym SEO. Projekty KC Mobile prowadzę osobiście.

Potrzebujesz pomocy z tym tematem? Napisz - odpowiem osobiście w 24h.

Potrzebujesz pomocy w tym temacie?

Czytasz poradnik „Hreflang w SEO: jak poprawnie wdrożyć i sprawdzić wersje językowe strony”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.