Sprache und Land des Besuchers erkennen (ohne Weiterleitung)
Sprach- und Ländervorschläge ohne Weiterleitung installieren, einrichten und testen.
Überblick
Das Modul erkennt das Land des Besuchers (IP-Adresse) und die Sprachen seines Browsers und zeigt ein Banner, das dieselbe Seite im passenden Shop oder in der passenden Sprache vorschlägt. Es leitet nie weiter: Crawler sehen das Banner nicht und Ihre hreflang-Tags bleiben unberührt.
Kompatibel mit PrestaShop 8.0 bis 9.x, Einzelshop und Multishop. Das Banner erscheint nur, wenn mindestens zwei Ziele aktiv sind (zwei Sprachen oder zwei Shops).
Installation
- Klicken Sie unter Module > Modulmanager auf Modul hochladen und laden Sie die ZIP-Datei hoch.
- Das Modul legt automatisch ein Ziel pro aktivem Paar aus Shop und Sprache an.
- Öffnen Sie die Modulseite über die Schaltfläche Konfigurieren oder das Menü International > Sprach- und Ländervorschlag.
Im Multishop installieren Sie das Modul im Kontext „Alle Shops“ und prüfen, dass es in jedem Ziel-Shop aktiviert ist. Ein Hinweis „Modul in diesem Shop nicht aktiviert“ erscheint im Reiter Ziele.
Ländererkennung aktivieren
Das Land wird in dieser Reihenfolge gelesen:
- aus dem Header Ihres CDN (Cloudflare, CloudFront, Vercel);
- aus einer MaxMind-GeoLite2-Datei, falls vorhanden (Pfad einstellbar);
- aus der integrierten, kostenlosen und gemeinfreien Datenbank.
Um die integrierte Datenbank zu installieren, klicken Sie im Dashboard oder unter Regeln und Erkennung auf Datenbank installieren. Die Datei (etwa 8 MB, IPv4 und IPv6) wird nach var/dflocalesuggest/ geladen und lokal gelesen: Keine Besucher-IP wird an Dritte gesendet. Der Status zeigt ihr Datum und empfiehlt nach 45 Tagen eine Aktualisierung.
Blockiert Ihr Hoster ausgehende Verbindungen, schlägt der Download mit einer klaren Meldung fehl. Legen Sie dann eine .mmdb-Datei auf dem Server ab und tragen Sie den Pfad unter Regeln und Erkennung ein.
Ziele
Jede Zeile ist ein Paar aus Shop und Sprache, das das Banner vorschlagen kann.
- Beschriftung: ersetzt den Shopnamen im Banner (zum Beispiel „Schweiz“).
- Länder: ISO-Codes durch Kommas getrennt (DE, AT, CH). Leer bedeutet jedes Land. Ein anderer Shop, der auf andere Länder beschränkt ist, wird einem Besucher mit bekanntem Land nie vorgeschlagen.
- Browsersprachen: Codes wie de, de-at, en-gb.
- Reihenfolge: Ziehen Sie die Zeilen, um bei gleicher Punktzahl zu entscheiden.
Fehlende Paare hinzufügen legt Zeilen für neue Shops oder Sprachen an, ohne bestehende zu ändern. Ist das Modul DataFirefly Hreflang installiert, übernimmt Aus DataFirefly Hreflang importieren Ihre Codes (de-CH ergibt die Sprache de und das Land CH).
Darstellung
Wählen Sie ein Theme, die vier Farben, den Eckenradius, die Textgröße und den Milchglaseffekt. Die Platzierung wird getrennt für Desktop (Leiste oben oder unten, Karte links oder rechts) und Mobil (schwebende Karte, Leiste) eingestellt. Die Live-Vorschau rechts zeigt das Ergebnis auf Desktop und Mobil vor dem Speichern.
- Kompakte Erinnerung: Ignoriert der Besucher das Banner und surft weiter, zeigen die nächsten Seiten nur noch eine Pille.
- Anzeigeverzögerung: Das Banner erscheint nach dem Laden der Seite plus dieser Verzögerung.
- Nach Ablehnung ausblenden: Wie lange ein Besucher, der „Hier bleiben“ geklickt hat, in Ruhe gelassen wird.
Texte
Das Banner ist in der vorgeschlagenen Sprache verfasst: Ein deutscher Besucher liest es auf Deutsch in einem französischen Shop. Jede Sprache hat eigene Texte mit per Klick einfügbaren Variablen: {language}, {country}, {store}, {currency}. Ein leeres Feld verwendet den integrierten Text.
Regeln und Erkennung
- Wenn Land und Sprache nicht übereinstimmen: Das Land hat Vorrang (Shop, der an den Besucher liefert) oder die Sprache hat Vorrang.
- Mehrsprachige Besucher respektieren: kein Sprachvorschlag, wenn die aktuelle Sprache unter den Browsersprachen ist.
- Für eingeloggte Kunden ausblenden.
- Seiten ohne Banner: ausgeschlossene Controller, standardmäßig Warenkorb und Bestellprozess. Platzhalter sind erlaubt (module-meinmodul-*).
- Warten, bis das Cookie-Banner geschlossen ist: Die gängigen Consent-Manager werden erkannt, die Liste der CSS-Selektoren ist anpassbar.
Vor dem Livegang testen
Der Reiter Simulator zeigt für ein Land und bestimmte Browsersprachen, ob das Banner erscheint, mit Text, Link und der Punktzahl jedes Ziels. Um das echte Banner im Shop zu sehen, tragen Sie Ihre IP unter Test-IP-Adressen ein und öffnen eine Seite mit ?dfls_country=DE&dfls_lang=de. Der Link „Im Shop ansehen“ im Simulator erledigt das für Sie.
Statistiken
Das Dashboard zeigt angezeigte Banner (einmal pro Besuch), Klicks, Ablehnungen, Klickrate, tägliche Aktivität sowie Ranglisten nach Ziel und Land über 7, 30, 90 Tage oder ein Jahr. CSV exportieren lädt eine Zeile pro Tag, Herkunftsshop, Ziel und Land herunter. Die Zähler sind aggregiert: Es werden keine IP, kein Cookie und keine Kundenkennung gespeichert.
Verhalten für den Besucher
- Ein Besucher, der auf den Vorschlag klickt oder selbst Shop oder Sprache wechselt, wird auf dem gewählten Ziel nicht mehr gefragt.
- Crawlern (Googlebot, Bingbot, Lighthouse) wird das Banner nie angezeigt, und es trägt
data-nosnippet. - Das HTML der Seiten ist für alle gleich: Das Modul funktioniert mit LiteSpeed Cache, Varnish und CDNs.
Für Entwickler
DOM-Events auf document: dfls:shown, dfls:accept, dfls:dismiss. Mit aktivierter Option werden die Events dfls_shown, dfls_accept und dfls_dismiss für Google Tag Manager in den dataLayer geschrieben. Der PHP-Hook actionDflocalesuggestResponse erhält die Antwort per Referenz, um Text, Link oder Ziel zu ändern.
Fehlerbehebung
Das Banner erscheint nicht
Prüfen Sie, ob das Banner aktiv ist, mindestens zwei Ziele gültig sind, die Seite nicht ausgeschlossen ist und Sie in diesem Browser nicht bereits einen Vorschlag abgelehnt oder angenommen haben (lokalen Speicher der Seite leeren). Der Simulator zeigt, warum ein Ziel verworfen wird.
Das Land wird im Backoffice als „Unbekannt“ angezeigt
Das ist normal, wenn Sie von einer lokalen oder privaten IP aus testen. Nutzen Sie den Simulator oder die Testparameter.