Der Pingback-Ärger mit Wordpress

Die Beschreibung für Wordpress 2.9 findet Ihr mit genauer Zeilenangabe hier: http://knut.me/s/2j

Heute Abend hat mich Nadine darauf angesprochen, dass bei ihr die Pingbacks (Die Information, dass in einem anderen Blog der eigene Artikel verlinkt ist) nicht ankommen. Ich habe mich daraufhin in der Google-Welt umgesehen und dabei festgestellt, dass der Bug in Wordpress (Versionen 2.7.X, auch die 2.7.1) eigentlich sehr einfach zu beheben ist, allerdings von den Entwicklern inzwischen auf Version 2.8 verschoben wurde.

Hier eine kurze Zusammenfassung für alle Nicht-Webentwickler, was dabei passiert:

Euer Blog versucht nach dem Ihr den Artikel speichert alle Blogs, die verlinkt sind über diese Verlinkung zu informieren. Dazu ruft es eine spezielle Adresse des anderen Blogs auf. Das ganze nennt sich "Pingback". Das Problem ist, dass die Entwickler eurem Blog mit der Version 2.7 nur noch 0.01 Sekunden Zeit lassen den anderen Blog zu informieren. Das ist zwar für euch bei mehreren Links gut, weil euer System schneller damit durch ist, allerdings ist es realistisch gesehen nicht möglich die anderen Blogs in 0.01 Sekunden zu informieren. Damit haben wir das Problem, dass die Pingbacks nur noch mit einer ähnlichen Wahrscheinlichkeit wie ein 6er im Lotto funktionieren.

Wenn also eure Pingbacks bei anderen Blogs nicht ankommen seid ihr durch das Problem betroffen und müsst eine ganz kleine Änderung durchführen. Diese Änderung wird in der Datei "cron.php" im Ordner "wp-include" eures Blogs gemacht. Dort sucht Ihr ca. bei Zeile 200 nach dem folgenden Text:

wp_remote_post($cron_url, array('timeout' => 0.01, 'blocking' => false));
und ändert ihn dann in den folgenden Text:
wp_remote_post($cron_url, array('timeout' => 1, 'blocking' => false));
Die Datei speichert Ihr dann wieder an der selben Stelle und das Problem sollte behoben sein. Ihr seht schon: Die Zahl bei "Timeout" ist die Zeit, die eurem Blog bleibt andere Blogs zu informieren. Eigentlich eine sehr simple Änderung aber doch ein großer Erfolg.

Leider bringt euch die Änderung nichts wenn Ihr auf der "Empfangenden Seite" sitzt. Also wenn euch ein anderer Blog darüber informieren möchte, dass er euch verlinkt hat. Damit das Problem an der Stelle auch verschwindet, könnt Ihr den Eigentümer des anderen Blogs auf diesen Artikel verweisen.

Alle Entwickler möchte ich weiterhin bitten sich dem Ticket #8665 im Wordpress-Trac anzuschließen, damit dort eine größere Unterstützung entsteht und somit die Änderung vielleicht noch vor 2.8 durchgeführt wird, da wahrscheinlich jeder User - egal wie technisch erfahren - die Änderung nach jedem Update wieder machen muss. Somit werden wir das Problem bis zu einem Fix durch das Wordpress-Team haben.

[Nachtrag: Den Pfad zur Datei verständlicher gemacht. Danke Gilly!]