Indexierung optimieren

WP Engage überträgt bei jeder Aktualisierung den gesamten Inhalt erneut an die Backend-Systeme, um Inkonsistenzen zu vermeiden. Hier kann es aus zwei Gründen zu Engpässen kommen, die dazu führen, dass nicht alle Inhalte erfasst werden können. Die Ursachen sind:

  1. große Mengen an Datenbeständen
  2. schwaches Webhosting

Ursachen #

WP Engage lädt Inhalte asynchron in den Index. Allerdings müssen dazu diese Aktivitäten aufgesetzt werden. Hat man sehr viele Inhalte, oder ist der Server beschränkt, kann diese Aktivität unter Umständen zu lange dauern.

So trifft dies bei vielen Inhalten in der Regel erst bei mehr als 30.000 Beiträgen ein, da zu viele Aktivitäten auf einmal gestartet werden.

Lösung #

Aus diesem Grund erzeugt WP Engage die Indexierungsaufgaben in mehreren Stufen. So werden zunächst alle Inhalte in Gruppen zu 2500 Beiträgen zusammengefasst, die dann im zweiten Schritt asynchron indexiert werden. Damit ist es auch möglich, große Datenbestände zu indexieren. Am Beispiel von 30.000 Beiträgen würden diese zunächst in 30.000 / 2.500 = 12 Hauptaufgaben aufgeteilt, die dann nacheinander jeweils 2500 Indexierungsaufgaben erstellen. Durch diese Methode sind Datenbestände weit über 100.000 Beiträgen möglich.

Anpassbarkeit #

Die 2.500 Beiträge mögen nicht immer passen. So kann dieser Wert bei einer sehr schwachen Webhosting-Lösung schon zu hoch sein, performante Seiten können weitaus größere Datenmengen verarbeiten.

Der Parameter lässt sich in der functions.php wie folgt frei anpassen (in unserem Beispiel beträgt die Gruppierung nun lediglich 500 Beiträge:

define('WP_ENGAGE_API_INDEXING_BATCH_SIZE', 500);