Come funzionano i TrackBack

Come funziona un sistema di TrackBack e come si invia un TrackBack Ping.

Nelle specifiche tecniche dei TrackBack di Six Apart, la societ�  che per prima introdusse questa tecnologia, inserendola nella sua piattaforma di blogging Movable Type, il TrackBack viene introdotto cos�¬:

L’idea centrale del TrackBack è quella di un TackBack Ping, cioè una richiesta HTTP la quale comunica che la “risorsa A è in relazione e/o collegata alla risorsa B”.

Tecnicamente, come vedremo, un TrackBack Ping non è altro che una semplice richiesta HTTP standardizzata.

Indice:

  1. Pingback o Trackback ping?
  2. Specifiche tecniche di funzionamento di un sistema di TrackBack.
  3. Come realizzare un modulo per l’invio manuale di un TrackBack Ping.
  4. Una libreria PHP per un sistema di TrackBack.
  5. Approfondimenti.

Pingback o Trackback Ping?

Spesso si usa il termine Pingback come sinonimo di TrackBack Ping. Questo non è corretto e puÃ?² generare un po’ di confusione.

In realtÃ?  il Pingback è stato creato da Stuart Langridge e Ian Hickson, e, come si puÃ?² leggere sulle Pingback Specification disponibili in italiano, le finalitÃ?  sono molto simili, se non praticamente le stesse, di quelle dei Trackback di Six Apart. Infatti la prima idea di Pingback è nata proprio per rendere automatici i trackback.

Fatta questa precisazione vediamo tecnicamente come funzionano i TrackBack.

Specifiche tecniche di funzionamento di un sistema di TrackBack.

Il TrackBack Ping viene inviato a quello che viene chiamato Trackback Ping URL, che è una pagina in grado di ricevere un Ping, eventualmente elaborarlo e restituire una risposta in un semplice formato XML.

L’invio di un Ping è una normale richiesta HTTP con metodo POST fatta dal client al sopracitato TrackBack Ping URL e appare cosÃ?¬:

POST /cartella/trackback.php?id=16
Content-Type: application/x-www-form-urlencoded; charset=utf-8

title=Post+correlato&url=http://www.mioblog.it/post/32&excerpt=Il+riassunto+del+mio+post&blog_name=Mio+blog

I possibili parametri da inviare in questa richiesta sono:

title.
Il titolo della risorsa correlata.
url.
Il link della risorsa. Questo è l’unico campo obbligatorio.
excerpt.
Un estratto dei contenuti della risorsa.
blog_name.
Il nome del blog che ha inviato il ping.

Tutti i dati inviati devono essere codificati nel set di caratteri specificato nel charset, quindi, nel caso di questo esempio, in UTF-8.

Nel caso l’invio del Ping sia corretto il TrackBack URL deve rispondere:

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>0</error>
</response>

Nel caso ci sia un errore:

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>1</error>
<message>Descrizione dell’errore</message>
</response>

Come realizzare un modulo per l’invio manuale di un TrackBack Ping.

Riprendiamo la richiesta vista in precedenza per l’invio di un Ping:

POST /cartella/trackback.php?id=16
Content-Type: application/x-www-form-urlencoded; charset=utf-8

title=Post+correlato&url=http://www.mioblog.it/post/32&excerpt=Il+riassunto+del+mio+post&blog_name=Mio+blog

Una richiesta del genere pu�² essere effettuata con un modulo HTML come il seguente:

<html>
<head>
   <title>Pagina per l'invio manuale di un pingback<title>
   <meta http-equiv="content-type" content="text/html; charset=UTF-8“?>
</head>
<body>
<form method=”post” action=”www.esempio.net/cartella/trackback.php?id=16“>
   <label>Titolo: <input type=”text” name=”title” value=”" /></label>
   <label>Link: <input type=”text” name=”url” value=”http://” /></label>
   <label>Estratto: <input type=”text” name=”excerpt” value=”" /></label>
   <label>Nome del blog: <input type=”text” name=”blog_name” value=”" /></label>
   <input type=”submit” value=”Invia il Ping” />
</form>
</body>
</html>

Nell’action del modulo bisogna inserire il TrackBack Ping URL, negli attributi value degli input il valore dei parametri sopradescritti.

Potete provare una versione un po’ più rifinita di questo modulo per l’invio manuale di TrackBack Ping che utilizza Javascript per modificare automaticamente l’action del modulo.

Una libreria PHP per un sistema di TrackBack.

A titolo di esempio, ho scritto un piccola libreria in PHP per un sistema di TrackBack costituita da tre funzioni.

send_ping()
Invia un ping e restituisce la risposta del server.
print_response()
Stampa la risposta del server eliminando gli header.
trackback_response()
Questa puÃ?² essere usata in un TrackBack URL per comunicare il corretto invio del ping o l’eventuale errore.

Potete scaricare un file compresso contenente la libreria ed un esempio di utilizzo.

Approfondimenti:

Sui Trackback:

Sui Pingback:

Hai trovato interessante questo articolo? Se vuoi, inscrivendoti alla newsletter, puoi ricevere una notifica ogni volta che c'è un nuovo articolo da leggere, oppure puoi sottoscrivere il feed RSS. Se non sai cos'è puoi leggere: Cos'è e come si legge un feed.
di Francesco Terenzani, 2 March 2006

post<li>

tag: , , .

post correlati:


Commenti (9). Commenti in formato RSS

  1. Pingback: Lotek Ã?» Blog Archive » Come funzionano Pingback e TrackBack Ping.

    […] Un articolo tecnico molto molto interessante di Terenzani.it […]

  2. Pingback: www.mapelli.info » Blog Archive » Useful Tips and Resources for Lazy Bloggers.

    […] For italian readers there’s an intresting articles about Trackbacks and Trackbacks Ping When using pingbacks remember that you’ll send as the comment text the <p> in which the link is, so try to be clear! […]

  3. Pingback: Saiborg clipboard - Accettare trackback ping.

    […] del Trackback definite da Six Apart. Altra eccellente risorsa, stavolta in italiano, è l’articolo “Come funzionano i Trackback” del blog Terenzani.it. Trackback L’indirizzo per il trackback di questo articolo è: […]

  4. Luisa scrive:

    io sinceramente ancora non ho capito a cosa servono questi trackback…cioè la loro FUNZIONALITA’ qual’è?
    Mi spiego, io ho un blog dove scrivo periodicamente, ma in un post mi son ritrovata con 7 commenti e 278 trackback…tutti in inglese!!!!

  5. Trackback: E cosa ci vuoi fare?.

    Finalmente Trackback?

    Facendo una ricerca per risolvere i miei annosi dubbi ho trovato questo post interessante del blog Terenzani.it.

  6. rezcik scrive:

    Ciao,
    ho aperto un blog da poco e devo ancora capire un sacco di cose. Ho usato il tuo modulo manuale per gestire un trackback a questo tuo post.
    Per ora il mio blog è su blogger che non supporta il trackback.
    Ti ringrazio per gli articoli esplicativi (anche se ho fatto casino lo stesso all’inizio :)).
    Buon tutto

  7. Fra_T scrive:

    Ciao Rezcik, mi fa piacere che il post ti sia stato utile e… grazie per il trackback :)

  8. rezcik scrive:

    Grazie a te! Purtroppo finchè sto su Blogger non credo potrÃ?² ricevere trackback ai miei post. E devo ancora capire come funzionano i backlink.

    Grazie mille comunque!!!

  9. Chris scrive:

    Interessante :)

Scrivi un commento

XHTML: Puoi usare questi tag XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>