Warum eazyfind.me?
Ihre Kunden geben auf - bevor sie kaufen. 73% der Shop-Besucher verlassen den Shop, wenn die Suche nicht sofort Ergebnisse liefert. eazyFind.me macht Schluss mit verlorenen Verkäufen durch schlechte Suche.
Instant Search - Kunden finden in Millisekunden
- Live-Vorschau während der Eingabe: Produkte erscheinen bereits ab dem 2. Zeichen
- Intelligente Typo-Korrektur: "Handy Hüle" findet "Handy Hülle" - keine verlorenen Käufer mehr
- Fuzzy-Matching: Auch ungenaue Begriffe führen zu Treffern
- Multi-Language-Support: Nahtlose Suche in allen Shop-Sprachen
- Artikelnummer & SKU-Suche:
- Mistral KI Suchtechnologie: Sucherweiterung
- Search Banners: Bannerverwaltung mit Keywords
Modal-Suche: Modern, schnell, konvertierend
- Produktbilder direkt im Dropdown: Visuelles Shopping steigert Klickrate um bis zu 47%
- Preise & Verfügbarkeit live: Kunden sehen sofort, ob lieferbar
- Stock-Ampel (Grün/Gelb/Rot): Dringlichkeit erzeugt Kaufimpuls
- Kategoriefilter integriert: Noch präzisere Suche ohne Umwege
- Responsive Design: Perfekt auf Desktop, Tablet und Smartphone
- Suchtherm und Suchspeicher: Die Suche kann mit Parameter aufgerufen werden ?search=123
- Sprachsuche
- SprachsucheHighlighting
Analytics & Click-Tracking (DSGVO-konform)
- Suchbegriffe-Tracking: Was suchen Ihre Kunden wirklich?
- Click-Through-Rate (CTR): Welche Produkte werden aus der Suche gekauft?
- Warenkorbtracking: Suche-Klick-Warenkorb-Kauf
- Zero-Result-Tracking: Welche Begriffe finden nichts? → Sortiment optimieren
- Top-Suchanfragen Dashboard: Datenbasierte Entscheidungen statt Bauchgefühl
- DSGVO-konform: Alle Daten werden DSGVO-konform anonymisiert gespeichert
4-Layer Bot-Schutz - Echte Statistiken statt Fake-Traffic
Problem: Scraper und Bots verfälschen Ihre Statistiken und belasten Ihren Server.
Lösung: Mehrstufiger Bot-Schutz ohne echte Kunden zu blockieren:
Intelligentes Ranking-System
Zeigen Sie die richtigen Produkte zur richtigen Zeit:
- Featured Products: Markierte Produkte erscheinen immer zuerst
- Bestseller-Boost: Verkaufsstarke Artikel werden bevorzugt (letzte 90 Tage)
- Neuheiten-Boost: Frische Produkte (letzte 30 Tage) prominent platziert
- Custom Priority: Eigenes Attribut (z.B. "eazyfindprio") für manuelle Sortierung
- Sales Override: Manuelle Verkaufszahlen-Steuerung über Attribut möglich
Echtzeit-Synchronisierung
- 15 Min-Sync bei Änderungen: Produktänderungen direkt im Backend synchronisiert
- Automatischer Daily-Sync: Nächtlicher Vollabgleich aller Daten
Anpassbar & Flexibel
- Modal-Design: Über 20 Einstellungen (Farben, Border-Radius, Padding, etc.)
- CSS-Klassen: Eigene Styles per CSS-Klasse ergänzbar
- Widget-Modus: Alternative zum Modal (Standard-Dropdown oder Widget)
- Grid-Ansicht: Bis X Spalten im Modal für mehr Übersicht
Backend-Features
- Dashboard: Sync-Status, Statistiken, Collections-Übersicht, Einstellungen, Shopswitcher
- One-Time-Login: Direkter Zugriff auf eazyfind.me Backend
Ihre Vorteile
- Sofort-Suche mit Live-Produktvorschau – Kunden kaufen, was sie sehen
- Typo-Korrektur & Fuzzy-Matching – Keine verlorenen Verkäufe durch Tippfehler
- Analytics-Dashboard – Datenbasiert optimieren statt raten
- 4-Layer Bot-Schutz – Echte Statistiken ohne Fake-Traffic
- DSGVO-konform & sofort einsatzbereit – Keine Programmierung erforderlich
Für wen ist eazyFind.me geeignet?
Perfekt für:
- Online-Shops mit 100+ Produkten: Große Sortimente werden durchsuchbar
- B2B-Shops: Artikelnummer-Suche ist essentiell für Geschäftskunden
- Multi-Language-Shops: Alle Sprachen werden nativ unterstützt
- Shops mit komplexen Produktnamen: Typo-Korrektur verhindert Zero-Results
- Shops mit hoher Absprungrate: Bessere Suche = weniger Abbrüche
JTL Features
- Attribute / Merkmale / Eigene Felder Mit Filterfunktion
- Steuerung über Funktionsattribute Filter / Verkaufszahlen
- Produkt-Varianten Filter & Parent-Child Tracking
- Preisdarstellung / Kundengruppe
- Contextual Recommendations Empfehlungssysteme zur Umsatzsteigerung: "Kunden kauften auch", "Ähnliche Produkte" und "Kategorie Top Produkte"
- Eigene Seiten Index
Technische Voraussetzungen
- JTL Shop Version: 5.4.0 oder höher
- PHP Version: 8.2 oder höher
Tarifübersicht
Ihnen stehen verschiedene Tarife bei uns auf der Webseite zur Verfügung
Key Facts
-
Conversion Rate
eazyFind.me steigert die Conversion Rate durch intelligente Instant-Suche mit Live-Produktvorschau. Kunden finden Produkte in Millisekunden statt Minuten – dank Typo-Korrektur, Fuzzy-Matching und visueller Produktdarstellung direkt im Dropdown. Das Modal zeigt Bilder, Preise und Verfügbarkeit live an, wodurch Kaufentscheidungen schneller getroffen werden. Gleichzeitig verbessert die Erweiterung die Usability massiv: Keine Ladezeiten, keine Umwege über Kategorien, keine Frustration durch "0 Ergebnisse". Das Analytics-Dashboard zeigt, welche Begriffe gesucht werden und welche Produkte aus der Suche gekauft werden – Shopbetreiber können so datenbasiert optimieren. Der 4-Layer Bot-Schutz sorgt für saubere Statistiken ohne Fake-Traffic, während das Ranking-System (Featured, Bestseller, Neuheiten) die profitabelsten Produkte automatisch priorisiert. Ergebnis: Weniger Abbrüche, mehr Klicks, höhere Warenkörbe.
-
Kompatibel mit JTL-Wawi ab
Keine Abhängigkeit
-
Kompatibel mit JTL-Shop 5 ab
5.2.0 - 5.7.*
Installation & EinrichtungErste Schritte nach Installation
- API-Credentials generieren (Settings-Tab → "Neue Credentials erstellen")
- Erstmalige Synchronisierung (Sync-Tab → "Vollständige Synchronisation starten")
- Modal-Design anpassen (Settings-Tab → "Modal-Einstellungen")
- Testen (Frontend → Suchfeld klicken → Modal erscheint)
- Statistiken prüfen (Dashboard-Tab → Suchbegriffe, CTR, etc.)
Nutzungsvoraussetzungenkeine
SystemvoraussetzungenTechnische Voraussetzungen
- JTL Shop Version: 5.4.0 oder höher
- PHP Version: 8.2 oder höher
Externe DokumentationenInstallationKonfiguration
2.2.25 - 14.07.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.7.*
fix
2.2.21 - 12.07.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.7.*
fix Bildurl
2.2.17 - 26.06.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.7.*
bugfixes
Bildausgabe und Suche stabilisiert
Produktbilder werden in Suchergebnissen und Empfehlungen konsistenter über die vom Shop bereitgestellten Bilddaten ausgegeben.
Zwischengespeicherte Such- und Empfehlungsdaten mit veralteten Bildangaben werden zuverlässiger erneuert.
Fehlende Bilder durch unvollständige oder veraltete Bildpfade werden vermieden.
Wiederkehrende Startprüfungen wurden reduziert, damit normale Seitenaufrufe weniger Zusatzlast durch das Plugin erhalten.
Die Wartezeit vor einer Suche kann jetzt in den Plugin-Einstellungen angepasst werden.
Schnell aufeinanderfolgende Eingaben werden besser zusammengefasst, damit beim Tippen weniger Suchanfragen entstehen.
2.2.0 - 25.06.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.7.*
Performance & Bot-Schutz — große Last-Reduzierung
Umfassende Optimierung speziell für Shops mit großem Sortiment und/oder hohem Bot-Aufkommen (Scraper-Netze, KI-Crawler, SEO-Bots). Gecachte Suche fällt typischerweise von ~500ms auf ~10ms. Alle Änderungen sind rückwärtskompatibel — Standardverhalten unverändert, neue Schutz-Layer als Opt-in pro Shop aktivierbar.
2.1.10 - 16.04.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.7.*
- Kompatibel mit PHP:von 8.2
[2.1.10] - 2026-04-15
Neue Funktionen
- Artikel-Ausschluss per Attribut - Artikel mit dem Funktionsattribut
zhz_exclude_from_search = 1 werden in der Suchanfrage gefiltert und nicht in den Ergebnissen angezeigt
▪ Kein Vollsync erforderlich — wirkt sofort bei der nächsten Suchanfrage
▪ Attribut wird direkt in search-api.php geprüft, bevor der Artikel verarbeitet wird
▪ Attribut in JTL Wawi am Artikel unter Funktionsattribute setzen: Name zhz_exclude_from_search, Wert 1
[2.1.9] - 2026-03-31
Kritische Fehlerbehebungen
- KRITISCH: Weiße Seite bei Installation behoben -
prepareFrontend() hatte falsche Methodensignatur
▪ JTL erwartet prepareFrontend(LinkInterface $link, JTLSmarty $smarty): bool
▪ Bisherige Signatur prepareFrontend(JTLSmarty $smarty): void war inkompatibel
▪ PHP Fatal Error beim Laden der Bootstrap-Klasse - VOR jedem try/catch
▪ Erklärt warum v2.0.8 (ohne prepareFrontend) problemlos installierbar war
Fehlerbehebungen
- Weiße Seite bei Installation/Deinstallation/Update abgesichert - Alle Lifecycle-Methoden in try/catch
▪
installed(), enabled(), disabled(), uninstalled(), updated() jetzt vollständig gekapselt
▪ Detaillierte Fehlerausgabe in PHP-Error-Log (Datei + Zeile)
[2.1.8] - 2026-03-31
Fehlerbehebungen
- Weiße Seite nach Plugin-Update behoben - Bootstrap-Fehler führten nicht mehr zur weißen Seite
▪
registerArticleChangeTracking(), registerCartTracking() und Router-Route jetzt in try/catch gekapselt
▪ require_once Logger.php in boot() abgesichert
▪ Wenn eine Hilfsdatei nach Update nicht geladen werden kann (z.B. eval-Fehler in obfusciertem Code) bleibt der Shop funktionsfähig
▪ Fehler werden in das PHP-Error-Log geschrieben statt eine weiße Seite zu erzeugen
▪ Class-Existence-Check für ChangeTracker/InstantSync vor Verwendung
2.1.7 - 20.03.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.6.*
[2.1.7] - 2026-03-20
Plugin – Neue Funktionen
- Monatlicher Such-Tracking-Export – CSV mit allen Suchanfragen, Klicks und Käufen wird stündlich automatisch ins Plugin-Verzeichnis geliefert (Excel-kompatibel, kein manueller Schritt nötig)
Plugin – Verbesserungen & Fehlerbehebungen
- Sauberere Suchstatistiken – Tracking feuert erst nach 700ms Pause, Tipp-Zwischenstände werden nicht mehr erfasst
- Click-Tracking korrigiert – Pro Klick wird jetzt exakt ein Event gesendet (Dreifach-Tracking entfernt)
- Reihenfolge Search → Click garantiert – Click-Event wartet auf Bestätigung des Search-Events, verhindert Zuordnungsfehler
- Kein Tracking beim Modal-Schließen ohne Daten – Spurious Events mit leeren Daten werden unterbunden
Backend – Neue Funktionen
- Such- & Click-Export als CSV – Kunden können im Dashboard ihre Suchanfragen inkl. geklickter Produkte, Warenkorb- und Kaufdaten als CSV herunterladen (filterbar nach Monat)
- Synonym-Import per CSV – Synonyme können per Datei-Upload in die Synonymverwaltung importiert werden
- Sync-Job abbrechen – Laufende oder wartende Sync-Jobs können jetzt direkt im Dashboard gestoppt werden
Backend – Verbesserungen
- Klick-Zuordnung korrigiert – Such- und Click-Events werden anhand des clientseitigen Timestamps zugeordnet, nicht nach Serverankunft
- SKU automatisch angereichert – Fehlt die Artikelnummer im Click-Event, wird sie vom Backend automatisch aus dem Suchindex nachgeschlagen
- Großer-Shop-Sync stabil – Full-Sync-Jobs für Shops mit 100.000+ Produkten laufen jetzt zuverlässig durch (kein vorzeitiger Abbruch mehr)
- Incremental-Sync-Schutz – Inkrementelle Syncs starten nicht mehr bevor ein vollständiger Erst-Sync abgeschlossen ist
- Batch-Größe bis 5.000 – Maximale Produkte pro Sync-Anfrage von 1.000 auf 5.000 erhöht (einstellbar in den Shop-Einstellungen)
2.1.6 - 12.03.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.6.*
- Kompatibel mit PHP:von 8.2
[2.1.6] - 2026-03-12
Neue Funktionen
- Hersteller-Filter - Filterung nach Herstellern/Marken in allen drei Filter-UIs
▪ Hersteller-Accordion in der Desktop-Filter-Sidebar (zwischen Kategorien und Preis)
▪ Hersteller-Gruppe im Toggle-Filterpanel (Button neben Suchfeld, Tab "Basisfilter")
▪ Hersteller-Sektion im einfachen Modal-Filterpanel
▪ Hersteller werden automatisch aus den Suchergebnissen ermittelt (aus Produktdaten)
▪ Multi-Select möglich, Zähler-Badge zeigt aktive Auswahl
▪ Aktivierung/Deaktivierung über Plugin-Einstellungen → Filter-Einstellungen → Herstellerfilter aktivieren
▪ Reset über "Zurücksetzen" oder "Alle Filter zurücksetzen"
- "Filter übernehmen" Button - Schließt das Toggle-Filterpanel direkt nach der Auswahl
▪ In jedem Reiter (Basisfilter und Merkmale) neben dem Zurücksetzen-Button
2.1.4 - 25.02.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.6.*
[2.1.4] - 2026-02-25
Neue Funktionen
- Filter-Sidebar Position - Position der Filter-Sidebar im Modal wählbar (links oder rechts)
- Letzte Suche speichern - Letzter Suchbegriff wird in der Session gespeichert und beim erneuten Öffnen wiederhergestellt
▪ DSGVO-konform (nur SessionStorage)
▪ Aktivierung/Deaktivierung in Plugin-Einstellungen
- Badges einzeln steuerbar - NEU, SALE und TOP Badges können individuell ein-/ausgeschaltet werden
- Artikelnummer-Felder vollständig - SKU/EAN/HAN Checkboxen nun an allen relevanten Stellen in den Einstellungen verfügbar
Verbesserungen
- Cache standardmäßig deaktiviert - Cache-Dauer Default auf 0 Tage geändert (kein Cache)
▪ Auswahl über Dropdown: 0/1/3/7/14/30 Tage
▪ Verhindert veraltete Suchergebnisse bei frischen Installationen
- Admin-Testmodus Warnung - Rote Warnmeldung oben im Settings-Tab wenn Testmodus aktiv ist
▪ Verhindert versehentliches Vergessen der Deaktivierung
- Fehlende Plugin-Einstellungen nachgezogen - PluginLifecycle erstellt bei Updates automatisch fehlende Settings mit Standardwerte
2.1.3 - 25.02.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.4.0 - 5.6.*
[2.1.3] - 2026-02-25
Neue Funktionen
- Bot-Schutz Dashboard - Verwalten Sie den Schutz vor automatisierten Anfragen direkt im Dashboard
▪ Übersicht aller blockierten IPs (automatisch + manuell)
▪ IPs manuell blockieren oder entsperren
▪ Einstellungen pro Shop konfigurierbar (Rate-Limits, Erkennungsmodi)
▪ Automatische Erkennung von Spam-Anfragen, Bots und ungewöhnlichen Mustern
▪ Sichtbar für alle Tarife
- Webhook Secret Auto-Recovery - Plugin repariert sich automatisch nach Updates
▪ Nach JTL-Plugin-Updates ging der Webhook-Secret verloren
▪ Plugin holt den Secret jetzt automatisch vom Backend nach
▪ Kein manueller Eingriff mehr nötig
Verbesserungen
- Artikelnummern-Suche verbessert - Präzisere Ergebnisse bei SKU/EAN-Suche
▪ Exakte Treffer werden nur noch bei 100% Übereinstimmung als solche erkannt
▪ Suche nach z.B. "HON66" findet jetzt alle verwandten Artikel (HON66+, HON66FH, HON66T)
▪ Vorher: Nur ein einzelnes Ergebnis durch fehlerhafte exakte Erkennung
- Bot-Schutz für Shop-Proxys optimiert - Keine Fehlblockierungen mehr
▪ Shop-Server-IPs werden nicht mehr fälschlicherweise blockiert
▪ Echte Besucher-IP wird korrekt aus dem Proxy-Header ausgelesen
▪ Autocomplete-Eingaben lösen keinen Spam-Alarm mehr aus
- Sync-Monitoring - Plugin kann jetzt Sync-Status korrekt abrufen
▪ Sync-Statistiken im Dashboard funktionieren wieder zuverlässig
2.1.2 - 10.02.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.6.*
- Kompatibel mit PHP:von 8.2
[2.1.2] - 2026-02-05
Neue Funktionen
- Admin-Testmodus - Testen Sie neue Einstellungen im Live-Shop ohne Besucherauswirkung ▪ Aktivierbar in Plugin-Einstellungen ▪ Nur eingeloggte JTL-Admins sehen die eazyFind-Suche ▪ Normale Besucher nutzen weiterhin die Standard-JTL-Suche ▪ Ideal zum Testen von Änderungen vor dem Rollout
Fehlerbehebungen
- Produktbilder bei eingeschränkter Kundengruppen-Sichtbarkeit - Bilder werden jetzt korrekt angezeigt ▪ Problem: Bilder von Artikeln mit Kundengruppen-Beschränkung wurden nicht synchronisiert ▪ Lösung: Direkter Datenbank-Fallback wenn JTL-Artikel-Klasse kein Bild zurückgibt
- Login-Sichtbarkeit (global_sichtbarkeit=3) - Artikel nur für eingeloggte Kunden ▪ Problem: Artikel mit Sichtbarkeit "Nur für eingeloggte Kunden" wurden nicht korrekt gefiltert ▪ Lösung: Korrekte Prüfung der global_sichtbarkeit beim Sync
- Brutto-Preise statt Netto - Korrekte Preisanzeige für Endkunden ▪ Problem: In manchen Fällen wurden Netto-Preise angezeigt ▪ Lösung: getProductPrice() verwendet jetzt immer Brutto-Preise
- JSON-Fehler durch unerwartete Ausgaben - Output Buffering ▪ Problem: "Unexpected token" Fehler bei AJAX-Requests ▪ Lösung: Output Buffering in API-Endpoints verhindert versehentliche Ausgaben
- Recommendation-Endpoints stabiler - Besseres Error-Handling ▪ Safe AJAX-Fallbacks für Session/Currency-Probleme ▪ Throwable statt Exception für umfassenderes Catching
Dashboard-Updates
- Sync Batch Size pro Shop konfigurierbar - Individuelle Anpassung möglich ▪ Große Shops können kleinere Batches verwenden (weniger Timeouts) ▪ Kleine Shops können größere Batches für schnelleren Sync nutzen ▪ Einstellbar unter Einstellungen → Synchronisierung
- Maximale Ergebnisse Default auf 250 - Besserer Standard für neue Shops ▪ Vorher: 20 Ergebnisse als Default ▪ Jetzt: 250 Ergebnisse für bessere UX
2.1.1 - 05.02.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.6.*
[2.1.1] - 2026-02-05
Neue Funktionen
- Admin-Testmodus - Testen Sie neue Einstellungen im Live-Shop ohne Besucherauswirkung ▪ Aktivierbar in Plugin-Einstellungen ▪ Nur eingeloggte JTL-Admins sehen die eazyFind-Suche ▪ Normale Besucher nutzen weiterhin die Standard-JTL-Suche ▪ Ideal zum Testen von Änderungen vor dem Rollout
Fehlerbehebungen
- Produktbilder bei eingeschränkter Kundengruppen-Sichtbarkeit - Bilder werden jetzt korrekt angezeigt ▪ Problem: Bilder von Artikeln mit Kundengruppen-Beschränkung wurden nicht synchronisiert ▪ Lösung: Direkter Datenbank-Fallback wenn JTL-Artikel-Klasse kein Bild zurückgibt
- Login-Sichtbarkeit (global_sichtbarkeit=3) - Artikel nur für eingeloggte Kunden ▪ Problem: Artikel mit Sichtbarkeit "Nur für eingeloggte Kunden" wurden nicht korrekt gefiltert ▪ Lösung: Korrekte Prüfung der global_sichtbarkeit beim Sync
- Brutto-Preise statt Netto - Korrekte Preisanzeige für Endkunden ▪ Problem: In manchen Fällen wurden Netto-Preise angezeigt ▪ Lösung: getProductPrice() verwendet jetzt immer Brutto-Preise
- JSON-Fehler durch unerwartete Ausgaben - Output Buffering ▪ Problem: "Unexpected token" Fehler bei AJAX-Requests ▪ Lösung: Output Buffering in API-Endpoints verhindert versehentliche Ausgaben
- Recommendation-Endpoints stabiler - Besseres Error-Handling ▪ Safe AJAX-Fallbacks für Session/Currency-Probleme ▪ Throwable statt Exception für umfassenderes Catching
Dashboard-Updates
- Sync Batch Size pro Shop konfigurierbar - Individuelle Anpassung möglich ▪ Große Shops können kleinere Batches verwenden (weniger Timeouts) ▪ Kleine Shops können größere Batches für schnelleren Sync nutzen ▪ Einstellbar unter Einstellungen → Synchronisierung
- Maximale Ergebnisse Default auf 250 - Besserer Standard für neue Shops ▪ Vorher: 20 Ergebnisse als Default ▪ Jetzt: 250 Ergebnisse für bessere UX
2.1.0 - 31.01.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.6.1
- Kompatibel mit PHP:von 8.2
[2.1.0] - 2026-01-23
Neue Funktionen
-
Seiten-Sync verbessert - CMS-Seiten werden zuverlässiger synchronisiert
▪ Seiten werden jetzt im Incremental Sync synchronisiert (nicht nur Full Sync)
▪ Sync auch wenn keine Produktänderungen vorhanden sind
▪ Korrekte Page-ID Berechnung für Backend
-
Extension Store (EXS) Tracking - Installation aus JTL Extension Store wird erfasst
▪ Plugin-Version wird an Dashboard übermittelt
▪ Install-Typ (EXS/Manuell) wird gespeichert
▪ Bessere Übersicht über Plugin-Installationen
-
Desktop Filter-Sidebar - Verbesserte Filterung auf Desktop
▪ Ausklappbare Sidebar mit allen Filtern
▪ Preis-Range-Slider für intuitive Preisfilterung
▪ Kategorie-Gruppierung in Einstellungen konfigurierbar
Dashboard Updates
-
Plugin-Info Spalte - Neue Spalte in der Shops-Übersicht
▪ Plugin-Version pro Shop sichtbar
▪ Install-Typ (EXS/Manuell) Badge
▪ Extension Store ID bei EXS-Installationen
-
Seiten-Sync Tracking - Webhook-Logs zeigen Seiten-Syncs
▪ Separate Anzeige: Produkte vs. Seiten
▪ Detail-Modal mit Seiten-Statistiken
Fehlerbehebungen
- Trial-Benachrichtigungen - Zeitfenster für E-Mails angepasst
- Preis-Anzeige - Keine "0" mehr bei fehlenden Rabatten
- Trial-Status - Korrekte Anzeige "Trial aktiv" statt "Ausstehend"
[2.0.9] - 2025-01-14
Neue Funktionen
-
Einstellungen Export/Import - Konfiguration sichern und übertragen
▪ Alle Plugin-Einstellungen als JSON exportieren
▪ Import in anderen Shops oder nach Neuinstallation
▪ Ideal für Multi-Shop-Setups mit gleicher Konfiguration
-
Browser-Historie - Zurück-Button funktioniert jetzt korrekt
▪ Suchbegriffe werden in Browser-History gespeichert
▪ Zurück-Navigation führt zur vorherigen Suche
▪ Bessere Benutzerfreundlichkeit
-
Herstellerartikelnummer (HAN) Suche - Suche nach Hersteller-Artikelnummern
▪ HAN wird in der Suche berücksichtigt (Teilstring-Suche möglich)
▪ Gewichtung im Dashboard konfigurierbar
▪ Anzeige in der Datenübersicht (Produktdetails)
-
Exakter Treffer Highlighting - Artikelnummer und GTIN werden hervorgehoben
▪ Bei exakter Suche nach Artikelnummer oder EAN wird der Treffer markiert
▪ Bessere visuelle Rückmeldung für B2B-Kunden
Fehlerbehebungen
-
Lagerbestand-Anzeige korrigiert - Korrekte Verfügbarkeitsanzeige
▪ Problem: Lagerbestand wurde nicht korrekt synchronisiert
▪ Lösung: Verbesserte Lagerbestands-Abfrage bei Sync
-
Webhook Secret Auto-Recovery - Automatische Wiederherstellung
▪ Bei fehlendem Webhook-Secret wird automatisch ein neues generiert
▪ Verhindert Sync-Fehler nach Plugin-Neuinstallation
Backend & Dashboard Updates - Januar 2025
Authentifizierung & Sicherheit
-
SuperTokens Authentication - Neues Authentifizierungssystem
▪ Session-Management mit automatischer Verlängerung
▪ Verbesserte Sicherheit und Performance
-
Passwortloser Login (OTP) - Login per E-Mail-Code
▪ 6-stelliger Code wird per E-Mail gesendet
▪ Kein Passwort erforderlich
▪ Optional neben klassischem Login verfügbar
Suche & Gewichtung
-
Per-Field Infix Search - Teilstring-Suche pro Feld konfigurierbar
▪ Immer (always), Bei Bedarf (fallback), Aus (off)
▪ Artikelnummer und EAN: Immer Teilstring-Suche
▪ Produktname: Nur wenn keine Treffer
-
SEPA nur für berechtigte Länder - Compliance-Verbesserung
▪ SEPA-Lastschrift nur für SEPA-Länder verfügbar
▪ Andere Länder sehen nur Kreditkarte/Überweisung
Automatisierung
- Auto-Downgrade abgelaufener Trials - Automatische Umstellung
▪ Nach Trial-Ende automatisch auf FREE-Plan
▪ Keine manuelle Intervention nötig
[2.0.8] - 2025-12-24
Tracking-System Vereinheitlichung
- EIN einziges Tracking-System - Migration abgeschlossen
- ALT: Zwei Systeme (trackClick → Backend API, trackCartEvent → track-event.php)
- NEU: Nur noch track-event.php für ALLE Events (search, click, add_to_cart, purchase)
- Globaler Click-Handler entfernt (war redundant)
- trackClick() Funktion entfernt
- Alle Handler nutzen jetzt trackCartEvent()
- Backend-kompatibel mit cart_tracking_events Tabelle
- Betrifft: zhz-search-override.js, track-event.php
Neue Funktionen
Fehlerbehebungen
-
CRITICAL: Session-Hash bleibt jetzt persistent über Checkout-Prozess
- Problem: JTL regeneriert Session-ID während Checkout (Session Fixation Protection)
- Folge: Click → Add-to-Cart → Purchase Attribution fehlgeschlagen (verschiedene Hashes)
- Lösung: Tracking-Hash in separatem Session-Key (
$_SESSION['zhz_tracking_hash'])
- DSGVO-konform: Keine personenbezogenen Daten (zufälliger 64-Zeichen Hash)
- Session-basiert: Nutzt bestehende JTL-Session, kein zusätzlicher Cookie
- Persistent: Hash bleibt über JTL-Session-Regeneration hinweg erhalten
- Einfach: Keine Session-Konflikte, nutzt nur separaten Session-Key
- Betrifft: track-event.php, Bootstrap.php (3 Hooks: 126, 205, 228)
-
CRITICAL: MwSt-Berechnung korrigiert
- Problem: Purchase-Tracking sendete Netto-Preise statt Brutto (MwSt-Satz war 0)
- Lösung: 3 Fallbacks für MwSt-Satz (
fMwSt, fMwStSatz, Artikel->fMwSt)
- Beispiel: 2,39 € Netto + 19% MwSt = 2,84 € Brutto
- Betrifft: Bootstrap.php Purchase-Hook (Zeile 1294-1317)
-
CRITICAL: Backend-Endpoint Migration
- Problem: Alte Analytics-Endpoints existieren nicht mehr (Migration zu cart_tracking_events)
- Alt:
/api/v1/analytics/top-performing-products (gelöscht)
- Alt:
/api/v1/analytics/popular-searches (gelöscht)
- Neu:
/api/v1/tracking/cart-stats?days=90 (Top Products)
- Neu:
/api/v1/dashboard/stats?days=30 (Popular Searches)
- Betrifft: get-top-products.php, get-popular-searches.php
-
CRITICAL: Backend API Response-Struktur korrigiert
- Problem: Falsche Feldnamen nach Backend-Migration
- Fix get-top-products.php:
- Alt:
$cartStatsData['top_clicked']
- Neu:
$cartStatsData['data']['top_products']['clicked']
- Fix get-popular-searches.php:
- Alt:
$backendData['top_searches']
- Neu:
$backendData['data']['topSearches'] (camelCase)
- Alt:
$item['query']
- Neu:
$item['search_query']
- Ergebnis: Top Products und Popular Searches funktionieren jetzt
-
CRITICAL: .htaccess - Fehlende Regeln für Contextual Recommendations
- Problem: 403 Forbidden auf get-page-context.php, get-product-recommendations.php, get-category-top-products.php
- Ursache: Dateien waren nicht in .htaccess whitelisted
- Fix: 3 neue Frontend-Endpoint-Regeln hinzugefügt (Require all granted)
- Ergebnis: Contextual Recommendations funktionieren jetzt (Kunden kauften auch, Kategorie Top Products)
Technische Änderungen
- track-event.php: Vereinfachte Validierung (nur product_id required, query optional)
- track-event.php: Immer beide Felder in Payload (query: null, section: '')
- zhz-search-override.js: Top Products Handler auf trackCartEvent() umgestellt
- Banner Tracking bleibt separat über Backend API (wie gewünscht)
- Session-Handling: 4 Stellen umgestellt auf separate Session (track-event.php + 3x Bootstrap.php)
[2.0.7] - 2025-12-22
Neue Funktionen
-
Backend-Triggered Sync - Echter Hintergrund-Sync ohne Browser-Abhängigkeit
▪ Browser kann nach Start geschlossen werden
▪ Sync läuft auf dem Server mit unbegrenzter Laufzeit
▪ Funktioniert auch bei sehr großen Shops (100.000+ Artikel)
▪ Persistente Statusverfolgung in Backend-Datenbank
▪ Automatisches Error-Handling und Retry-Logik
▪ Nur 3 Buttons: Full Sync, Incremental Sync, Status
-
Live-Status-Updates - Optionale Echtzeit-Fortschrittsanzeige
▪ Status-Polling alle 3 Sekunden
▪ Zeigt Fortschritt, synchronisierte Produkte, Dauer
▪ Automatische Aktualisierung bis Job abgeschlossen
-
Sync-Historie - Übersicht über vergangene Synchronisationen
▪ Zeigt die letzten 10 Sync-Jobs
▪ Job-ID, Typ (Vollständig/Inkrementell), Status, Produkte, Dauer
Fehlerbehebungen
- CRITICAL: Multi-Language Fallback System - Felder-für-Felder Fallback auf Standardsprache
▪ Problem: Produkte mit unvollständigen Übersetzungen hatten leere Felder (product_name, description)
▪ Lösung: Jedes Feld wird einzeln geprüft und fällt bei Bedarf auf die Standardsprache zurück
▪ Betrifft:
product_name, description, short_description
▪ Verhindert "Server-Fehler nach 3 Versuchen" bei mehrsprachigen Shops
Technische Änderungen
adminmenu/sync.php: Backend-API-Integration (trigger-full-sync, trigger-incremental-sync, sync-status, sync-history)
SyncDataBuilder::getProductLanguageData() komplett überarbeitet
- Vereinfachte UI mit nur 3 Buttons
[2.0.6] - 2025-12-21
Neue Funktionen
- Sprachsuche (Voice Search) - Suche per Mikrofon auf allen Geräten
▪ Desktop und Mobile Unterstützung (Chrome, Edge, Safari)
▪ Automatische Spracherkennung (DE, EN, FR, IT, ES, NL, PL)
▪ DSGVO-konformer Consent-Dialog beim ersten Klick
▪ Echtzeit-Transkription ins Suchfeld
▪ Aktivierung/Deaktivierung im Plugin-Backend
▪ Touch-optimiert für mobile Geräte
[2.0.5] - 2025-12-18
Neue Funktionen
- Banner-Verwaltung - Enterprise-Feature für Marketing-Banner
▪ Desktop und Mobile Banner separat verwaltbar
▪ Zeitgesteuerte Anzeige (Start/End-Datum)
▪ URL-Verlinkung mit optionalem neuen Tab
▪ Suchbegriff-Targeting (z.B. Banner nur bei Suche nach "Ball")
▪ Sprach-Targeting (DE, EN, FR etc.)
▪ Position: Nach Top-Produkten, vor Suchergebnissen
▪ Analytics: Impressions und Klicks werden getrackt
▪ Automatische Skalierung und Responsive-Darstellung
Verbesserungen
-
Session-basierte Spracherkennung - Fix für mehrsprachige Shops
▪ Plugin erkennt jetzt die aktuelle Session-Sprache
▪ Früher: Immer Deutsch, auch wenn auf Englisch umgeschaltet
▪ Jetzt: Korrekte Sprache für Übersetzungen und Banner-Targeting
▪ Verwendet $_SESSION['kSprache'] mit Fallback zur Standard-Sprache
-
Banner-Clearing bei leerer Suche - Bessere UX
▪ Banner werden entfernt wenn Suche geleert wird
▪ Sauberer Übergang zurück zu Top-Produkten
[2.0.4] - 2025-12-17
Neue Funktionen
- 3-Wert Produkt-Varianten Filter - Flexibles Filtern nach Produkttypen
▪ Alle anzeigen (Väter + Kinder + Normale)
▪ Kinder ausblenden (nur Väter + Normale)
▪ Väter ausblenden (nur Kinder + Normale)
▪ Shop-Admin kann frei entscheiden
▪ Gilt für Modal, Autocomplete und Top Produkte
Verbesserungen
- Parent-Child Tracking - Warenkorbtracking erkennt jetzt Varianten-Beziehungen
▪ Wenn Vater-Artikel geklickt wird, aber Kind gekauft → Verbindung erkannt
▪ Click-to-Purchase Journey wird korrekt erfasst
▪ Bessere Analytics für Produkte mit Varianten
- Unbegrenzte Kategorie-Prioritäten - Keine Limits mehr
▪ Früher: Maximal 0-100
▪ Jetzt: Unbegrenzt (nur Negativwerte werden verhindert)
▪ Ideal für Marketing-Aktionen mit hohen Prioritäten
-
Kategorie-Hierarchie - Prioritäten werden vererbt
▪ Oberkategorien-Attribute werden berücksichtigt
▪ Artikel erbt Priorität von allen Parent-Kategorien
▪ Höchster Wert in der Hierarchie wird verwendet
[2.0.3] - 2025-12-16
Neue Funktionen
- Top Produkte - Zeigt Ihre erfolgreichsten Produkte beim Klick ins Suchfeld
▪ Automatische Empfehlungen basierend auf Performance-Analytics
▪ 3 Profile zur Auswahl: Umsatz-fokussiert, Engagement oder Balanced
▪ Frei konfigurierbar (Anzahl, Ein/Aus)
▪ Analysezeitraum: Letzte 90 Tage
▪ Backend-Endpoint mit Cache für schnelle Ladezeiten
▪ Reduziert API-Calls von 2 auf 1
Verbesserungen
- Suchmodal öffnet sich jetzt sofort beim Klick ins Suchfeld
- Keine Template-Anpassungen mehr erforderlich
- Bessere Kompatibilität mit allen JTL Shop Themes
- Einstellungen kompakter dargestellt (Grid-Layouts)
- Such-Modal: Icons einheitlich grau für konsistentes Design
-
Top Produkte zeigen korrekte Preise an
▪ Kundengruppen-spezifische Preise
▪ Sonderpreise und Rabatte
▪ Lagerbestand mit Ampel-Status
▪ Alle Produkt-Informationen vollständig
2.0.9 - 14.01.2026- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.4.0 - 5.6.1
- Kompatibel mit PHP:von 8.2
[2.0.9] - 2025-01-14
Fehlerbehebung
2.0.0 - 15.12.2025- Kompatibel mit JTL-Wawi: Keine Abhängigkeit
- Kompatibel mit JTL-Shop 5:von 5.2.0 - 5.6.1
- Kompatibel mit PHP:von 8.2
[2.0.0] - 2025-12-14
Neue Funktionen - Bot Protection System
Verbesserungen
-
Security Enhancements
- Bots erhalten leere Suchergebnisse (keine 403/429 Fehler)
- Fail-Open Design (Fehler blocken keine echten User)
- IP-Erkennung mit Proxy/CDN Support (X-Forwarded-For, X-Real-IP)
- Keine permanente IP-Blockierung
-
Performance
- Rate Limit Tabelle mit Auto-Cleanup (5-Minuten-Fenster)
- Optimierte DB-Abfragen mit Prepared Statements
- Indexed Queries für schnelle IP-Lookups
Datenbank
- Neue Tabelle:
xplugin_zhz_rate_limits
- Automatische Erstellung bei Plugin-Installation
- Speichert: IP, Timestamp, User-Agent
- Automatisches Cleanup alter Einträge
- Index auf
ip und timestamp für Performance
Technische Details
-
Neue Dateien
src/Helpers/BotProtection.php - Core Bot Detection Logic
get-token.php - JavaScript Token Generation Endpoint
BOT_PROTECTION.md - Vollständige Dokumentation
-
Modifizierte Dateien
search-api.php - Bot Check Integration
resources/js/zhz-search-override.js - Token Management
frontend/search-modal.php - Honeypot Field
src/Database/SchemaManager.php - Rate Limit Tabelle
Schutz-Effektivität
-
Blockiert:
- Einfache Scraper (curl, wget, python-requests)
- Mass-Scraping (> 50 Requests/5 Min)
- Headless Browser ohne Session
- Bot-Frameworks (Scrapy, Selenium, etc.)
-
Erlaubt:
- Alle echten Shop-Besucher (keine Einschränkungen)
- SEO-Bots (Google, Bing, etc.)
- Legitime API-Aufrufe
- Shared IPs (Firmennetzwerke, etc.)
DSGVO & Privacy
- Keine Cookies verwendet (nur Session)
- Keine personenbezogenen Daten gespeichert
- Nur IP + Timestamp (5 Min Retention)
- Fail-Open bei Fehlern
[1.9.9] - 2025-12-01
Neue Funktionen
Verbesserungen
Fehlerbehebungen
-
CRITICAL: Session Hash Konsistenz (MD5 → SHA256 Migration)
- Einheitliche Hash-Generierung für alle Cart Events
- Backend kann Events nun korrekt zuordnen
-
Click-Tracking JSON Error
- Entfernte doppelte
session_start() Aufrufe
- Saubere JSON-Responses ohne PHP-Warnings
-
Cart Attribution Matching
- Backend-seitige Zuordnung von Click → Add-to-Cart Events
- Korrekte
search_query und position Attribution
-
Sync Stabilität
- Verbesserte Error-Handling für Webhook-Failures
- Retry-Logik für fehlgeschlagene Sync-Operationen
- UTF-8 Encoding Fixes für Sonderzeichen
Technische Änderungen
-
Code-Qualität
- Entfernung aller Debug-Logs aus Production-Code
- PHP 8.3 Kompatibilität
- Improved Error Handling & Exception Management
-
Build System
- Automatische Obfuscation für PHP & JavaScript
- Separate Builds: Normal + Extension Store Version
- Build-Artefakte im Git Repository versioniert
-
Security
- Webhook-Authentifizierung via Secret Token
- API-Key basierte Backend-Kommunikation
- Input-Validierung für alle User-Inputs
[1.8.9] - 2025-09-10
Neue Funktionen
-
Modal Search Widget
- Vollbild-Suchmodal mit anpassbarem Design
- Konfigurierbare Border-Radius für alle Ecken
- Custom Header-Gradients und Farben
- Grid-Layout mit 1-5 Spalten (Desktop)
- URL-Parameter Support für Direktaufruf (
?q=Suchbegriff)
-
Filter-System
- Kategorie-Filter mit Hierarchie
- Preis-Filter mit Bereichsauswahl
- Merkmals-Filter (konfigurierbare Attribute)
- Filter-UI direkt im Dropdown (optional)
-
Lagerbestand-Anzeige
- Ampel-System (rot/gelb/grün)
- Konfigurierbare Anzeige für Bestände > 10
- Optional: Nicht verfügbare Artikel ausblenden
Verbesserungen
-
Sync-Performance
- Inkrementeller Sync nur für geänderte Artikel
- Täglicher Full-Sync (02:00 Uhr)
- 15-Minuten Intervall für Delta-Updates
- Chunk-basierte Verarbeitung (100 Artikel pro Batch)
-
Mehrsprachigkeit
- Vollständige Unterstützung für DE/EN/FR
- Sprach-spezifische Collections
- Automatische Spracherkennung
Fehlerbehebungen
- Thumbnail-Generierung für verschiedene Bildformate
- Encoding-Fixes für Umlaute und Sonderzeichen
- Session-Handling Verbesserungen
[1.7.0] - 2025-08-28
Neue Funktionen
Log History
-
2.2.2514.07.2026
-
2.2.2112.07.2026
-
2.2.1726.06.2026
-
2.2.025.06.2026
-
2.1.1016.04.2026
-
2.1.720.03.2026
-
2.1.612.03.2026
-
2.1.425.02.2026
-
2.1.325.02.2026
-
2.1.210.02.2026
-
2.1.105.02.2026
-
2.1.031.01.2026
-
2.0.914.01.2026
-
2.0.015.12.2025