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

CLI Option
Beschreibung
CLI Option:

--threadLimit

Beschreibung:

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.

CLI Option:

--timeLimit

Beschreibung:

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.

CLI Option:

--preventRestart

Beschreibung:

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.

Einstellung
Beschreibung
Einstellung:

GET Parameter Blacklist

Beschreibung:

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
Einstellung:

Regex Blacklist

Beschreibung:

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.

Cronjob Konfiguration exemplarisch bei Timme Hosting

Die oben beschriebende Beispiel Konfiguration sieht fertig konfiguriert bei Timme Hosting wie folgt aus: