Alexa – это лидирующий представитель бесплатных глобальных веб-метрик. Миллионы людей со всего мира посещают Alexa для того, чтобы получить данные, которые их интересуют для принятия решений об их собственном бизнесе. Alexa позволяет производить поиск на предмет ключевых слов, категорий или по странам.
Alexa требует от своих пользователей скачивать панель инструментов, которая позволяет быть в курсе аналитической информации о любом веб-сайте. Таким образом, сервис Alexa сможет составлять полезную для вас базу данных о веб-сайтах, которые вы посетили. Учитывая все эти данные Alexa выдает рейтинги веб-сайтам со всего мира. Чем меньше ваш рейтинг в сервисе Alexa, тем популярнее ваш веб-сайт.
По результатам исследований сервиса Alexa мы можем видеть, какие веб-сайты являются самыми популярными в мире:
* YouTube
* Yahoo!
* Wikipedia
* Baidu.com
* Blogger.com
* Windows Live
* QQ.COM
Как видно по списку, результаты примерно такие, как вы и ожидали (скорее всего). Google занимает первую строчку, а за ним следует Facebook. Это говорит о том, что «глазу» Alexa можно доверять.
Конечно, это не совсем объективные данные, так как статистика составляется только с учетом тех пользователей, кто установил себе панель инструментов от Alexa. Именно поэтому мы и видим, что веб-сайты технической направленности занимают высшие позиции.
Получите свой рейтинг в Alexa
В сегодняшнем руководстве вы научитесь получать и отображать рейтинг Alexa. Сегодня мы будем использовать PHP и cURL для того, чтобы получить рейтинг Alexa.
* Смотреть демо
Мы начнем с создания нового класса PHP Get_Alexa_ranking.
Он может быть использован для сбора другой информации с АПИ от Alexa, но в нашем сегодняшнем примере мы просто воспользуемся им для получения данных о рейтинге доменного имени.
<?php
/**
* PHP Class to get a website Alexa Ranking
* @author http://www.paulund.co.uk
*
*/
class Get_Alexa_Ranking{
/**
* Get the rank from alexa for the given domain
*
* @param $domain
* The domain to search on
*/
public function get_rank($domain){
$url = "http://data.alexa.com/data?cli=10&dat=snbamz&url=".$domain;
//Initialize the Curl
$ch = curl_init();
//Set curl to return the data instead of printing it to the browser.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
//Set the URL
curl_setopt($ch, CURLOPT_URL, $url);
//Execute the fetch
$data = curl_exec($ch);
//Close the connection
curl_close($ch);
$xml = new SimpleXMLElement($data);
//Get popularity node
$popularity = $xml->xpath("//POPULARITY");
//Get the Rank attribute
$rank = (string)$popularity[0]['TEXT'];
return $rank;
}
}
?>
Выше приведен PHP-класс, которым мы воспользуемся. Здесь в классе только 1 функция, которая требует параметр, представляющий собой доменное имя, поиск которого мы осуществляем.
Далее мы воспользуемся cURL для получения данных с URL. Эти данные мы можем преобразовать в объект XML, теперь мы без труда можем получать данные внутри объекта. Мы используем xpath для определения прироста популярности. Как только у нас будут эти данные, мы можем получить атрибут текста, который и будет цифрой нашего рейтинга в Alexa.
Теперь у нас есть этот класс, и мы можем использовать его для получения рейтинга нашего сайта в Alexa.
//Include alexa ranking class
require_once 'get_alexa_ranking.php';
//Create a new object
$alexa = new Get_Alexa_Ranking();
//Get the rank for the domain coolwebmasters.com
echo "Rank ".$alexa->get_rank("coolwebmasters.com");