Taal en land van de bezoeker detecteren (zonder redirect)
Taal- en landsuggesties zonder redirect installeren, instellen en testen.
Overzicht
De module detecteert het land van de bezoeker (IP-adres) en de talen van zijn browser, en toont daarna een banner die dezelfde pagina voorstelt in de winkel of taal die bij hem past. Ze stuurt nooit door: crawlers zien de banner niet en uw hreflang-tags blijven intact.
Compatibel met PrestaShop 8.0 tot 9.x, één winkel en multistore. De banner verschijnt alleen als er minstens twee actieve bestemmingen zijn (twee talen of twee winkels).
Installatie
- Klik in Modules > Modulebeheer op Een module uploaden en stuur het ZIP-bestand.
- De module maakt automatisch één bestemming per actieve combinatie van winkel en taal.
- Open de modulepagina met de knop Configureren of via het menu Internationaal > Taal- en landsuggestie.
In multistore installeert u de module in de context „Alle winkels” en controleert u of ze in elke bestemmingswinkel actief is. Een label „Module niet geactiveerd in deze winkel” waarschuwt u in het tabblad Bestemmingen.
Landdetectie inschakelen
Het land wordt in deze volgorde gelezen:
- uit de header van uw CDN (Cloudflare, CloudFront, Vercel);
- uit een MaxMind GeoLite2-bestand als u er een hebt (instelbaar pad);
- uit de ingebouwde, gratis database uit het publieke domein.
Klik op Database installeren in het dashboard of in Regels en detectie om de ingebouwde database te installeren. Het bestand (ongeveer 8 MB, IPv4 en IPv6) wordt gedownload naar var/dflocalesuggest/ en lokaal gelezen: geen IP-adres van bezoekers wordt naar derden gestuurd. De status toont de datum en raadt na 45 dagen een update aan.
Blokkeert uw hostingprovider uitgaande verbindingen, dan mislukt de download met een duidelijke melding. Plaats dan een .mmdb-bestand op de server en vul het pad in onder Regels en detectie.
Bestemmingen
Elke rij is een combinatie van winkel en taal die de banner kan voorstellen.
- Label: vervangt de winkelnaam in de banner (bijvoorbeeld „België”).
- Landen: ISO-codes gescheiden door komma’s (NL, BE). Leeg betekent elk land. Een andere winkel die beperkt is tot andere landen wordt nooit voorgesteld aan een bezoeker van wie het land bekend is.
- Browsertalen: codes zoals nl, nl-be, en-gb.
- Volgorde: sleep de rijen om te beslissen tussen twee bestemmingen met dezelfde score.
Ontbrekende combinaties toevoegen maakt rijen voor nieuwe winkels of talen zonder bestaande rijen te wijzigen. Is de module DataFirefly Hreflang geïnstalleerd, dan neemt Importeren uit DataFirefly Hreflang uw codes over (nl-BE geeft de taal nl en het land BE).
Weergave
Kies een thema, de vier kleuren, de hoekafronding, de tekstgrootte en het matglaseffect. De plaatsing stelt u apart in voor computer (balk boven of onder, kaart links of rechts) en mobiel (zwevende kaart, balk). Het live voorbeeld rechts toont het resultaat op computer en mobiel vóór het opslaan.
- Compacte herinnering: als de bezoeker de banner negeert en verder surft, tonen de volgende pagina’s alleen een klein label.
- Weergavevertraging: de banner verschijnt na het laden van de pagina plus deze vertraging.
- Na weigering verbergen: hoe lang een bezoeker die op „Hier blijven” klikte met rust wordt gelaten.
Teksten
De banner is geschreven in de voorgestelde taal: een Duitse bezoeker leest hem in het Duits op een Nederlandse winkel. Elke taal heeft eigen teksten met variabelen die u met één klik invoegt: {language}, {country}, {store}, {currency}. Een leeg veld gebruikt de ingebouwde tekst.
Regels en detectie
- Als land en taal niet overeenkomen: het land gaat voor (winkel die naar de bezoeker levert) of de taal gaat voor.
- Meertalige bezoekers respecteren: geen taalsuggestie als de huidige taal bij de browsertalen staat.
- Verbergen voor ingelogde klanten.
- Pagina’s zonder banner: uitgesloten controllers, standaard winkelwagen en afrekenproces. Jokertekens zijn toegestaan (module-mijnmodule-*).
- Wachten tot de cookiebanner gesloten is: de bekende consentbeheerders worden herkend en de lijst met CSS-selectors is aanpasbaar.
Testen vóór livegang
Het tabblad Simulator toont voor een land en bepaalde browsertalen of de banner verschijnt, met tekst, link en de score van elke bestemming. Om de echte banner in de winkel te zien, voegt u uw IP toe onder Test-IP-adressen en opent u een pagina met ?dfls_country=DE&dfls_lang=de. De link „Bekijk in de winkel” in de simulator doet dat voor u.
Statistieken
Het dashboard toont getoonde banners (één keer per bezoek), klikken, weigeringen, klikratio, dagelijkse activiteit en ranglijsten per bestemming en per land over 7, 30, 90 dagen of een jaar. CSV exporteren downloadt één rij per dag, herkomstwinkel, bestemming en land. De tellers zijn samengevoegd: er wordt geen IP, cookie of klant-ID opgeslagen.
Gedrag voor de bezoeker
- Een bezoeker die op de suggestie klikt of zelf van winkel of taal wisselt, krijgt op de gekozen bestemming geen suggesties meer.
- De banner wordt nooit aan crawlers getoond (Googlebot, Bingbot, Lighthouse) en draagt
data-nosnippet. - De HTML van de pagina’s is voor iedereen gelijk: de module werkt met LiteSpeed Cache, Varnish en CDN’s.
Voor ontwikkelaars
DOM-events op document: dfls:shown, dfls:accept, dfls:dismiss. Met de optie ingeschakeld worden de events dfls_shown, dfls_accept en dfls_dismiss naar de dataLayer voor Google Tag Manager gestuurd. De PHP-hook actionDflocalesuggestResponse ontvangt het antwoord per referentie om tekst, link of bestemming aan te passen.
Problemen oplossen
De banner verschijnt niet
Controleer of de banner actief is, of er minstens twee geldige bestemmingen zijn, of de pagina niet uitgesloten is en of u in deze browser niet al een suggestie hebt geweigerd of geaccepteerd (wis de lokale opslag van de site). De simulator toont waarom een bestemming wordt overgeslagen.
Het land staat als „Onbekend” in de back-office
Dat is normaal als u test vanaf een lokaal of privé-IP. Gebruik de simulator of de testparameters.