Доступная и аккуратно оформленная статистика сайта может быть полезна для привлечения рекламодателей, ведь счетчики, отображающие количество посетителей и подписчиков, никак не отображают динамику изменения этих параметров, к тому же, графики куда нагляднее. С проблемой доступности статистики могут столкнуться вебмастера, использующие Google Analytics: чтобы получить к ней доступ, у рекламодателя должен быть аккаунт Google, что далеко не всегда имеет место. С помощью представленного в этом мастер-классе скрипта можно получить данные Google Analytics и разместить их на отдельной странице сайта или встроить в страницу «Реклама на сайте», там же можно разместить график количества подписчиков сайта по данным FeedBurner. А если вы немного умеете программировать, то сможете создать практически любой отчет на основе данных Google Analytics и FeedBurner. В качестве такого примера я добавил в скрипт отчет «Ссылающиеся блогеры», который многие блогеры публикуют даже в виде поста.
Скачать скрипт, сообщить об ошибках и внести предложения можно
К сожалению, для Google Analytics нет документированного API, поэтому информацию можно получить только экспериментальным путем или рассматривая соответствующие разработки. Я остановился на втором, за основу были взяты API
В API от Джо я значительно упростил часть, работающую непосредственно с Google Analytics, убрал лишние запросы и парсинг, которому в элементе, отвечающем за загрузку, делать нечего.
Обратите внимание, что для авторизации требуются логин и пароль Google аккаунта, хранить на хостинге данные основного аккаунта не всегда целесообразно и безопасно, возможно стоит создать аккаунт специально для таких целей и открыть на нем доступ к отчетам сайта.
Параметры запроса
id
— идентификатор сайта.
fmt
— формат загружаемого отчета, 0 — PDF, 1 — XML, 2 — CSV, 3 — TSV.
pdr
— интервал времени, в формате Ymd-Ymd
, пример pdr=20080128-20080227.
rpt
— имя отчета, пример rpt=BrowsersReport
.
trows
— запрашиваемое количество строк.
Другие параметры можно подсмотреть в адресной строке и ссылках в меню экспорт, на странице с необходимым отчетом.
Получение данных FeedBurner
В отличие от Google Analytics, у FeedBurner есть
Отчеты определяются в виде классов потомков абстрактного класса Report
, при этом нужно определить метод required
сообщающий загрузчику какие данные и с какого сервиса загружать, и метод create
подготавливающий данные для отображения на сайте.
Самый простой способ получить необходимые данных из XML это использовать функцию SimpleXMLElement->xpath()
. Загрузку файла и выборки упрощает класс xml
при создании объекта нужно указать имя файла из директории data
, вся работа по выборке данных возлагается на метод parse($xpath, $callbackFunction = '')
. Параметр $xpath
должен содержать описание необходимых данных на языке $callbackFunction
имя функции вызываемой для каждого полученного элемента, чтобы получить данные требуемого формата, например, для удаления лишних пробелов.
Пользователь должен сам выбирать, как отображать полученные отчеты, поэтому подключение модулей экспорта максимально упрощено и для начала реализовано два модуля на основе
Результаты работы можно посмотреть на примере referrаls.xml
новые URL.
Распаковать содержимое архива с примером скрипта в корневую директорию сайта.
Из папки integration
скопировать файл WPSiteStats.php
в директорию плагинов WordPress или папку DrupalSiteStats
в папку модулей Drupal, активировать соответствующий плагин или модуль в CMS (в Drupal после активации модуля нужно включить фильтр Drupal Site Stats в настройках форматов).
Создать страницу с названием «Статистика», запретить для нее комментарии, задать необходимый url, пример с кодом страницы есть в папке docs
, не забудьте удостовериться, что html код страницы не искажен визуальным редактором WordPress или не вырезается фильтрами Drupal. Выглядит он примерно так:
Ссылающиеся блогеры
Конфигурационные файлы, как нетрудно догадаться, находятся в директории config
, файлы GoogleAnalytics.php
и FeedBurner.php
содержат настройки соответствующих сервисов, наиболее важные из которых — это ваши логин, пароль и профиль сайта в Google Analytics и uri ленты в FeedBurner, config.php
общие настройки скрипта, из которых наиболее важная — это список задействованных отчетов. Если вы решите создать новый отчет, то не забудьте добавить его имя в этот список, иначе он не будет обрабатываться.
Чтобы загрузить и подготовить данные для отображения, нужно запустить файл site-name/ss/public/ss.php
, а чтобы не беспокоиться об этом каждый день, нужно запускать его с помощью
Для упрощения встраивания графиков в страницы можно использовать шаблоны, которые хранятся в папке templates
. Вставить шаблон в страницу можно с помощью тега где
templateName
имя шаблона, а variable1
и variable1
переменные, которые можно использовать в файле шаблона, взяв их имя в фигурные скобки {variable1}
. Вставить в страницу файл из папки public/data
(для отчетов в виде html) можно с помощью тега расширения html подставляется автоматически. В папке
templates
есть готовые шаблоны для вставки графиков amCharts.
Для обработки шаблонов используется функция ssIntegratorContentFilter
, вы можете достаточно легко создать плагин, упрощающий интеграцию графиков для вашей CMS, в качестве примера возьмите уже готовые плагины для WordPress и Drupal (не забудьте сообщить о своем плагине мне, чтобы я добавил его в скрипт, если, конечно, вы не против).
Евгений Абашкин, автор блога