Отображение данных Google Analytics на сайте

Россия+7 (495) 960-65-87
Шрифт:
0 5309

Доступная и аккуратно оформленная статистика сайта может быть полезна для привлечения рекламодателей, ведь счетчики, отображающие количество посетителей и подписчиков, никак не отображают динамику изменения этих параметров, к тому же, графики куда нагляднее. С проблемой доступности статистики могут столкнуться вебмастера, использующие Google Analytics: чтобы получить к ней доступ, у рекламодателя должен быть аккаунт Google, что далеко не всегда имеет место. С помощью представленного в этом мастер-классе скрипта можно получить данные Google Analytics и разместить их на отдельной странице сайта или встроить в страницу «Реклама на сайте», там же можно разместить график количества подписчиков сайта по данным FeedBurner. А если вы немного умеете программировать, то сможете создать практически любой отчет на основе данных Google Analytics и FeedBurner. В качестве такого примера я добавил в скрипт отчет «Ссылающиеся блогеры», который многие блогеры публикуют даже в виде поста.

Скачать скрипт, сообщить об ошибках и внести предложения можно на странице проекта в Google Code.

К сожалению, для Google Analytics нет документированного API, поэтому информацию можно получить только экспериментальным путем или рассматривая соответствующие разработки. Я остановился на втором, за основу были взяты API Джо Тана для плагина WordPress Reports, и Google Analytics API для CakePHP. Второе не подходит в качестве базового решения, поскольку требует CakePHP, знакомиться с которым пока желания нет, да и ставить фреймворк из-за простенького скрипта захочется не всем.
В 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 есть документированный API — это значительно упрощает нашу задачу, тем более что Awareness API не требует авторизации, единственный нюанс: нужно активировать Awareness API в панели управления FeedBurner.

Отчеты определяются в виде классов потомков абстрактного класса Report, при этом нужно определить метод required сообщающий загрузчику какие данные и с какого сервиса загружать, и метод create подготавливающий данные для отображения на сайте.

Самый простой способ получить необходимые данных из XML это использовать функцию SimpleXMLElement->xpath(). Загрузку файла и выборки упрощает класс xml при создании объекта нужно указать имя файла из директории data, вся работа по выборке данных возлагается на метод parse($xpath, $callbackFunction = ''). Параметр $xpath должен содержать описание необходимых данных на языке XPath, $callbackFunction имя функции вызываемой для каждого полученного элемента, чтобы получить данные требуемого формата, например, для удаления лишних пробелов.

Пользователь должен сам выбирать, как отображать полученные отчеты, поэтому подключение модулей экспорта максимально упрощено и для начала реализовано два модуля на основе amCharts и Google Chart т.е. с флешем и без. Изображения Google Chart загружаются и хранятся на сервере, чтобы избежать модификации страницы статистики каждый день, хотя это, возможно, и не оптимальный вариант.

Результаты работы можно посмотреть на примере страницы со статистикой этого сайта, и на представленном ниже графике отображающем ту же статистику с помощью Google Chart. Обратите внимание на столь любимый всеми отчет о ссылающихся блоггерах (или как его назвать даже не знаю). Только вот блоггеров выявлять все равно придется просматривая статистику GA и добавляя в 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, а чтобы не беспокоиться об этом каждый день, нужно запускать его с помощью cron или заменяющих его сервисов.

Для упрощения встраивания графиков в страницы можно использовать шаблоны, которые хранятся в папке templates. Вставить шаблон в страницу можно с помощью тега где templateName имя шаблона, а variable1 и variable1 переменные, которые можно использовать в файле шаблона, взяв их имя в фигурные скобки {variable1}. Вставить в страницу файл из папки public/data (для отчетов в виде html) можно с помощью тега расширения html подставляется автоматически. В папке templates есть готовые шаблоны для вставки графиков amCharts.

Для обработки шаблонов используется функция ssIntegratorContentFilter, вы можете достаточно легко создать плагин, упрощающий интеграцию графиков для вашей CMS, в качестве примера возьмите уже готовые плагины для WordPress и Drupal (не забудьте сообщить о своем плагине мне, чтобы я добавил его в скрипт, если, конечно, вы не против).

Евгений Абашкин, автор блога Design For Masters


Читайте нас в Telegram - digital_bar

Есть о чем рассказать? Тогда присылайте свои материалы Даше Калинской


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
    ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
    32 инструмента в помощь SEO-специалисту
    Игорь
    1
    комментарий
    0
    читателей
    Полный профиль
    Игорь - отличная подборка, сам многим из этих сервисов пользуюсь (ETXT, TEXT.RU, Адаптивность, Pingdom Website Speed Test, Google PageSpeed Tools, 2IP, Whois, Букварикс) Правда не мог найти достойного кластеризатора, но потом наткнулся на вот этот seoquick.com.ua/keyword-grouping/ не сочтите за рекламу:) Было бы интересно услышать ваше мнение о нем. Мне очень даже зашел, из-за скорости работы. Как говорит автор - 100 000 запросов за несколько минут. Я с такими цифрами правда не работал, обычно это до 30 000 точно, но работает очень быстро и в правду. Ну и бесплатно, думаю, это был еще один решающий фактор для меня
    Исследование: влияние smart-ссылок на продвижение по СЧ-запросам
    Анатолий Шевчик
    1
    комментарий
    0
    читателей
    Полный профиль
    Анатолий Шевчик - +1097988
    Все, что нужно SEO-специалисту. Обзор инструментов
    Администратор Сайта
    1
    комментарий
    1
    читатель
    Полный профиль
    Администратор Сайта - Шаришь в seo! Сервис реально хороший
    Не очень удачный кейс продвижения сайта по услуге «Трезвый водитель» в Москве
    Александр Селенков
    1
    комментарий
    0
    читателей
    Полный профиль
    Александр Селенков - Работа проделана огромная. Интересный кейс, все детально и понятно изложено.
    Два идеальных способа разориться на старте интернет-магазина
    Стас
    4
    комментария
    0
    читателей
    Полный профиль
    Стас - Seonews в последнее время такую чушь несет! Где вы таких афторов находите? Статья ничего не стоит и несет чушь! Кто хоть немного понимает в этом так вам и скажет, и такие де комментаторы горе-сеошники, просто смешно читать, вы хоть модерируете ваши статьи или просто для воды на сайте?! Бред сивой кобылы эта статья до самой последней точки!!!
    SEO глазами клиентов 2018
    Мария Рогачева
    2
    комментария
    0
    читателей
    Полный профиль
    Мария Рогачева - Никита, в этом вы правы. В каком-то смысле мы оказались заложниками названия. Когда запускали рейтинг, было одно сплошное SEO, сейчас же сложно найти агентства, которые специализируются только на SEO. Не учитывать другие каналы продвижения стало просто неправильно.  Активно думаем в этом направлении.  Спасибо вам за отзыв и внимание к рейтингу! 
    4 способа быстро собрать теги для сайта
    Рустем Низамутинов
    5
    комментариев
    0
    читателей
    Полный профиль
    Рустем Низамутинов - Расписал и закинул в Google Docs, а то здесь в комментариях ссылки на активны. docs.google.com/document/d/1r0TZLNrQyYLdIzDQsD5YKlMG41HUGQgEep3bxE_ij-M/edit?usp=sharing
    Яндекс перестал индексировать сайты, созданные на Wix
    Константин Даткунас
    3
    комментария
    0
    читателей
    Полный профиль
    Константин Даткунас - Было бы интересно посмотреть саму выборку из 10 000 и методику анализа.
    Как мы разработали и вывели в ТОП сайт курсов рисования
    Иван Стороженко
    25
    комментариев
    0
    читателей
    Полный профиль
    Иван Стороженко - Добрый день. 1)Чаще всего основная проблема заключается, в согласовании с клиентом добавляемого контента и то как он будет отображаться. На данном сайте фото и услуги конечно предоставлял клиент, все остальное уже делали мы. 2)Да в принципе, когда есть команда и понимание, что нужно делать, все идет быстро (опять же основная заминка идет на согласовании с клиентом) 3)Смысла делать новый в данном случает нет. В принципе доделывался полноценный сайт. 4)Когда клиент уже не предоставляет информацию, приходится искать у конкурентов (например с других стран или регионов). Но чаще всего клиент, хоть что-то "подкидывает".
    Яндекс: как мы модерируем объявления
    Гость
    5
    комментариев
    0
    читателей
    Полный профиль
    Гость - Это ж Яндекс, чего вы ожидали-то? Коммерческая структура с раздутым штатом, задачей которой является заработать больше денег. Любыми методами. Задача всех пользователей посадить на Директ, даже если придется разрушить суть рунета, реализуется по полной программе. Все возражающие караются и выпиливаются. И каждый из сотрудников делает все возможное и невозможное, чтобы реализовать любую дурацкую идею - за это еще и премию выхватить можно. Даже если потом придется выполнять "откат", премиальные уже заплачены. Так было с одним из фильтров Яндекса, так было с купленным им сайтом Кинопоиска, который из русскоязычной энциклопедии кино был превращен за безумные деньги в банальный платный онлайн-кинотеатр.
    ТОП КОММЕНТАТОРОВ
    Комментариев
    910
    Комментариев
    834
    Комментариев
    554
    Комментариев
    540
    Комментариев
    483
    Комментариев
    373
    Комментариев
    329
    Комментариев
    262
    Комментариев
    235
    Комментариев
    171
    Комментариев
    156
    Комментариев
    137
    Комментариев
    121
    Комментариев
    97
    Комментариев
    97
    Комментариев
    95
    Комментариев
    86
    Комментариев
    80
    Комментариев
    67
    Комментариев
    60
    Комментариев
    59
    Комментариев
    57
    Комментариев
    55
    Комментариев
    54
    Комментариев
    53

    Отправьте отзыв!
    Отправьте отзыв!