toscho.design
Redaktion, Druck- und Webdesign aus Halle (Saale)

WordPress: Pingback-Header entfernen

Ich habe hier Pingbacks und Trackbacks abgeschaltet (unter »Einstellungen/Diskussion«).
Diese Rückmeldungen schlagen in den unterschiedlichsten Zeichenkodierungen ein und müssen umständlich auf UTF-8 normalisiert werden, sie enthalten oft Spam, und als Leser in anderen Blogs stören sie mich nur.

HTTP-Requests auf /xmlrpc.php leite ich schon lange nach localhost um.

RewriteCond %{THE_REQUEST} xmlrpc\.php [NC]
RewriteRule ^.* http://localhost [L,R=301]

WordPress aber sendet fröhlich bei jedem Zugriff den Header (Bug 9092):

X-Pingback: http://toscho.de/xmlrpc.php

Das hat jemand in der Funktion send_headers() in wp-includes/classes.php festgeschraubt. Danke.

Macht nix: Wenig später wird ein Filter angeboten. In der functions.php unseres Themes schrauben wir den Ballast also wieder ab:

// Pingback
add_filter('wp_headers',
    create_function('$h','unset($h["X-Pingback"]);return $h;')
);

Das spart 39 Bytes pro Request und – wichtiger – suggeriert niemandem, Pingbacks und Trackbacks seien doch erwünscht.

Natürlich hat mein Verfahren auch einen Nachteil: Man kann Ping- und Trackbacks jetzt nicht mehr für einzelne Artikel anschalten (siehe Bug 7324). Wer das möchte, sollte die Funktion nicht verwenden – oder sie erst prüfen lassen, ob für den gerade aufgerufenen Artikel so eine Ausnahme gilt.

Leser, die diesen Hack blöd finden, ärgern sich hoffentlich auch hierüber: Aktualisierungsrate der Newsfeeds anpassen (bueltge.de).

5 Kommentare

  1. Michael am 02.01.2010 11:44:

    Ich verstehe ehrlich gesagt nicht, warum Du das machst.

    Trackbacks sind doch sehr nützlich, auch für die Leser, wenn man sehen möchte, wer sich über das entsprechende Thema noch geäußert hat.

    Und es ist ein kleiner Dank zurück für die Verlinkung des Beitrags.

    Gruß Michael

  2. Thomas Scholz am 02.01.2010 11:52:

    Üblicherweise bekommt man leider nur Satzfetzen, die niemandem einen richtigen Nutzen bringen. Dafür steigt der Aufwand bei der Kommentarmoderation, und ich muß mich um valides UTF-8 kümmern (das schafft WordPress von Haus aus nicht zuverlässig).

    Ich setze mich irgendwann mal hin und schreibe eine brauchbare Umsetzung. Bis dahin bleibt das draußen.

  3. Francesco am 25.02.2010 21:39:

    Wo kann ich denn kontrollieren oder sehen, ob WordPress bei jedem Zugriff den Header

    X-Pingback: http://example.com/xmlrpc.php

    sendet?

    [URL geändert, toscho]

  4. Francesco am 25.02.2010 21:41:

    Ehm, natürlich nicht genau den Header mit toscho.de … sorry.

  5. Thomas Scholz am 26.02.2010 04:41:

    @Francesco: HTTP-Header kannst du normalerweise im Browser ansehen: In Opera Dragonfly und in Firefox’ Firebug jeweils im Reiter Netzwerk, in Safari unter Webinformationen/Ressourcen.
    Außerdem kannst du online beim Websniffer nachgucken.

Was sagst du dazu?

RSS-Feed für diese Kommentare · Hinweise zum Datenschutz
Nur das ist Pflicht, der Rest … nicht.
Bitte maskiere < und > mit und , sonst werden sie gefressen.