Alexa es un servicio de Amazon que ofrece diversa información acerca de sitios web. El indicador más importante que ofrece es el denominado ranking de Alexa. Representa la posición de un sitio web respecto a la totalidad de sitios web. Alexa no ofrece ninguna API para extrar el ranking pero, con PHP, existe un método sencillo de obtener esta información. Todo lo que tenemos que hacer es extraer la información invocando la siguiente dirección:
http://data.alexa.com/data?cli=10&dat=s&url={url_del_sitio}
Por ejemplo:
http://data.alexa.com/data?cli=10&dat=s&url=www.elpais.com
Que nos ofrece un xml como el siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<ALEXA VER="0.9" URL="elpais.com/" HOME="0" AID="=">
<SD TITLE="A" FLAGS="DMOZ" HOST="elpais.com">
<TITLE TEXT="El País"/>
<ADDR STREET="C/ Ribera del Sena, s/n. Edificio APOT" CITY="Madrid , Madrid 28042" STATE="" ZIP="" COUNTRY="SPAIN" />
<CREATED DATE="05-Mar-2001" DAY=" 5" MONTH="03" YEAR="2001"/>
<PHONE NUMBER="+ 34 91 353 79 00"/>
<OWNER NAME="Prisacom, S.A."/>
<EMAIL ADDR="atencionclientes@prisacom.com"/>
<LANG LEX="en"/>
<LINKSIN NUM="21128"/>
<SPEED TEXT="1627" PCT="49"/>
<REVIEWS AVG="3.5" NUM="2"/>
<CHILD SRATING="0"/>
</SD>
<DMOZ>
<SITE BASE="elpais.com/" TITLE="El País" DESC="Periódico con noticias de última hora, vídeos, audio, música, multimedia, opinión, internacional, economía, deportes, tecnología, cine, viajes y comunidades autónomas entre otros.">
<CATS>
<CAT ID="Top/World/Español/Regional/Europa/España/Noticias_y_medios/Periódicos/Generales" TITLE="Periódicos/Generales" CID="10615"/>
</CATS>
</SITE>
</DMOZ>
<SD>
<POPULARITY URL="elpais.com/" TEXT="490"/>
<REACH RANK="482"/>
<RANK DELTA="-27"/>
</SD>
</ALEXA>
Ahora tan sólo nos queda extraer el ranking, a partir del xml con la ayuda de PHP:
$url = "www.elpais.com";
$xml= "http://data.alexa.com/data?cli=10&dat=s&url=".$url;
$datos = simplexml_load_file($xml) or die("No se puede cargar");
$ranking = $datos->SD[1]->POPULARITY['TEXT'];
if($ranking > 0){
echo "El ranking de Alexa para este sitio es <strong>".$ranking."</strong>";
}else{
echo "No se puede obtener el ranking";
}







