Crawlen von AJAX Inhalten

Bei dem Crawling der Seiten durch die OnPage SEO Analyse, werden die einzelnen Seiten über eine cURL Anfrage gecrawlt. Anders als beim Browser werden hierbei keine JavaScript Inhalte ausgeführt, sodass auch keine AJAX Requests zum tragen kommen.

Crawlen der Einkaufswelten

Dies hat zur Konsequenz, dass über dieses Weg bspw. standardmäßig auch die EInkaufswelten von Shopware durch den Crawler nicht erfasst werden. Um Inhalte wie diese jedoch trotzdem dem Crawler zur Verfügung zu stellen, wurde der Crawler durch einen Content Filter so erweitert, dass er bspw. bei den Einkaufswelten nach den entsprechenden Mustern im Quellcode sucht und diese durch den Inhalt der Einkaufswelt ersetzt.

Hierbei ist zu beachten, dass der Crawler bei den Einkaufswelten immer den Inhalt für die Auslösung Desktop ermittelt.

Weitere bzw. eigene Ajax Inhalte nachladen

Sollten Sie eigene Ajax Requests in Ihrem Shop - durch weitere Plugins oder aber individualprogrammierungen - im Einsatz haben, die Sie ebenfalls über den Crawler laden möchten, so kann der Filter entsprechend um eigene Inhalte erweitert werden. Somit wird dann sichergestellt, dass diese Inhalte bei der SEO Analyse zur Verfügung stehen.

Für die Erweiterung steht das folgenden Shopware Event zur Verfügung:

Dreisc_DreiscSeoCrawler_CrawlerContentRawFilter

Als filterbares Element wird hierbei der Quellcode der angefragten Seiten übermitteln. Somit sind Sie durch dieses Event in der Lage in dem Quellcode nach Ihrem Ajax-Wrapper zu suchen und diesen durch den entsprechenden Inhalt zu ersetzen.

Als Integrationsbeipsiel kann hierbei die Einbindung der Einkauswelten als Referenz genutzt werden, die ebenfalls über dieses Event implementiert wurde.

Die Integration finden Sie in der folgenden Datei:
/custom/plugins/DreiscSeoCrawler/Subscribers/CrawlerContentRawFilterSubscriber.php

Grundlegende Informationen zur Erweiterung per Event finden Sie unter:
https://developers.shopware.com/developers-guide/event-guide/