Seiten-Crawler
Bei dem Seiten-Crawler handelt es sich um das Herzstück des OnPage SEO Analyse Plugin. Ähnlich wie Suchmaschinen oder anderen Cralwing Diensten werden die einzelnen Seiten gecrawlt und anschließend analysiert. Als Basis verwendet das Plugin dabei cURL. Hierbei werden zunächst die Artikel, Blogseiten, Kategorien usw. gecrawlt. Gefundende Links die auf weitere interne Seiten verweisen werden zunächst zwischengespeichert und anschließend ebenfalls ausgewertet. Somit wird sichergestellt, dass jede Seite ausgewertet wird, die intern mindestens einmal verknüpft ist und von extern ohne Login erreichbar ist.
Aufbereiten der gesammelten Daten
Nach dem Crawlen der Seiten werden weitere Daten im Prozess Aufbereiten der gesammelten Daten analysiert / aufbereitet. Hierbei werden die folgenden Informationen ermittelt:
- Titel Duplikate
- Meta Description Duplikate
- H1 Überschriften Duplikate
- Anzahl der ein- und ausgehenden Links pro Seite
- Analyse der robots.txt
Crawler Strategie
Das Crawlen der Seiten des Shops kann über zwei verschiedene Wege erfolgen, die in dem Plugin als Crawler Strategie hinterlegt werden kann.
Crawler-Strategie: Manuell
Ist diese Strategie ausgewählt, so kann das Crawlen der Seiten direkt über das Backend durchgeführt werden. Da die Analyse und Auswertung einer Seite unter Umständen recht aufwendig sein kann, ist diese Vorgehensweise nur für kleinere Shops ratsam.
Crawler-Strategie: Shell-Skript
Bei der Strategie "Shell-Skript" kann der Crawler per Shopware CLI Command gesteuert werden.
CLI Command
bin/console dreisc:seo-crawler:crawl
Grundlegende Informationen zu den Shopware CLI Commands finden Sie unter:
https://docs.shopware.com/de/shopware-5-de/tutorials-und-faq/shopware-cli
CLI Optionen im Überblick
--threadLimit
Definiert wie viele Calls der Crawler im aktuellen Durchlauf abarbeiten soll. Pro Call wird im Normalfall eine Seite bzw. eine Analyse durchgeführt. Wird dieser Parameter nicht definiert, so werden automatisch bis zu 1.000 Calls durchgeführt.
--timeLimit
Definiert wie viele Minuten der Cralwer maximal laufen soll. Bei der Verwendung eines Zeitlimits wird die Anzahl der maximalen Calls (threadLimit) auf 50.000 gesetzt, wenn nicht explizit anders übergeben.
--preventRestart
Im Standard wird nach Fertigstellung des kompletten Crawlens automatisch erneut ein neues Crawling gestartet. Um dies zu unterbinden, kann die Option --preventRestart 1 gesetzt werden. In diesem Fall wird lediglich ein aktives Cralwing weitergeführt, jedoch kein neues gestartet.
Link Einstellungen
Im Normalfall werden alle gefundenen Links einer Seite entsprechend gespeichert und ebenfalls gecrawlt. Über die folgenden Einstellungen haben Sie die Möglichkeit gewisse Seiten vom Crawlen auszuschließen.
GET Parameter Blacklist
Alle Links die einen der hier definierten GET Parameter beinhalten, werden vom Crawler ignoriert.
Die Einträge werden mit einem Komma von einander getrennt.
Mögliche Syntax:
- [GET-Paramter] oder
- [GET-Parameter]=[Wert des Parameters]
Erklärung der Standardwerte:
- sFilterTags, sFilterDate, sFilterAuthor
Filter des Shopware Blog-Systems - min,max,f,o
Listing-Links mit aktivem Preis- oder Eigenschaftsfilter bzw. einer Sortierung - sInquiry=detail
Anfrageformular mit übergebener Bestellnummer
Regex Blacklist
Alle Links die mit einem der hier definierten regulären Ausdrücke übereinstimmen, werden vom Crawler ignoriert.
Die Einträge werden mit einem Zeilenumbruch von einander getrennt.
Beispiel:
- Alle Links mit dem Unterordner "dev/" ausschließen
#^http(s)?:\/\/[a-z0-9-.]{1,}\/dev\/#i
Beispielliste ausgeschlossener Links:
http://www.testshop.de/dev/
https://www.testshop.de/dev/
https://www.testshop.de/dev/weiterer-unterordner/
https://www.testshop.de/dev/artikel-abc
Analyse zurücksetzen
Über die Schaltfläche "Analyse zurücksetzen" kann ein aktives Crawling zurückgesetzt werden. Wird das Crawling anschließend erneut gestartet, so beginnt das crawlen wieder bei dem ersten Artikel.
Über den folgenden CLI Befehl kann das zurücksetzen per Shell durchgeführt werden
bin/console dreisc:seo-crawler:reset
Konfigurations-Beispiel (empfohlen)
Eine Konfiguration des Crawlers per Cronjob kann wie folgt aussehen:
Um 20 Uhr wird das Script wie folgt ausgeführt:
/var/www/clients/client1/web2/web/bin/console dreisc:seo-crawler:crawl --timeLimit 55
Der Crawler ist hierbei 55 Minuten, sprich bis 20:55 Uhr aktiv. Falls das Script zu diesem Zeitpunkt noch nicht gestartet war, wird es neu gestartet (Cralwer startet von vorne).
Zwischen 21 und 07 Uhr wird das Script stündlich wie folgt ausgeführt:
/var/www/clients/client1/web2/web/bin/console dreisc:seo-crawler:crawl --timeLimit 55 --preventRestart 1
Es werden stündlich ebenfalls neue Crawler Jobs gestartet, die 55 Minuten laufen. Die letzten fünf Minuten bis zur vollen Stunden besteht immer ein Leerlauf. Wurde das Crawling zwischenzeitlich abgeschlossen, bspw. um 05 Uhr morgens, so wird das Crawling durch den Paramater --preventRestart 1 nicht erneut gestartet. Ein Neustart des Crawlers würde entsprechend am Abend um 20 Uhr durchgeführt werden.
Wichtige Hinweise
1. Der Pfad /var/www/clients/client1/web2/web muss entsprechend durch den Document Root von Ihrem System ausgetauscht werden.
2. Es muss sichergestellt sein, dass die o.d. Einstellung Crawler-Strategie auf Shell-Skript steht.