Script Alexa Traffic Rank in PHP
In quest'articolo vedremo una classe PHP che interagisce con i webservice di Alexa per visualizzare tutto una serie di informazioni (oltre al Traffic Rank) che il sistema di Alexa riesce a rilevare. In particolare:
- la presenza del sito nella directory DMOZ, con il titolo, la descrizione e le diverse sottocategorie in cui il sito compare
- il numero di backlink (secondo Alexa)
- il mini grafico storico degli utlimi sei mesi:
- la bar value di Alexa :
- il grafico Traffic Rank Trend personalizzabile in dimensioni, colore ed intervallo di tempo:

La classe SimpleAlexaRank
La classe SimpleAlexaRank effettua una richiesta GET ad un webservice di Alexa e consente l'accesso alla risposta XML semplicemnte attraverso metodi di classe. Per istanziare la classe si passa l'url del sito web nel costruttore:
$alexa = new SimpleAlexaRank("simplesoft.it");
if(!$alexa->load())
echo "not ranked";
else
echo $alexa->getTrafficRank();
Il metodo load() effettua la richiesta e carica le informazioni. Il metodo ritorna false se il sito non è classificato in Alexa. Questo succede nei
casi in cui il sito o non esiste o è stato appena creato.
Vediamo gli altri metodi:
| Metodo | Descrizione | Esempio |
| getTrafficRank() | Ritorna il Traffic Rank corrente | echo $example->getTrafficRank() |
| getResultDMOZ() | Ritorna la descrizione, il titolo e le diverse sottocategorie dove il sito compare. Se il sito non è presente in DMOZ ritorna false | Vedi esempio sotto |
| getAlexaBacklink() | Ritorna il numero di backlink rilevati da Alexa | echo $example->getAlexaBacklink() |
| getDelta() | Indica il trends del sito web rispetto al Traffic Rank precedente | echo $example->getDelta() |
| generateImgBar() | La bar-value | echo "<img src='".$example->generateImgBar()."'>" |
| generateImgGraph() | Un mini grafico degli ultimi sei mesi (120x18px) | echo "<img src='".$example->generateImgGraph()."'>" |
| generateGraph( $w=400, $h=220, $color="ffffff", $range=1) |
Il grafico dettagliato dov'è possibile specificare l'intervallo di tempo, dimensione e colore |
echo "<img src='"; echo $example->generateGraph(100,100,'cccccc',3); echo "'>"; |
| getXml() | Ritorna l'intero albero XML dell'interrogazione | $result = $alexa->getXml(); echo htmlentities($result); |
Dati DMOZ
Per illustrare la funzione che ci fornisce informazioni riguardo alla presenza o meno del sito nella directory DMOZ vediamo un esempio utilizzando la classe con il sito yahoo.it che compare in diverse categorie della directory:
$alexa = new SimpleAlexaRank("yahoo.it");
$alexa->load();
$resultDmoz = $alexa->getResultDMOZ();
$resultDmoz è un array strutturato in questo modo:
Array (
[DESC] => Personalized content and search options. Chatrooms, free e-mail, clubs, and pager.
[CATS] => Array (
[0] => Array
( [CAT] => Top/Computers/Internet/On_the_Web/Web_Portals
[TITLE] => On the Web/Web Portals)
[1] => Array (
[CAT] => Top/Computers/Companies/Yahoo_Inc.
[TITLE] => Companies/Yahoo Inc. )
)
)
Un caso d'uso
Adesso vediamo un esempio completo che visualizza in una piccola tabella i valori e i grafici che la classe ci fornisce. L' esempio è relativo al sito google.it:
<?php
$alexa = new SimpleAlexaRank("google.it");
$alexa->load();
?>
<style type="text/css">
table.alexa {
border-collapse:collapse;
}
table.alexa td {
padding:3px;
border:1px solid #DDD;
}
</style>
<?php
echo "<table class='alexa'><tr><td>Traffic Rank</td><td>";
echo $alexa->getTrafficRank();
echo "</td></tr>";
echo "<tr><td>Variazione</td>";
echo "<td>".$alexa->getDelta()."</td></tr>";
echo "<tr><td>Backlinks</td>";
echo "<td>".$alexa->getAlexaBacklink()."</td></tr>";
echo "<tr><td>Barra</td>";
echo "<td><img src='".$alexa->generateImgBar()."'></td></tr>";
echo "<tr><td>Grafico</td>";
echo "<td><img src='".$alexa->generateImgGraph()."'></td></tr>";
echo '<tr><td colspan="2"><img src="'.$alexa->generateGraph(200,200,'fffffff',3).'"/>';
echo '</td></tr></table>';
?>
Ecco l'output dell'esempio:
| Traffic Rank | 35 |
| Variazione | +0 |
| Backlinks | 13697 |
| Barra | |
| Grafico | |
|
|
|
Articoli correlati
2 Commenti per "Script Alexa Traffic Rank in PHP"
Autore: daniele
Complimenti Antonio :-) In questi giorni, appena avro' tempo , lo provo e ti faccio sapere !!
lunedì 22 febbraio 2010 ore 13:16
Autore: Ramakrishna
Hi, Really great site, I have come through yahoo froum and really i like it. I am going to bookmark this page and read all the atricles. At this movement i need a help from you, I have a website http://abaphr.com. where I want to include yahoo mails(webmails) and yahoo messenger. can you please help me out to achive my target.
sabato 20 marzo 2010 ore 12:25
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.




