Wichtige Hinweise:


Da dieses Skript, je nach Anzahl der Artikel und Suchmaschinen eine lange Laufzeit aufweisen kann, muss darauf geachtet werden, dass das Skript durch "max_execution_timeout" nicht vorzeitig abgebrochen wird. 

Das Skript hat einen "Lock"-Machanismus, damit sicher gestellt ist, dass das Skript (je Action) nicht mehrmals parallel ausgeführt wird.


Hast du z.B. Lagerbestandsänderungen über eBay/Amazon die über den JTL-Worker an (ständig) den Shop gesendet werden, kann dies die Anzahl der Request an dooFinder jedoch deutlich erhöhen. In diesem Fall empfehlen wir den Paginated Feed zum Abgleich mit dooFinder.


INHALTSVERZEICHNIS




1. Grundsätzlich: Cronjobs einrichten


Um die doofinder Suche aktuell zu halten, kannst du täglich einen Export durchführen, sodass doofinder die neuen Informationen abrufen kann.


Sollte Dein WebHoster keine Cronjobs zur Verfügung stellen kannst du auf kostenlose Services, wie z.B. cron-job.org oder cronjob.de zurückgreifen.


Melde dich einfach kostenlos an, und konfiguriere einen Cronjob wie folgt:



Im Reiter SYNC-API findest du weiter unten die URLs für deinen Cronjob


Hier findest du mehrere URLs. Für ReIndex, aber auch für einen Komplettabgleich.


2. ReIndex (Nur Abgleich der Änderungen)


Beim ReIndex werden Artikel, die sich über die WAWI, über Bewertungen oder Käufe (Lagerbestand) geändert haben, neu bei dooFinder indiziert, sodass hier kein komplett Abgleich notwendig ist (Delta Abgleich).


Das spart Requests und beschleunigt die Synchronität deines Shops mit den doofinder Daten.


Hier gibt es 2 Möglichkeiten:


2.1 ReIndex über HTTP-Cronjob


Die URL für diesen Cronjob lautet in etwa: 


https://www.meinshop.de/includes/plugins/jst_doofinder/sync.php?action=reindex


2.2 ReIndex über Server-Cronjob


Bei dieser Methode muss das Skript in die Cronjobtabelle eingetragen werden, z.B. so:


*/15 * * * * /PFAD/ZUM/PHP /PFAD/ZUM/SHOP/includes/plugins/jst_doofinder/sync.php reindex


In diesem Fall würde das Skript alle 15 Minuten ausgeführt werden. Konkret könnte das in etwa so aussehen:


*/15 * * * * /usr/bin/php /var/www/meinshop.de//includes/plugins/jst_doofinder/sync.php reindex


API-Requests Limits


Da dooFinder nach Requests abrechnet, gib es die Möglichkeit eine mindest Anzahl an Artikel festzulegen, z.B.


define('DOOFINDER_MIN_REINDEX', 100);


Durch hinzufügen dieser Zeile in die Shop Config-Datei (/includes/config.JTL-Shop.ini.php) werden Produkte nur syncronisiert, wenn mindestens 100 Produkte zur ReIndizierung zu Verfügung stehen.


Bei der ReIndizierung werden immer alle eingerichteten Suchmaschinen aktualisiert.


3. Export URL (Komplettabgleich)



Mit diesen URLs kannst du pro Suchmaschine auch einen Komplettabgleich per cronjob durchführen lassen


Der cronjob erstellt dann bei Aufruf eine Exportdatei (Feed), hier ....doofinder-de-EU-1.xml


Damit wird also eine Exportdatei auf deinem Server abgelegt.


Diese kannst du nun per doofinder regelmäßig anrufen lassen. Dabei werden alle Produktdaten überschrieben - ein Komplettabgleich also


So pflegst du das im doofinder Backend ein:

 


Das könnte z.B. gut nachts erfolgen.