Pingback ohne Wordpress Blog

Ich benutze kein Wordpress mehr. Das ist nichts neues. Aber eine der Sachen, die ich seit dem Wechsel zu Processwire vermisse, ist die Pingback-Funktionalität. Dank dieser wusste ich immer, wer meine Artikel wo verlinkt hat. Leider gibt es diese aber bei Processwire auch heute (noch) nicht. Deshalb habe ich selber recherchiert, Testreihen gestarten und es schlussendlich geschafft dies auch ohne Wordpress zu ermöglichen.

Das ist jetzt zwar schon etwas länger her, aber der Code, an den ich mich aus aktuellem Anlass wieder erinnert habe, funktioniert immer noch einwandfrei. Und ich möchte ihn euch nicht vorenthalten:

Der Code

Der Code basiert auf der 2010 veröffentlichten "Incutio XML-RPC Library for PHP", auf der auch das WordPress-Pingback-System basiert. Diese könnt ihr hier runterladen.

Der benötigte Code sieht wie folgt aus:

<?php

include('ixr.php'); 

if(isset($_POST['send'])) {
$client = new IXR_Client($_POST['xmlrpc']);
$client->query('pingback.ping', $_POST['pagelinkedfrom'], $_POST['pagelinkedto']);
$response = $client->getResponse();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Ping it to me, Babe!</title>
</head>
<body>

<?php
var_dump($response);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="send" value="1">
<input type="text" name="pagelinkedfrom" placeholder="Page linked from">
<input type="text" name="pagelinkedto" placeholder="Page linked to">
<input type="text" name="xmlrpc" placeholder="XMLRPC-Url">
<input type="submit">

</form>
</body>
</html>

Oben, im PHP-Teil, wird die IXR-Klasse eingebunden und, falls das Formular abgesendet wurde, wird der Pingback abgesendet. Natürlich kann man das auch ohne Formular bauen, aber zum testen ist es so ganz gut.

Dadrunter folgt der HTML-Teil. In diesem wird erstmal ein lustiger Titel festgelegt (hihi). Dadrunter kommt das Formular, dessen Inhalt man auch mit HTML-Basiswissen verstehen sollte. In das erste Feld trägt man die Ausgangs-URL ein bzw. lässt diese automatisch eintragen. Von der hier verlinkten Seite muss (!) ein Link auf die Ziel-URL gehen. Ins zweite Feld trägt man dann die Ziel-URL ein, auf welcher der/die/das Pingback erscheinen soll. Ins dritte Feld trägt man die XMLRPC-Url ein oder lässt sie automatisch eintragen. Bei Wordpress-Blogs ist diese immer "http://domain.ltd/xmlrpc.php".

Ihr würdet das gerne ausprobieren? Hier habt ihr die Chance dazu. Bitteschön.