# Jak automatycznie dodać znaczniki hreflang w PrestaShop 8 i 9

> Hreflang nie podnosi strony, tylko zapobiega konkurowaniu twoich wersji i podaje właściwą właściwemu odwiedzającemu. Trzy zasady bezwzględne, wybór między językiem a językiem plus krajem i pięć błędów unicestwiających cały układ.

- Strona: <https://www.datafirefly.com/pl/2026/08/23/znaczniki-hreflang-prestashop/>
- Język: pl
- Opublikowano: 2026-08-23
- Zaktualizowano: 2026-08-24
- Inne języki: [fr](https://www.datafirefly.com/2026/08/23/balises-hreflang-prestashop/index.md), [en](https://www.datafirefly.com/en/2026/08/23/hreflang-tags-prestashop/index.md), [es](https://www.datafirefly.com/es/2026/08/23/etiquetas-hreflang-prestashop/index.md), [de](https://www.datafirefly.com/de/2026/08/23/hreflang-angaben-prestashop/index.md), [it](https://www.datafirefly.com/it/2026/08/23/tag-hreflang-prestashop/index.md), [nl](https://www.datafirefly.com/nl/2026/08/23/hreflang-tags-toevoegen-prestashop/index.md), [pt](https://www.datafirefly.com/pt/2026/08/23/tags-hreflang-prestashop/index.md)
- Indeks: <https://www.datafirefly.com/pl/2026/llms.txt>

W sklepie wielojęzycznym ta sama karta produktu istnieje w pięciu wersjach. Bez wskazówki wyszukiwarka widzi pięć podobnych stron, wybiera jedną na zapytanie i może spokojnie podać wersję hiszpańską niemieckiemu odwiedzającemu. Znaczniki hreflang istnieją po to, żeby temu zapobiec.

Są źle rozumiane, często źle wystawione, a PrestaShop nie generuje ich natywnie w pełni.

## Co hreflang robi, a czego nie

Użyteczne doprecyzowanie przed jakąkolwiek konfiguracją. Hreflang nie podnosi strony w wynikach. To sygnał dopasowania, nie jakości.

Co daje konkretnie: wskazuje, którą wersję podać zależnie od języka i regionu odwiedzającego, oraz grupuje wersje ze sobą, żeby nie konkurowały. Niemiecka strona dobrze notowana w Niemczech zachowuje pozycję, a odwiedzający z Francji dostaje wersję francuską zamiast tej samej strony po niemiecku.

W serwisie, którego wszystkie wersje są w tym samym języku, na przykład niemiecki dla Niemiec i niemiecki dla Austrii, hreflang jest jedynym sposobem, by pokazać, do jakiej publiczności każda z nich się zwraca.

## Trzy zasady bezwzględne

Wdrożenie hreflang jest poprawne albo nie jest. Nie ma półśrodków, a trzy zasady warunkują wszystko.

1. **Wzajemność.** Jeśli strona francuska wskazuje na niemiecką, niemiecka musi wskazywać na francuską. Odwołanie niewzajemne jest ignorowane. To pierwsza przyczyna niepowodzeń.
2. **Samoodwołanie.** Każda strona musi zadeklarować samą siebie na liście. Strona francuska wymieniająca tylko niemiecki i hiszpański jest niekompletna.
3. **Spójność ze znacznikiem kanonicznym.** Każda strona musi mieć kanoniczny wskazujący na nią samą. Kanoniczny wskazujący na inną wersję unicestwia cały układ, bo mówi wyszukiwarce, że ta strona nie jest właściwa.

Dodajmy ograniczenie formatu: kod języka według normy ISO 639-1, opcjonalny kod kraju według ISO 3166-1. „pl" jest poprawne, „pl-PL" też, „pl-pl" jest tolerowane, ale „pl-EU" nie, bo Unia Europejska nie jest krajem.

## Język albo język plus kraj

Wybór strukturalny zależny od twojego modelu.

Jeśli sprzedajesz ten sam katalog na tych samych warunkach wszystkim niemieckojęzycznym, wystarczy zwykłe „de". Jeśli masz sklep niemiecki i austriacki z innymi cenami i kosztami wysyłki, potrzebujesz „de-DE" i „de-AT".

Drugi przypadek jest mocniejszy i bardziej kruchy: zwielokrotnia liczbę relacji do utrzymania. Trzy języki i cztery kraje dają dwanaście wersji, czyli sto trzydzieści dwie wzajemne relacje do utrzymania w porządku.

## Gdzie umieścić znaczniki

Trzy możliwe miejsca, jedno wystarczy i nie należy ich mieszać.

**W nagłówku HTML strony.** Najczęstsze, najłatwiejsze do sprawdzenia i najbardziej obciążające, gdy masz dwanaście wersji: dwanaście dodatkowych linii na każdej stronie.

**W mapie witryny XML.** Lżejsze po stronie strony i praktyczne przy dużej liczbie wersji. W zamian błąd jest mniej widoczny, a plik rośnie.

**W nagłówkach HTTP.** Zarezerwowane dla plików innych niż HTML, typowo wielojęzycznych PDFów.

## Znacznik x-default

Wskazuje stronę do podania, gdy żadna wersja nie odpowiada językowi odwiedzającego. Odwiedzający z Japonii w serwisie francuskim, angielskim i niemieckim musi gdzieś wylądować.

Dwa poprawne zastosowania: wskazywać wersję angielską albo stronę wyboru kraju. Zastosowanie niepoprawne i częste: wskazywać wersję francuską, deklarując ją zarazem jako „fr". Strona może łączyć obie role, ale deklaracja musi być wyraźna.

## Najczęstsze błędy

- **Hreflang do strony nieprzetłumaczonej.** Karta istnieje w przełączniku języków, ale jej treść została w języku wyjściowym. Wyszukiwarka stwierdza, że obie strony są identyczne, i przestaje ufać całości deklaracji.
- **Hreflang do przekierowania.** Zadeklarowany adres zwraca kod 301. Odwołanie jest ignorowane.
- **Hreflang do strony zablokowanej.** Adres jest zabroniony w pliku robots albo nosi znacznik noindex. Bezpośrednia sprzeczność.
- **Deklaracja częściowa.** Objęte są tylko strony główne, a nie karty ani kategorie. To przypadek najbardziej rozpowszechniony i nie daje właściwie nic.
- **Produkty wyłączone w jednym języku.** Pozycja sprzedawana w Polsce, ale nie w Hiszpanii, łamie wzajemność, jeśli deklaracja nadal wskazuje nieistniejącą stronę.

## Przypadek PrestaShop

Współistnieją dwie architektury i nie wymagają tego samego traktowania.

Przy **prostej wielojęzyczności**, jeden sklep i kilka języków, adresy różnią się prefiksem języka. Relacje łatwo ustalić, bo każdy produkt ma jeden identyfikator wspólny wszystkim swoim tłumaczeniom.

Przy **wielosklepie**, jeden sklep na kraj z odrębnymi domenami, odpowiedniość przestaje być automatyczna. Produkt może mieć różne identyfikatory w różnych sklepach albo istnieć w jednym i nie istnieć w drugim. To tam generowanie ręczne staje się niewykonalne.

## Kontrola

Trzy weryfikacje, w tej kolejności. Kod źródłowy karty produktu, żeby zobaczyć faktycznie obecne znaczniki. Raport kierowania międzynarodowego w Search Console, który zgłasza błędy wzajemności i nieprawidłowe kody. Oraz kontrola próbki na około dwudziestu losowo wybranych stronach, bo błędy rzadko skupiają się na stronie głównej.

generuje te znaczniki automatycznie w PrestaShop 8 i 9: objęcie wszystkich stron, a nie tylko głównej, obsługa wielosklepu i odpowiedniości między domenami, konfigurowalny x-default oraz wykluczenie produktów niedostępnych w danej wersji.
