Uno script Backlink Checker in PHP
link:www.example.comQuesto comando purtroppo non è molto affidabile nel caso di Google che ritorna i risultato in maniera quasi casuale e non completa. Mentre sembra che un certo grado di affidabilità ci viene fornita da Yahoo anche se aggiorna i risultati molto lentamente. In quest'articolo vedremo appunto una libreria php per calcolare e visualizzare i backlink di una pagina web in maniera automatica utilizzando le API Yahoo Site Explorer. Ciò significa che non è indispensabile costruire dei parser in grado di estrarre dalle SERP le url, ma semplicemente invocare un web service di yahoo che ci invia dei risultati sia in XML, JSON oppure direttamente in PHP tramite la serialiazzazione. Aggiungo che molti tools presenti su internet fanno uso di questo strumento.
Yahoo API Site Explorer
Prima di addentrarci nell' utilizzo della libreria php bisogna procurarsi l'API key di Yahoo, che ci consente di utilizzare il servizio. Innanzitutto bisogna possedere un account yahoo e andare alla pagina Yahoo Search Web Services ed effettuare la richiesta tramite il link Get an App ID come mostrato in figura:- Il numero totale di backlink
- La lista dei primi 1000 backlink
- Url e titolo della pagina di ogni backlink contenuto nella lista
La libreria PHP
La libreria che vedremo è composta da due classi :- class SimpleBacklinkChecker
- class EntryLink
$api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; $url = "http://www.example.com"; $backlink = new SimpleBacklinkChecker($api_key, $url);Il passo successivo è settare alcuni parametri per il reperimento dei backlink, tipo se desideriamo includere anche i link interni del sito della pagina in questione oppure no. Per questo settaggio basta richiamere il seguente metodo:
$backlink->setOmitInlinks('none');Il parametro 'none' indica che vogliamo solo i backlink esterni al sito, mentre se volgiamo includere anche quelli interni basta specificare 'domain'. Adesso, per sapere il numero totale dei backlink basta richiamare questo metodo:
$backlink->getBacklinks();Questo metodo ritorna il numero totale di backlink che puntano alla pagina. Mentre per quanto riguarda la lista degli url invochiamo invece il metodo:
$entries = $backlink->getListBacklink();La variabile $entries è un array di oggetti di tipo EntryLink, che in poche parole incapsula i link con i relativi attributi in un semplice oggetto. Un EntryLink e composto da tre attributi:
- Url: l'url completo del backlink
- Title: il titolo della pagina del backlink
- ClickUrl:URL linking
$backlink->setMaxResult(100); $entries1 = $backlink->getListBacklink(); $backlink->setStart(101);//n+1 $entries2 = $backlink->getListBacklink();Questo è il meccanismo per accedere via via a tutta la lista. Comuqnue la classe supporta ancora un altro metodo che in automatico riassume questa procedura e ci ritorna la lista completa:
$entryes = $backlink->getAllBacklink();Questo metodo in poche parole effettua all'interno di un ciclo for tutte le chiamate e fonde i diversi risultati in un unico array. Adesso per concludere vediamo un esempio completo per stampare tutti i backlink relativi ad una pagina web:
$api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; $url = "http://www.example.com"; $backlink = new SimpleBacklinkChecker($api_key, $url); $backlink->setOmitInlinks('none'); $entryes = $backlink->getAllBacklink(); foreach($entryes as $entry) { echo $entry->getUrl()."<br>"; }
7 Commenti per "Uno script Backlink Checker in PHP"
Autore: daniele
Ciao Antonio, Prima di tutto grazie per aver condiviso con tutti noi le tue conoscenze. Ottimo articolo, vorrei aggiungere solo una cosa.. All'atto della creazione dell'API di Yahoo verra' richiesto che tipo di api si vuole andare a creare.. se generica o protetta da autenticazione: Consiglio di mettere Generica. Per chi invece non mastica il php, nell'esempio di antonio occorre aggiungere una parantesi graffa alla fine del testo per terminare il ciclo foreach. Per il resto, ho provato lo script, e funziona molto bene. Bravo, ottimo lavoro. E adesso non ci rimane che tweettare il tuo articolo tutti insieme ;-) Alla prossima, Daniele
martedì 22 dicembre 2009 ore 09:23
Autore: Antonio Coschignano
Ciao Daniele, grazie a te e ai tuoi contributi e consigli sempre graditi :-). Provvedo subito a corregere la parentesi. Ciao alla prossima Antonio
martedì 22 dicembre 2009 ore 10:22
Autore: daniele
Ciao antonio, E' possibile trovare anche i link no follow e do follow con questo script ? :)
mercoledì 23 dicembre 2009 ore 21:21
Autore: Antonio Coschignano
Ciao Daniele, purtroppo no. Le API non consentono questa operazione. Bisognerebbe creare una funzione ad hoc che per ogni backlink esamina tramite magari le espressioni regolari la presenza dell'attributo nofollow
venerdì 25 dicembre 2009 ore 19:50
Autore: Paolo
Ciao Antonio, sto provando a far funzionare lo script e mi esce questo errore: PHP Fatal error: Call to undefined function curl_init() puoi aiutarmi?
domenica 18 luglio 2010 ore 08:06
Autore: Antonio Coschignano
Ciao Paolo, questo script utilizza al suo interno la libreria CURL. Mi sono dimenticato di citarlo nell'articolo. Quindi l'errore dipende da questo. Solitamente questa libreria è installata di default su hosting linux, mentre su hosting windows bisogna installarla, sempre e comunque se si hanno i privilegi necessari. Per installare la libreria qua trovi un'ottima guida Installare cURL per PHP/Apache su Windows XP. Ciao
domenica 18 luglio 2010 ore 12:53
Autore: Rifano
Thanks. It's very good script. I've download it. It's work. Do you have a script to check backlink for google, Alltheweb and others?
venerdì 15 aprile 2011 ore 04:43
Lascia un commento
Tutti i commenti inseriti devono essere approvati da un amministratore prima di essere visualizzati al pubblico. Si tratta di una misura preventiva contro spam e pubblicità e non è necessario reinviare il commento. Si prega di scrivere commenti in tema. Spam e messaggi promozionali non vengono approvati.