Błędy hreflang i jak je naprawić
Linki hreflang działają tylko jako pełny zestaw. Tu znajdziesz błędy, które najczęściej psują taki zestaw, oraz to, jak je znaleźć i naprawić.
Dlaczego drobne błędy psują hreflang
Linki hreflang mówią wyszukiwarkom, które strony są wersjami tej samej treści w innych językach lub dla innych regionów. Każda wersja musi potwierdzać pozostałe. Jeden błędny kod, jeden brakujący link zwrotny albo jedna wersja, która przekierowuje, mogą wystarczyć, żeby część zestawu została zignorowana. Jak w ogóle założyć wersje językowe i ich adresy, opisuje nasz poradnik Tłumaczenie strony. Ten poradnik dotyczy błędów, które zostają potem.
Jak sprawdzić zestaw
Zacznij od jednej strony, zbierz jej linki hreflang, a potem otwórz każdą wersję, którą ona podaje. Dopiero wtedy widać, czy wersje do siebie pasują.
Błąd 1: brakuje linków zwrotnych
To pierwszy punkt na liście typowych błędów, którą publikuje Google. Jeśli strona A podaje stronę B jako wersję niemiecką, strona B musi też podawać stronę A. Google pisze, że tagi są ignorowane, jeśli dwie strony nie wskazują na siebie nawzajem. Dzieje się tak, gdy nowy język trafia tylko na część stron albo gdy każdy język jest w osobnym systemie. Rozwiązanie: zbuduj blok linków hreflang z jednej listy wszystkich wersji i umieść ten sam blok na każdej stronie zestawu.
Błąd 2: błędne kody języka lub regionu
- en-UK zamiast en-GB. Kod ISO Zjednoczonego Królestwa to GB. Google pisze, że zarezerwowane kody, takie jak UK, EU czy UN, nie mają w hreflang żadnego skutku.
- Sam kod kraju, na przykład us albo jp. Google nie przyjmuje regionu bez języka. Kod języka japońskiego to ja, więc strona dla Japonii używa ja lub ja-JP.
- Kraj wzięty za język. Przykład podany przez Google: be to kod języka białoruskiego, a nie Belgii. Strona po francusku dla Belgii używa fr-BE.
- Podkreślnik, jak w en_GB. Według W3C części znacznika języka oddziela się łącznikiem.
- Kody poprawne gdzie indziej, ale nie dla Google. es-419 oznacza hiszpański w Ameryce Łacińskiej i według W3C jest poprawnym znacznikiem języka, ale Google pisze, że go nie obsługuje.
- en-UK
- jp (kraj, a nie język)
- be dla Belgii (be to białoruski)
- en_GB (podkreślnik)
- es-419 (Google go nie obsługuje)
- en-GB
- ja lub ja-JP
- fr-BE lub nl-BE
- en-GB (łącznik)
- es albo jeden kod na kraj, np. es-MX
Błąd 3: strona nie podaje samej siebie
Google pisze, że każda wersja językowa musi podawać samą siebie i wszystkie inne wersje. Stronie, która wymienia tylko pozostałe języki, brakuje własnego wpisu. Jedna z możliwych przyczyn: ta sama pętla buduje też przełącznik języków, a on często ukrywa aktywny język. Rozdziel jedno od drugiego: przełącznik może ukrywać bieżący język, blok hreflang nie.
Błąd 4: brak x-default albo niespójny x-default
x-default to zarezerwowana wartość. Google używa jej, gdy żaden inny język ani region nie pasuje do ustawień przeglądarki odwiedzającego, i zaleca ją jako wariant zapasowy, na przykład dla strony, na której odwiedzający wybierają język. Nie musisz jej używać. Jeśli jej używasz, to raz na zestaw, z tym samym wpisem na każdej stronie i z celem, który pasuje dla odwiedzających z dowolnego miejsca, na przykład stroną wyboru języka albo główną wersją. Typowe błędy: x-default różny na różnych stronach, dwa wpisy x-default w jednym zestawie albo cel, który przekierowuje odwiedzających według lokalizacji.
Błąd 5: canonical wskazuje inny język
Tag canonical mówi, który adres jest główną wersją spośród duplikatów strony. Google radzi wskazywać stronę kanoniczną w tym samym języku albo w najlepszym możliwym języku zastępczym, jeśli w danym języku nie ma strony kanonicznej. Jeśli niemiecka strona podaje angielską jako canonical, sygnały sobie przeczą: hreflang mówi, że strona niemiecka jest osobną wersją, a canonical mówi, że jest kopią angielskiej. Rozwiązanie: każda wersja językowa podaje samą siebie jako canonical, a wersje są połączone przez hreflang.
Błąd 6: linki do przekierowań, stron z noindex lub błędów
- Przekierowania. Link hreflang do adresu, który przekierowuje, podaje adres, który nie jest samą stroną. Google traktuje przekierowanie jako silny sygnał, że jego cel powinien być adresem kanonicznym. Podawaj adres docelowy. Gorzej, jeśli wersja przekierowuje na inną wersję językową, bo wtedy dwa kody prowadzą na tę samą stronę.
- noindex. Strona z noindex nie trafia do wyszukiwarki Google, więc link hreflang do niej wskazuje wersję, która nie może się pojawić. Usuń noindex albo usuń tę stronę z zestawu na każdej stronie.
- Błędy. Wersja, która odpowiada kodem 404 lub błędem serwera, nie może potwierdzić zestawu. Przywróć ją albo usuń z bloku na każdej stronie.
Mniejsze błędy, które łatwo przeoczyć
- Prawie takie same adresy. http i https, z www i bez, z ukośnikiem na końcu i bez to różne adresy. Link zwrotny musi podawać dokładnie adres strony.
- Adresy względne, takie jak /pl/cennik/. Google wymaga pełnych adresów razem z https://.
- Kilka sposobów, które sobie przeczą. Dla Google elementy link w HTML, nagłówek HTTP i mapa witryny są równoważne, a więcej niż jeden sposób nie daje korzyści w wyszukiwarce. Używaj jednego sposobu.
Naprawiaj we właściwej kolejności
- 1Zrób jedną listę wszystkich wersji strony: kod i dokładny adres docelowy.
- 2Sprawdź każdy adres: status 200, bez przekierowania, bez noindex, canonical wskazujący na siebie.
- 3Zbuduj blok hreflang z tej listy, z odwołaniem do siebie i, jeśli chcesz, jednym x-default.
- 4Umieść ten sam blok na każdej stronie zestawu, jednym sposobem.
- 5Sprawdź zestaw ponownie po każdej przebudowie strony i każdym nowym języku. Zacznij od najczęściej odwiedzanych stron (to nasza rada, a nie zasada Google).
Sprawdź hreflang z Do4U
Sprawdzanie hreflang wykonuje te kroki dla jednej strony i wszystkich jej wersji. Wpisujesz jeden adres. Do4U czyta stronę, zbiera jej linki hreflang, a potem czyta każdą podaną wersję. Kod sprawdza linki zwrotne i odwołania do siebie, kody języków i regionów, x-default i duplikaty oraz to, czy każda wersja jest dostępna bez przekierowania, nie ma noindex, podaje właściwy canonical i ma pasujący html lang. Dostajesz listę stron z błędami i ostrzeżeniami, krótkie wyjaśnienie do każdego wyniku i macierz linków zwrotnych. Działa bez AI i jest za darmo, z dziennym limitem na konto.
Narzędzie czyta tylko elementy link w HTML. Nie czyta hreflang w nagłówkach HTTP ani w mapach witryny i nie uruchamia JavaScriptu. Do4U znajduje wskazówki, a ty sprawdzasz i decydujesz. Poprawne linki hreflang nie obiecują lepszych pozycji.
Źródła
- Google Search Central: informowanie Google o zlokalizowanych wersjach strony (strona zaktualizowana 21 września 2026 r., po angielsku) (developers.google.com)
- Google Search Central: jak wskazać kanoniczny adres URL (strona zaktualizowana 10 lipca 2026 r., po angielsku) (developers.google.com)
- W3C Internationalization: wybór znacznika języka (po angielsku) (www.w3.org)