Viele Inhaber von Websites oder Blogs fragen sich vielleicht „Wann und wie oft crawlt der Googlebot eigentlich meine Homepage?“.
Diese Frage habe ich mir auch gestellt. Es gibt zwei Möglichkeiten. Die manuelle Variante mittels PHP-Code und die „automatische über ein Plugin.
Eigentlich gibt es noch eine dritte Möglichkeit. Über die Google Search Console. Dort sieht man Zugriffe aber nur mit einigen Tagen Verzögerung. Bei den hier aufgeführten Varianten, sieht man in Echtzeit, wie der Googlebot auf die einzelnen Seiten zugreift.
Manuelle Variante
Meine Idee war es, ein kleines Stückchen Code, das mir bei jedem Aufruf durch den Googlebot eine Email schickt auf der Homepage einzufügen. So habe ich das bei früheren Homepages auch schon gelöst. Diese liefen aber nicht mit WordPress.
Also musste ich eine Datei finden, die bei jedem einzelnen Seitenaufruf aufgerufen wird.
Fündig bin ich unter „wp-content/themes/yourTheme/header.php“ geworden. „yourTheme“ muss hierbei natürlich durch den Namen des aktuell aktiven Themes ersetzt werden.
In dieser Datei wird der Header für jede Seite (egal ob Beitrag, Seite, usw.) erstellt.
Folgenden Code kann man nun einfach am Ende der Datei einfügen. Dieser Code registriert lediglich ob es sich bei dem aktuellen Besucher um den Googlebot handelt und verschickt anschließend eine Email. Es findet keine Ausgabe statt. Man muss also auch keine Angst haben, dass auf der Website irgendetwas zu sehen ist.
1 <?php 2 // Mail Crawler 3 $user_agent = $_SERVER['HTTP_USER_AGENT']; 4 if (stristr($user_agent, 'Googlebot')){ 5 $header = 'From: info@axels-blog.de' . "\r\n" . 'Reply-To: info@axels-blog.de'; 6 mail('your@email.com', 'Googlebot Zugriff' , wp_get_document_title(), $header); 7 } 8 ?>
In Zeile drei wird mittels HTTP_USER_AGENT der Browser des Besuchers ausgelesen und in die Variable „$user_agent“ geschrieben. Handelt es sich um den Googlebot, findet man folgenden Inhalt: „(compatible; Googlebot/2.1; +http://www.google.com/bot.html)“.
In Zeile 4 wird verglichen ob das Wort „Googlebot“ in dem Inhalt der Variable „$user_agent“ vorkommt. Falls ja, geht der PHP-Parser in die if-Anweisung rein. Wenn nicht, ist das Script fertig durchgelaufen.
In Zeile 5 wird der Header für die Email definiert. Absender Emailadresse und Antwort-Emailadresse.
In Zeile 6 wird die Email verschickt. „your@email.com“ muss in diesem Fall durch die gewünschte Ziel-Emailadresse ersetzt werden.
„Googlebot Zugriff“ ist der Betreff.
Mit „wp_get_document_title()“ wird eine Funktion aufgerufen, die den Titel zur jeweils aufgerufenen Seite rendert. Dieser Titel wird dann als Inhalt in die Email geschrieben. So kann man leicht erkennen um welche Seite es sich handelt.
Am Ende wird noch der vorher definierte Header mit „$header“ angehängt.
Natürlich ist die Funktion nicht rein auf den Googlebot beschränkt. Theoretisch kann dieses Schnipsel für alle Suchmaschinen Bots verwendet werden.
Hier ein Beispsiel für den Bingbot.
1 <?php 2 // Mail Crawler 3 $user_agent = $_SERVER['HTTP_USER_AGENT']; 4 if (stristr($user_agent, 'bingbot')){ 5 $header = 'From: info@axels-blog.de' . "\r\n" . 'Reply-To: info@axels-blog.de'; 6 mail('your@email.com', 'Bingbot Zugriff' , wp_get_document_title(), $header); 7 } 8 ?>
In meinem Email-Postfach habe ich mir einen Filter erstellt, der mir die Emails direkt in einen eigenen Ordner verschiebt. So habe ich alles an einem Ort und mein Postfach läuft nicht voll.
Genauso könnte man die Aufrufe auch in eine Datenbank schreiben. Dazu einfach den nötigen PHP-Code in die if-Anweisung schreiben. (Evtl. folgt hierzu mal ein Update 😉 )
Variante mit Plugin
Nachdem es bei WordPress für alle Anliegen ein Plugin gibt, hab ich natürlich auch hierfür nach einer passenden Lösung gesucht. Viel Auswahl gibt es leider nicht. Soweit ich das gesehen habe, gibt es genau ein Plugin, das Googlebot Aufrufe aufzeichnet.
„Simple Googlebot Visit“ von Codents nennt sich dieses Plugin. (https://wordpress.org/plugins/simple-googlebot-visit/)
Laut Beschreibung erfasst dieses Plugin (ab Aktivierung) jedes Crawling deiner WordPress Seite durch den Googlebot.
Die letzten Aufrufe können über eine Liste eingesehen werden. Zusätzlich wird in der Beitragsübersicht und in der Seitenübersicht eine zusätzliche Spalte erzeugt, in der man den letzten Aufruf des jeweiligen Elements sehen kann.
Soweit die Theorie…
Meine Erfahrungen
In der Theorie klingt das super. Wenn man die Ergebnisse aus dem Plugin isoliert betrachtet, erscheint es auch so, also würde es richtige Daten liefern.
Ich habe es über 4 Tage getestet und mit den Daten aus meiner E-Mail-Benachrichtigung und den Logfiles des Servers verglichen. Leider stimmen die Daten absolut nicht überein. Ich habe noch nicht ganz rausgefunden wo der Fehler liegt. Auf jeden Fall zeigt das Plugin deutlich mehr Zugriffe an, als es tatsächlich gegeben hat.
Beispiel: Der Googlebot greift auf eine Kategorie-Seite zu. Definitiv nur auf diese Seite (in den Logfiles kann man das ja konkret überprüfen). Im Plugin wurden dann aber Zugriffe auf die Kategorie-Seite, plus auf alle Artikel die hier verlinkt waren, angezeigt. Alle zur gleichen Zeit.
Bisher hatte ich noch nicht genug Zeit den Code so detailliert anzuschauen um dem ganzen auf den Grund zu gehen. Vielleicht folgt das noch, dann werde ich es hier als Update posten.
Was sagt ihr dazu?
Habt ihr das Plugin installiert? Konntet ihr Erfahrungen mit „Simple Googlebot Visit“ sammeln? Schreibt es mir gerne in die Kommentare. Würde mich sehr interessieren ob es dieses Problem noch öfter gab.
Schreibe einen Kommentar