Script Alexa Traffic Rank in PHP
di Antonio Coschignano, mercoledì 17 febbraio 2010
L' Alexa Rank o anche conosciuto come il Traffic Rank è un valore numerico che Alexa
assegna ad ogni sito web ed indica la posizione del sito nella classifica mondiale in base al traffico generato. Questo valore si basa su aggregati di dati storici relativi al traffico di milioni di utenti che utilizzano
l' Alexa Toolbar e di dati ottenuti da altre fonti, ed è una misura che viene combinata insieme alle pagine viste dagli utenti (REACH).
A differenza del PageRank di Google che è riferito ad una singola pagina di un sito web, l'Alexa Rank invece è riferito ad
un intero dominio ed ai suoi eventuali sottodomini. Ad esempio un sito web www.example.it ed un suo sottodominio demo.example.it presentano
lo stesso traffic rank.
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:
I metodi non coprono l'intero albero XML poichè alcune informazioni sono presenti solo per determinati siti che superano una certa soglia di traffico. Comunque è
possibile tramite il metodo getXml() accedere a tutti le altre eventuali info.
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
1 Commento 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
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.




