Главная > Веб мастерская > WordPress > API яндекс метрики

API яндекс метрики

Статистика посещений сайта с помощью API Яндекс-метрики

Привет, друзья. Решил сделать на этом сайте свой вывод статистики. Сделал. Теперь делюсь с вами, может кому-нибудь пригодится.

 яндекс-метрика-APIСамый простой и надежный способ — использовать API яндекс метрики. Каков результат — вы можете наблюдать в сайдбаре этого сайта, ну а как реализовать получение некоторых данных из статистики яндекс метрики за указанный период, описано ниже.

Для реализации задуманного нам, естественно понадобится присутствие счетчика Я метрики на сайте. Причем только первой части кода — кода счетчика, код вывода информера — по желанию, его может и не быть вовсе.

Второе условие — исполнение PHP кода в виджетах или в другом месте вашего сайта, где вы хотели бы видеть вывод статистики. Простейший способ реализовать исполнение PHP в виджетах — следующий:

Открываем файл functions.php, он расположен в папке активной темы WordPress. В конец файла дописываем:

add_filter('widget_text','sp_widget_execute_php',100);
function sp_widget_execute_php($text) {
if(strpos($text,'<?') !== false) {
ob_start();
eval('?>'.$text);
$text = ob_get_contents();
ob_end_clean();
}
return $text;
}
Естественно, сохраняем файл. Всё. Код будет исполняться.

Другой вариант — использовать плагины. Список таких плагинов с их достоинствами и недостатками я приводил в статье Как вывести количество пользователей, статей и комментариев в WordPress.

я-метрикаДалее нам нужно зарегистрировать новое приложение в Яндекс и получить токен Яндекс метрики. Регистрируем новое приложение здесь. Приложение надо как-то назвать (без разницы как, на ваш вкус), и указать что у него есть доступ к Яндекс-Метрике на чтение данных.

Callback URI указываем этот: https://oauth.yandex.ru/verification_code?dev=true

Создаем приложение. После того, как приложение будет создано — вам дадут от него пароль и ID (идентификатор приложения).

Теперь получаем OAuth токен.  Для этого копируем ссылку: https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>

Вместо <идентификатор приложения> естественно вставляем полученный ранее ID. Переходим по ссылке, затем подтверждаем права. Все просто. Нас переадресует на пустую страницу, но она нам вообще и не нужна. Нам нужен адрес. Интересующий нас токен OAuth  в URL’е этой страницы. Копируем его оттуда. Ну и где-нибудь сохраняем. Я сомневаюсь, что нормальный человек может это запомнить ))

Всё, создаем свой счетчик. Поступим так, я выложу свой код и каждую строчку прокомментирую. А вы уже без труда сможете его изменить под свои нужды. Итак, код в студию:

<?php
$today=date("Ymd");  // сегодняшняя дата
$vchera=date ('Ymd', time()-86400); // вчерашняя дата

$metrika_url = "http://api-metrika.yandex.ru/stat/traffic/summary.json?id=ID ВАШЕГО ПРИЛОЖЕНИЯ&pretty=1&date1=$vchera&date2=$vchera&oauth_token=ВАШ ТОКЕН"; // статистика за вчерашний день
// или
//$metrika_url = "http://api-metrika.yandex.ru/stat/traffic/summary.json?id=ID ВАШЕГО ПРИЛОЖЕНИЯ&pretty=1&date1=$today&date2=$today&oauth_token=ВАШ ТОКЕН"; // статистика за сегодня

// если нужна статистика за сегодня, расскомментируйте вторую строчку и закомментируйте первую
// вообще можно за любой период времени статистику получить, задается в запросе &date1 и &date2 (начало и конец отчетного периода)

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$metrika_url);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$metrika = curl_exec ($ch);
curl_close($ch);

$metrika_o = json_decode($metrika);

echo '<div style="margin-top: 20px;"><em>';
echo "Посещений: <strong>".$metrika_o->totals->visits."</strong><br>";
echo "Посетителей:<strong> ".$metrika_o->totals->visitors."</strong><br>";
echo "Из них новых: <strong>".$metrika_o->totals->new_visitors."</strong><br><br>";
echo "Просм. страниц: <strong>".$metrika_o->totals->page_views."</strong><br>";

$glub = number_format($metrika_o->totals->depth, 2, '.', '');  // округляем до сотых
echo "Ср. глубина просм.: ~<strong> ".$glub."</strong><br><br>"; // Страниц за сеанс или глубина просмотра

$otkaz = $metrika_o->totals->denial * 100;   // переводим дробный вид ответа в проценты
echo "Отказов: <strong> ".$otkaz." </strong>%<br>";  // отказы в %

echo "</em></div>";
?>

Вот и всё ) Как работает вывод статистики от Яндекса, смотрите в сайдбаре. Ну ладно,  могу еще прямо тут показать)) Вот, статистика за вчерашний день:
‘;

echo «Посещений: «.$metrika_o->totals->visits.»      «;
echo «Посетителей: «.$metrika_o->totals->visitors.»      «;

echo «Из них новых: «.$metrika_o->totals->new_visitors.»
«;

echo «Просм. страниц: «.$metrika_o->totals->page_views.»      «;

$glub = number_format($metrika_o->totals->depth, 2, ‘.’, »);
echo «Ср. глубина просм.: ~ «.$glub.»
«;

$otkaz = $metrika_o->totals->denial * 100; // в проценты
echo «Отказов: «.$otkaz.» %      «; // отказы в %
$dovol = 100-$otkaz;
echo «Довольных: «.$dovol.» %

«; // отказы в %
?>

Если у вас что-то не получается, в комментариях разберемся и победим все ваши проблемы)

NEW!!! Полезное, нужное, важное:

Где заработать в интернете деньги? Надёжно, честно, без обмана!
Платежные системы, кошельки и обменники для работы

Лучшие хостинги, сервера и прочее для сайтов

Смотрите также

Продвижение молодого сайта

Основная трудность — это недостаток времени существования сайта — и не фига не сделаешь с этим фактом. И именно по этому продвижение молодого сайта отличается от периодической раскрутки старого, трастового ресурса.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *