Crawling-Fehler mit _wpnonce und wp-login.php in WordPress-Blogs beseitigen
Ich wundere mich schon seit einer Weile über eigenartige Crawling-Fehler, die mir in den Webmaster Tools unter Diagnose angezeigt werden. Sie sehen beispielsweise so aus:
htt
Alle erzeugten einen 403-Fehler und verschlechtern natürlich die Bewertung des eigenen Blogs bei Google. Seiten mit fehlerhaften Links sind unschön und somit auch nicht wichtig. Also mal im Seitenquelltext nachgeschaut und festgestellt: Der Link wie oben im Beispiel dargestellt wird durch die WordPress Admin-Bar in die Seite eingefügt. OK, gut und schön, nachvollziehbar. Nur warum zur Hölle sieht der Crawler von Google die Admin-Bar?
Des Rätsels Lösung scheint in meinem Fall das Plugin W3 Total Cache zu sein. Dieses Plugin beschleunigt die Auslieferung der Inhalte, indem es diverse Caching-Mechanismen aktiviert. Unter anderem cached es auch die fertig zusammengebauten Seiten für eine gewisse Zeit auf der Festplatte und kann im Idealfall diesen Cache ausliefern, statt erst den deutliche längeren Weg über Datenbankabfragen nehmen zu müssen. Dieses Feature hatte mir schon einmal den Allerwertesten gerettet, als aufgrund eines massiv retweeteten Blogeintrages urplötzlich hunderte von Besuchern binnen 2-3 Minuten hier aufschlugen…
Nun, soweit, so schön. Aber eigentlich hatte ich erwartet, dass aufgrund der Aktivierung von „Don’t cache pages for logged in users“ im Plugin meine Besuche NICHT gecached werden würden. Macht ja auch Sinn, anderenfalls würden Besucher meiner Seite unter Umständen MEINE Admin-Bar im Quelltext ausgeliefert bekommen. Und möglicherweise auch angezeigt… Überhaupt nicht schön. Nur scheint es exakt an diesem Punkt einen Bug im Plugin W3 Total Cache zu geben, denn ganz offensichtlich wurde meine Besuche sehr wohl gecached, nur nicht aus dem Cache an mich ausgeliefert. Googles Crawler hingegen hat die Seiten offenbar aus dem Cache bekommen, MIT meiner Admin-Bar. Und lief beim überprüfen der Links dann in den „403 Forbidden“-Fehler. Unschön.
Da ich die Admin-Bar ohnehin nicht nutze, habe ich sie nun kurzerhand ausgeblendet. Eine sehr einfache Möglichkeit dazu habe ich im Blog von WordPress Deutschland gefunden und somit war es nur eine Sache von einer Minute. Es gibt nun keine Admin-Links mehr in der Seite, auch nicht, wenn ich eingeloggt bin. Somit kann auch nichts falsches gecached und ausgeliefert werden. Problem (offenbar) gelöst. Werde in den nächsten Tagen mal verstärkt darauf achten, wie es in den Webmaster Tools aussieht.