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.