Hreflang PrestaShop na przykładzie: czy wersje językowe dobrze na siebie wskazują

Hreflang w PrestaShop to znaczniki w nagłówku strony, które mówią Google, że ta sama strona istnieje w innych językach i pod jakim adresem. Działają, gdy każda wersja wskazuje wszystkie pozostałe i siebie, każdy adres odpowiada kodem 200, a canonical wskazuje własny język. Sprawdzisz to w kodzie strony albo w rozmowie z Claude'em.

Autor: Zespół TellMyShop. Piszemy o PrestaShop na podstawie pracy z zapleczem prawdziwych sklepów i testów na własnym sklepie testowym.
Aktualizacja: · 5 min czytania

Jak hreflang działa w sklepie z trzema językami?

Najprościej pokazać to na przykładzie. Weźmy sklep z lampami w trzech językach i jeden produkt, Lampion Nora. Adresy i nazwy są przykładowe.

WersjaAdres produktuCanonicalHreflang na tej stronie
polska/pl/lampiony/215-lampion-nora.htmladres polskipl, en, de
angielska/en/lanterns/215-nora-lantern.htmladres angielskipl, en, de
niemiecka/de/laternen/215-laterne-nora.htmladres niemieckipl, en, de

Każda z trzech stron ma ten sam zestaw trzech odnośników, w tym odnośnik do siebie. Canonical każdej strony wskazuje jej własny adres, a nie wersję polską. Tak opisuje to Google w poradniku o lokalizowanych wersjach stron: zestaw odnośników ma być identyczny na każdej wersji.

W kodzie strony wygląda to mniej więcej tak:

<link rel="canonical" href="https://sklep.pl/en/lanterns/215-nora-lantern.html">
<link rel="alternate" href="https://sklep.pl/pl/lampiony/215-lampion-nora.html" hreflang="pl-pl">
<link rel="alternate" href="https://sklep.pl/en/lanterns/215-nora-lantern.html" hreflang="en-us">
<link rel="alternate" href="https://sklep.pl/de/laternen/215-laterne-nora.html" hreflang="de-de">

PrestaShop bierze kody języków z ustawień w Międzynarodowe → Lokalizacja → Języki. Jeśli sprzedajesz do Wielkiej Brytanii, a angielski ma kod en-us, Google dostaje informację, że ta wersja jest dla Amerykanów. Warto to sprawdzić przy okazji.

Co najczęściej psuje hreflang w PrestaShop?

Znaczniki zwykle są, ale wskazują coś, czego Google nie przyjmie. Pięć sytuacji, które widać w sklepach najczęściej:

Canonical wskazuje inny język. Moduł SEO albo ręczna poprawka w motywie ustawia canonical wszystkich wersji na adres polski. Google dostaje sprzeczne sygnały: hreflang mówi „to osobne wersje”, canonical mówi „to kopia polskiej”. Zwykle wygrywa canonical i wersje obce znikają z wyników.

Odnośnik prowadzi do przekierowania albo 404. Produkt jest wyłączony w jednej wersji językowej albo zmieniłeś jego adres tylko po polsku. Zmiany adresu opisujemy w tekście o zmianie adresu produktu.

Brakuje treści w języku. Angielska wersja ma przetłumaczone menu, a opis produktu zostaje po polsku. Google pisze wprost, że wersje są duplikatami, gdy główna treść nie jest przetłumaczona. Co i w jakiej kolejności tłumaczyć, pokazuje tekst o tłumaczeniu sklepu PrestaShop.

Moduł przekierowuje według przeglądarki albo kraju. Klient z Niemiec trafia od razu na wersję niemiecką. Robot Google, który przychodzi z innymi ustawieniami, może nigdy nie zobaczyć pozostałych wersji.

Motyw nie ma znaczników albo ma je podwójnie. Kupiony motyw usuwa blok z nagłówka, a moduł SEO dodaje własne odnośniki. Na stronie są wtedy dwa zestawy, czasem z różnymi kodami języków.

Jak sprawdzić hreflang krok po kroku?

Sprawdź po jednej stronie z każdego typu: stronę główną, kategorię i produkt. Problemy zwykle powtarzają się w całym typie stron.

  1. Otwórz produkt w polskiej wersji i wyświetl źródło strony (w większości przeglądarek Ctrl+U).
  2. Wyszukaj tekst hreflang. Zapisz, ile jest odnośników i jakie mają kody języków.
  3. Wyszukaj canonical. Adres powinien być taki sam jak adres strony, którą oglądasz.
  4. Otwórz każdy adres z odnośników hreflang. Każdy powinien się wyświetlić bez przekierowania.
  5. Na stronie w innym języku powtórz kroki 2 i 3. Zestaw odnośników ma być taki sam.
  6. Sprawdź, czy treść strony w obcym języku jest naprawdę przetłumaczona, a nie tylko menu.

Przy większym sklepie ręczne sprawdzanie zajmuje dużo czasu, więc warto zacząć od stron, które mają ruch z zagranicy. Zasady łączenia wersji językowych opisuje też pomoc Google o lokalizowanych wersjach, a typowe błędy w sklepach PrestaShop zebrał poradnik MyPresta o hreflang.

Czy osobne domeny dla języków działają tak samo?

Zasada jest ta sama, ale PrestaShop pomaga mniej. Gdy wersja niemiecka działa jako osobny sklep w trybie wielu sklepów, na przykład pod domeną .de, każdy sklep ma własną listę języków. Motyw tworzy odnośniki tylko do języków danego sklepu, więc strona polska zwykle nie wskaże niemieckiej domeny, a niemiecka polskiej.

W takim układzie są dwie drogi. Pierwsza to moduł, który łączy produkty między sklepami i wypisuje wspólny zestaw odnośników. Druga to mapa strony z odnośnikami hreflang, którą Google też przyjmuje. Obie wymagają, żeby produkty w obu sklepach dało się jednoznacznie sparować, na przykład po tym samym ID albo indeksie. Zanim zaczniesz, sprawdź na kilku produktach, czy pary się zgadzają, bo błędna para jest gorsza niż jej brak.

Jak Claude sprawdzi wersje językowe w twoim sklepie?

Prosisz o sprawdzenie kilku stron w kilku językach. Claude otwiera każdą z nich tak, jak widzi ją Google, i zestawia wyniki w tabeli: kod odpowiedzi, przekierowania, canonical, pary hreflang i meta robots.

Ty

Sprawdź, czy wersje pl, en i de produktu Lampion Nora dobrze na siebie wskazują.

Claude

Wersje polska i niemiecka są w porządku. W angielskiej canonical wskazuje adres polski, więc Google może uznać ją za kopię.

Claude

Opis produktu w wersji angielskiej jest po polsku. Proponuję tłumaczenie:

było: Lampion z kutego metalu, wysokość 40 cm, do ogrodu i na taras.

będzie: Wrought metal lantern, 40 cm tall, for the garden and the patio.

Claude

Canonical ustawia moduł SEO w nagłówku strony. To zmiana w ustawieniach modułu, nie w produkcie.

Ty

Zapisz tłumaczenie. Canonical sprawdzimy w module jutro.

Claude

Zapisane w wersji angielskiej. Zmiana jest w historii zmian.

Ilustracja: produkty, liczby i odpowiedzi są przykładowe.

Wartości w przykładzie są przykładowe. W twoim sklepie Claude pokaże dane z twoich stron.

W darmowej wersji TellMyShop Free Claude sprawdzi strony we wszystkich językach i powie, co jest nie tak, ale niczego nie zapisze. Przykład takiej prośby jest w zastosowaniu sprawdzenie, czy wersje językowe wskazują na siebie.

W TellMyShop Pro tłumaczenia opisów, kategorii, stron i meta zapisują się od razu po aktywacji licencji, z podglądem i zgodą. Większość zmian cofniesz z historii zmian. Ustawienia modułu SEO zmienisz po włączeniu przełącznika Moduły, a blok znaczników w szablonie motywu po włączeniu przełącznika Motyw. Oba działają 24 godziny i wymagają dzisiejszej kopii bazy danych. Tłumaczenie całego sklepu warstwa po warstwie opisuje zastosowanie tłumaczenie całego sklepu, a plany są w cenniku.

Pytania i odpowiedzi

Czy PrestaShop sam dodaje znaczniki hreflang?

Motyw Classic dodaje w nagłówku strony odnośnik do każdej włączonej wersji językowej. Motywy kupione osobno mogą robić to inaczej albo wcale. Dlatego zawsze sprawdź kod jednej strony w swoim sklepie, zamiast zakładać, że jest dobrze.

Czy nieprzetłumaczona wersja językowa to duplikat?

Tak, jeśli główna treść strony zostaje po polsku. Google traktuje wersje językowe jako duplikaty wtedy, gdy różnią się tylko menu i przyciskami. Przetłumacz najpierw opisy produktów i kategorii, które mają ruch.

Co to jest x-default i czy go potrzebuję?

To wskazanie strony dla osób, których języka sklep nie obsługuje, na przykład strony z wyborem języka albo wersji angielskiej. Nie jest obowiązkowe. Przydaje się, gdy sklep sprzedaje za granicę w kilku językach.

Czy automatyczne przekierowanie według języka przeglądarki szkodzi?

Może. Robot Google przychodzi zwykle bez polskich ustawień i po przekierowaniu widzi tylko jedną wersję sklepu. Lepiej pokazać klientowi propozycję zmiany języka i zostawić mu wybór.

Czy TellMyShop Free sprawdzi hreflang?

Tak. Darmowa wersja TellMyShop Free otwiera strony sklepu tak, jak widzi je Google, i pokazuje kod odpowiedzi, canonical oraz pary hreflang. Poprawki w tłumaczeniach i w szablonie motywu zapisuje TellMyShop Pro.

PrestaShop jest zastrzeżonym znakiem towarowym PrestaShop SA. Claude jest znakiem towarowym Anthropic. TellMyShop nie jest powiązany z żadną z tych firm.

Moduł startuje 29 października

Zapisz się na listę. Cenę Founders, 599 zł netto z aktualizacjami na zawsze, dostaniesz 72 godziny przed innymi.

Kilka wiadomości przed startem. Wypiszesz się jednym kliknięciem. Polityka prywatności

Przeczytaj też