Configureer CMS-pagina's met de Href-Lang
Deze gids legt uit hoe u hreflang configureert voor CMS pagina's en de homepage met de Alternate Hreflang Extensie. Anders dan producten en categorieën hebben CMS pagina's geen automatische taalrelaties in Magento, dus biedt de module een groeperingssysteem om vertalingen te verbinden. Leer hoe u het "Alternate Language Category" veld gebruikt om uw meertalige content pagina's correct te linken.
Waarom CMS Pagina's Anders Zijn
Producten en Categorieën
Producten en categorieën hebben ingebouwde parent-child relaties over store views:
- Zelfde product ID in meerdere stores = automatische connectie
- Product in NL store en FR store met zelfde ID = vertalingen
- Module genereert automatisch hreflang tags
CMS Pagina's en Homepage
CMS pagina's zijn onafhankelijk per store view:
- Geen automatische relatie tussen pagina's
- Homepage in NL store ≠ homepage in FR store (vanuit Magento perspectief)
- "Over Ons" pagina heeft geen link naar Franse "À Propos" pagina
- U moet ze handmatig groeperen
Het Alternate Language Category Veld
Bij het bewerken van een CMS pagina ziet u een nieuwe sectie: Alternate Language Settings
Deze bevat:
- Alternate Language Category - Selecteer bestaande categorie of maak nieuwe aan
- New Category - Voer naam in voor nieuwe groepering
Hoe Het Werkt
- Alle pagina's in dezelfde categorie linken naar elkaar met hreflang tags
- Pagina's in verschillende categorieën linken niet naar elkaar
- Niet-gegroepeerde pagina's (geen categorie) hebben geen hreflang tags
Zie het als: "Deze pagina's zijn dezelfde content, alleen in verschillende talen"
Stap-voor-Stap Installatie
Voorbeeld: Over Ons Pagina
U heeft deze CMS pagina's:
over-ons(Nederlandse store)a-propos(Franse store)uber-uns(Duitse store)
Stap 1: Bewerk Nederlandse Pagina
Navigeer naar: Inhoud → Pagina's → Over Ons
- Scroll naar Alternate Language Settings
- Klik New Category veld
- Voer in:
about-page - Bewaar pagina
Stap 2: Bewerk Franse Pagina
Navigeer naar: Inhoud → Pagina's → À Propos
- Scroll naar Alternate Language Settings
- Selecteer dropdown:
about-page(nu beschikbaar) - Bewaar pagina
Stap 3: Bewerk Duitse Pagina
Navigeer naar: Inhoud → Pagina's → Über Uns
- Scroll naar Alternate Language Settings
- Selecteer dropdown:
about-page - Bewaar pagina
Resultaat:
Alle drie pagina's hebben nu hreflang tags:
<!-- Op Nederlandse pagina -→
<link rel="alternate" hreflang="nl-nl" href="https://example.nl/over-ons" />
<link rel="alternate" hreflang="fr-fr" href="https://example.fr/a-propos" />
<link rel="alternate" hreflang="de-de" href="https://example.de/uber-uns" />
Homepage Instellen
De homepage werkt precies hetzelfde.
Voorbeeld: Meertalige Homepage
Stap 1: Bewerk Homepage (Nederlandse store)
Navigeer naar: Inhoud → Pagina's → Home Pagina (in Nederlandse store view)
- Scroll naar Alternate Language Settings
- New Category:
homepage - Bewaar
Stap 2: Bewerk Homepage (Franse store)
Schakel naar Franse store view, dan:
Navigeer naar: Inhoud → Pagina's → Page d'accueil (in Franse store view)
- Scroll naar Alternate Language Settings
- Selecteer:
homepage - Bewaar
Stap 3: Herhaal voor andere stores
Elke store's homepage → selecteer homepage categorie
Resultaat:
<link rel="alternate" hreflang="nl-nl" href="https://example.nl/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.fr/" />
<link rel="alternate" hreflang="de-de" href="https://example.de/" />
Veelvoorkomende CMS Pagina Scenario's
Scenario 1: Simpele Meertalige Site
Pagina's om te groeperen:
- Homepage in alle talen → categorie:
homepage - Over pagina in alle talen → categorie:
about-page - Contact pagina in alle talen → categorie:
contact-page - Privacy beleid in alle talen → categorie:
privacy-page
Setup:
Categorie: homepage
├── Home (NL) - example.nl/
├── Accueil (FR) - example.fr/
└── Startseite (DE) - example.de/
Categorie: about-page
├── Over Ons (NL) - example.nl/over-ons
├── À Propos (FR) - example.fr/a-propos
└── Über Uns (DE) - example.de/uber-uns
Categorie: contact-page
├── Contact (NL) - example.nl/contact
├── Contact (FR) - example.fr/contact
└── Kontakt (DE) - example.de/kontakt
Scenario 2: Verschillende Content Per Regio
Sommige pagina's bestaan alleen in bepaalde talen.
Voorbeeld: Juridische pagina's die verschillen per land
Categorie: privacy-eu
├── Privacybeleid (NL) - example.nl/privacy
├── Politique de confidentialité (FR) - example.fr/confidentialite
└── Datenschutz (DE) - example.de/datenschutz
Categorie: privacy-us
└── Privacy Policy (EN-US) - example.com/privacy
(Geen andere talen - VS-specifieke content)
Categorie: terms-eu
├── Algemene Voorwaarden (NL) - example.nl/voorwaarden
├── Conditions Générales (FR) - example.fr/conditions
└── AGB (DE) - example.de/agb
Belangrijk: Link geen EU privacy pagina's naar VS privacy pagina's als de content significant verschilt.
Scenario 3: Promotionele Landingspagina's
Campagne in meerdere markten:
Categorie: summer-sale-2024
├── Zomeruitverkoop (NL) - example.nl/zomeruitverkoop
├── Soldes d'été (FR) - example.fr/soldes-ete
├── Sommerschlussverkauf (DE) - example.de/sommer-sale
└── Summer Sale (EN) - example.com/summer-sale
Alle pagina's promoten dezelfde sale, verschillende talen → groepeer samen.
Categorie Naamgeving Best Practices
Goede Categorie Namen
✅ Beschrijvend en uniek:
homepageabout-pageshipping-inforeturn-policyfaq-general
✅ Inclusief campagne/jaar indien tijdelijk:
black-friday-2024lente-sale-2024
✅ Gebruik store/regio als content verschilt:
privacy-euprivacy-usterms-b2bterms-b2c
Slechte Categorie Namen
❌ Te generiek:
page1cmsgroup-a
❌ Taal-specifiek:
over-ons-nederlands(categorie is voor ALLE talen)french-pages
Waarom: Categorie naam is alleen intern. Gebruik het om te identificeren welke pagina's bij elkaar horen, niet welke taal ze zijn.
Uw Setup Verifiëren
Test Individuele Pagina's
- Schakel debug mode in in module configuratie
- Bezoek CMS pagina met
?show-alternate=1https://example.nl/over-ons?show-alternate=1 - Verifieer dat hreflang tags verschijnen
- Controleer of alle gegroepeerde pagina's vermeld staan
Test Homepage
Bezoek homepage met debug parameter:
https://example.nl/?show-alternate=1
Controleer output toont alle store homepages.
Veelvoorkomende Problemen
Probleem: Tags verschijnen niet
Controleer:
- CMS Pagina's ingeschakeld in module configuratie
- Alle pagina's in groep hebben dezelfde categorie naam
- Pagina's toegewezen aan correcte store views
- Cache geleegd na wijzigingen
Probleem: Verkeerde pagina's gegroepeerd
Controleer:
- Categorie spelling is exact hetzelfde
- Niet vergelijkbare paginatypes verwarren (bijv. "Voorwaarden B2B" vs "Voorwaarden B2C")
Werken met Meerdere Store Groepen
Als u aparte productlijnen heeft:
Groep 1: Mode Winkels
└── Categorie: homepage-fashion
├── Mode Home (NL) - mode.nl/
├── Mode (FR) - mode.fr/
└── Mode (DE) - mode.de/
Groep 2: Electronica Winkels
└── Categorie: homepage-electronics
├── Electronica Home (NL) - electronica.nl/
├── Électronique (FR) - electronique.fr/
└── Elektronik (DE) - elektronik.de/
Geen cross-linking: Mode homepage moet niet linken naar Electronica homepage, zelfs niet in dezelfde taal.
Bulk Setup Tips
Voor Veel CMS Pagina's
-
Maak eerst categorie naamgevingsschema:
- Lijst alle CMS paginatypes
- Definieer categorie naam voor elk type
- Documenteer in spreadsheet
-
Update in batches:
- Groepeer op paginatype (alle "Over" pagina's eerst)
- Maak categorie aan op eerste pagina
- Pas dezelfde categorie toe op vertalingen
-
Gebruik consistente naamgeving:
homepageniethome-pageofhome_page- Houd u aan één format projectbreed
Aanbevolen Categorieën voor Standaard Pagina's
Veelvoorkomende pagina's op de meeste sites:
homepage → Alle homepage variaties
about-page → Over Ons pagina's
contact-page → Contact pagina's
shipping-info → Verzend informatie
return-policy → Retour/terugbetaling beleid
privacy-page → Privacybeleid
terms-page → Algemene voorwaarden
faq-general → Algemene FAQ pagina's
Belangrijke Notities
Store View Toewijzing
CMS pagina's moeten toegewezen zijn aan correcte store views:
- Nederlandse "Over Ons" → toegewezen aan Nederlandse store
- Franse "À Propos" → toegewezen aan Franse store
- Wijs niet dezelfde pagina toe aan meerdere stores (ondermijnt het doel)
URL Keys
Elke pagina moet een passende URL hebben voor zijn taal:
- ✅
over-ons(Nederlands) - ✅
a-propos(Frans) - ❌
about-us(gebruikt in alle stores)
Categorie Veld Is Optioneel
Pagina's zonder categorie hebben simpelweg geen hreflang tags:
- Single-store sites hebben het niet nodig
- Store-specifieke pagina's (geen vertalingen) hebben het niet nodig
- Groepeer alleen pagina's die echte vertalingen zijn
Debuggen
Self-Test
Voer module self-test uit:
- Admin → Magmodules → Alternate Hreflang → Developer → Self-Test
- Controleer CMS Pagina's sectie
- Verifieer gegroepeerde pagina's gedetecteerd
Controleer Categorieën
Er bestaat geen admin overzicht van categorieën. Om te auditen:
- Exporteer CMS pagina's met categorieën (custom SQL of export)
- Review welke pagina's categorieën delen
- Verifieer groeperingen correct zijn
SQL om categorieën te lijsten:
SELECT
cms_page.title,
cms_page.identifier,
cms_page.alternate_category
FROM cms_page
WHERE cms_page.alternate_category IS NOT NULL
ORDER BY cms_page.alternate_category, cms_page.title;
Belangrijkste Punten
- CMS pagina's linken niet automatisch - u moet ze handmatig groeperen
- Gebruik "Alternate Language Category" veld in CMS pagina bewerkformulier
- Zelfde categorie = pagina's linken met hreflang tags
- Categorie namen zijn intern - gebruik beschrijvende namen
- Homepage is gewoon een andere CMS pagina - groepeer het op dezelfde manier
- Groepeer geen niet-gerelateerde pagina's - alleen echte vertalingen
- Test met
?show-alternate=1om setup te verifiëren - Clear cache na wijzigingen om resultaten te zien
Meer Hulp Nodig?
Documentatie:
- Alle Help Artikelen - Compleet documentatie overzicht
Support:
- Contact Opnemen - Hulp van ons team