PrestaShop hreflang met een voorbeeld: verwijzen je taalversies goed naar elkaar
Hreflang-tags in PrestaShop staan in de head van de pagina en vertellen Google dat dezelfde pagina in andere talen bestaat, en waar. Ze werken als elke versie naar alle andere en naar zichzelf verwijst, elk adres een 200-code geeft en de canonical naar de eigen taal wijst. Je controleert dat in de code van de pagina of in een gesprek met de chat.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van PrestaShop-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 6 min lezen
Hoe werkt hreflang in een webshop met drie talen?
Het is het makkelijkst te laten zien met een voorbeeld. Neem een lampenwinkel in drie talen en één product, de lantaarn Nora. De adressen en namen zijn voorbeelden.
| Versie | Product-URL | Canonical | Hreflang op deze pagina |
|---|---|---|---|
| Pools | /pl/lampiony/215-lampion-nora.html | de Poolse URL | pl, en, de |
| Engels | /en/lanterns/215-nora-lantern.html | de Engelse URL | pl, en, de |
| Duits | /de/laternen/215-laterne-nora.html | de Duitse URL | pl, en, de |
Elk van de drie pagina’s heeft dezelfde set van drie links, inclusief een link naar zichzelf. De canonical van elke pagina wijst naar het eigen adres, niet naar de Poolse versie. Zo beschrijft Google het in zijn handleiding over gelokaliseerde versies van pagina’s: de set links moet op elke versie identiek zijn.
In de code van de pagina ziet het er ongeveer zo uit:
<link rel="canonical" href="https://shop.example/en/lanterns/215-nora-lantern.html">
<link rel="alternate" href="https://shop.example/pl/lampiony/215-lampion-nora.html" hreflang="pl-pl">
<link rel="alternate" href="https://shop.example/en/lanterns/215-nora-lantern.html" hreflang="en-us">
<link rel="alternate" href="https://shop.example/de/laternen/215-laterne-nora.html" hreflang="de-de">
PrestaShop haalt de taalcodes uit de instellingen onder Internationaal → Lokalisatie → Talen. Verkoop je aan het Verenigd Koninkrijk maar heeft Engels de code en-us, dan krijgt Google te horen dat deze versie voor Amerikanen is. Het loont om dat meteen te controleren.
Wat breekt hreflang in PrestaShop het vaakst?
De tags staan er meestal wel, maar ze wijzen naar iets wat Google niet accepteert. Vijf situaties komen in webshops het vaakst voor:
De canonical wijst naar een andere taal. Een SEO-module of een handmatige verbetering in het thema zet de canonical van elke versie op de Poolse URL. Google krijgt tegenstrijdige signalen: hreflang zegt “dit zijn aparte versies”, de canonical zegt “dit is een kopie van de Poolse”. Meestal wint de canonical en verdwijnen de buitenlandse versies uit de resultaten.
Een link leidt naar een redirect of een 404. Het product is in één taalversie uitgeschakeld, of je hebt de URL in maar één taal gewijzigd. URL’s wijzigen bespreken we in het bericht over het wijzigen van een product-URL.
Inhoud ontbreekt in een taal. De Engelse versie heeft een vertaald menu, maar de productbeschrijving blijft in het Pools. Google zegt duidelijk dat versies duplicaten zijn als de hoofdinhoud niet is vertaald. Het bericht over een PrestaShop-webshop vertalen laat zien wat je vertaalt en in welke volgorde.
Een module verwijst door op browser of land. Een klant uit Duitsland gaat meteen naar de Duitse versie. De crawler van Google, die met andere instellingen komt, ziet de andere versies misschien nooit.
Het thema heeft geen tags, of heeft ze dubbel. Een gekocht thema haalt het blok uit de head, en een SEO-module voegt eigen links toe. De pagina heeft dan twee sets, soms met verschillende taalcodes.
Zo controleer je hreflang stap voor stap
Controleer één pagina van elk type: de homepage, een categorie en een product. Problemen herhalen zich meestal in het hele paginatype.
- Open een product in de Poolse versie en bekijk de broncode van de pagina (Ctrl+U in de meeste browsers).
- Zoek op de tekst
hreflang. Noteer hoeveel links er zijn en welke taalcodes ze hebben. - Zoek op
canonical. Het adres moet hetzelfde zijn als de pagina die je bekijkt. - Open elk adres uit de hreflang-links. Elk moet laden zonder redirect.
- Herhaal op een pagina in een andere taal stap 2 en 3. De set links moet hetzelfde zijn.
- Controleer of de inhoud van de pagina in de vreemde taal echt is vertaald, niet alleen het menu.
In een grotere webshop kost controleren met de hand veel tijd, dus begin bij pagina’s die verkeer uit het buitenland krijgen. De hulp van Google over gelokaliseerde versies beschrijft ook de regels voor het koppelen van taalversies, en de handleiding van MyPresta over hreflang verzamelt typische fouten in PrestaShop-webshops.
Werken aparte domeinen per taal op dezelfde manier?
Het principe is hetzelfde, maar PrestaShop helpt minder. Draait de Duitse versie als aparte winkel in multistore-modus, bijvoorbeeld op een .de-domein, dan heeft elke winkel een eigen talenlijst. Het thema maakt alleen links naar de talen van die winkel, dus de Poolse pagina wijst meestal niet naar het Duitse domein, en de Duitse niet naar het Poolse.
In die opzet zijn er twee routes. De eerste is een module die producten tussen winkels koppelt en een gedeelde set links toont. De tweede is een sitemap met hreflang-links, die Google ook accepteert. Beide vereisen dat producten in beide winkels eenduidig te koppelen zijn, bijvoorbeeld via hetzelfde ID of dezelfde referentie. Controleer voor je begint op een paar producten of de paren kloppen, want een verkeerd paar is erger dan geen.
Hoe controleert de chat de taalversies in je webshop?
Je vraagt hem een paar pagina’s in een paar talen te controleren. Je chat (Claude of ChatGPT) met de TellMyShop-module opent elke pagina zoals Google haar ziet en zet de resultaten in een tabel: responscode, redirects, canonical, hreflang-paren en meta robots.
Jij: Controleer of de versies pl, en en de van de lantaarn Nora goed naar elkaar verwijzen.
Je chat: De Poolse en de Duitse versie zijn in orde. In de Engelse wijst de canonical naar de Poolse URL, dus Google kan haar als kopie behandelen.
Je chat: De productbeschrijving in de Engelse versie is in het Pools. Ik stel deze vertaling voor:
Je chat: De canonical wordt in de head van de pagina gezet door de SEO-module. Dat is een wijziging in de module-instellingen, niet in het product.
Jij: Sla de vertaling op. De canonical in de module bekijken we morgen.
Je chat: Opgeslagen in de Engelse versie. De wijziging staat in de wijzigingsgeschiedenis.
oude versie: Lampion z kutego metalu, wysokość 40 cm, do ogrodu i na taras.
nieuwe versie: Wrought metal lantern, 40 cm tall, for the garden and the patio.
De waarden in het voorbeeld zijn ter illustratie. In jouw webshop toont de chat de gegevens van jouw pagina’s.
In de gratis versie TellMyShop Free controleert de chat pagina’s in elke taal en vertelt hij wat er mis is, maar slaat hij niets op. Een voorbeeld van dit verzoek staat in de use case controleren of taalversies naar elkaar verwijzen.
In TellMyShop Pro worden vertalingen van beschrijvingen, categorieën, pagina’s en metagegevens opgeslagen zodra de licentie is geactiveerd, met een voorbeeld en jouw akkoord. Elke wijziging kun je ongedaan maken vanuit de wijzigingsgeschiedenis. De instellingen van de SEO-module wijzig je zodra de schakelaar Modules aanstaat, en het blok met tags in het thematemplate zodra de schakelaar Thema aanstaat. Beide werken 24 uur en vereisen een databaseback-up van vandaag. De hele webshop laag voor laag vertalen staat in de use case de hele webshop vertalen, en de pakketten staan op de pagina prijzen.
Vragen en antwoorden
Voegt PrestaShop zelf hreflang-tags toe?
Het thema Classic voegt in de head van de pagina een link toe naar elke ingeschakelde taalversie. Apart gekochte thema’s kunnen het anders doen of helemaal niet. Controleer dus altijd de code van één pagina in je eigen webshop in plaats van aan te nemen dat het goed zit.
Is een niet-vertaalde taalversie een duplicaat?
Ja, als de hoofdinhoud van de pagina in de oorspronkelijke taal blijft. Google behandelt taalversies als duplicaten als alleen het menu en de knoppen verschillen. Vertaal eerst de beschrijvingen van producten en categorieën die verkeer krijgen.
Wat is x-default en heb ik het nodig?
Het wijst naar de pagina voor mensen wier taal de webshop niet ondersteunt, bijvoorbeeld een pagina om een taal te kiezen of de Engelse versie. Het is niet verplicht. Het is handig als de webshop in meerdere talen naar het buitenland verkoopt.
Kan automatisch doorverwijzen op browsertaal kwaad?
Dat kan. De crawler van Google komt meestal zonder jouw lokale instellingen en ziet na een redirect maar één versie van de webshop. Je kunt de klant beter een taalwissel voorstellen en de keuze aan hem laten.
Kan TellMyShop Free hreflang controleren?
Ja. De gratis versie TellMyShop Free opent pagina’s van de webshop zoals Google ze ziet en toont de responscode, de canonical en de hreflang-paren. TellMyShop Pro slaat verbeteringen in vertalingen en in het thematemplate op.
PrestaShop is een geregistreerd handelsmerk van PrestaShop SA. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.