Отображение количества просмотров поста в WordPress по данным Yandex.metrika

Вместо того чтобы создавать свою систему статистики для блога, почему бы не использовать уже готовую — например Yandex.metrika? Тем более что Yandex предоставляет свой API для доступа к статистике. Ниже приведен способ извлечения с Yandex.metrika и отображения количества просмотров для конкретного поста.

Первый шаг — регистрация приложения для доступа к статистике. Для этого авторизуемся в своем аккаунте метрики. Затем переходим по ссылке:
https://oauth.yandex.ru/client/new
И регистрируем приложение как указано на скриншоте.

yandex metrika

Второй шаг — узнаем ID своего приложения. Для этого идем сюда:
https://oauth.yandex.ru/client/my
Кликаем на названии своего приложения и копируем куда нибудь его ID.

Третий шаг — нужно получить токен для доступа к системе. Для этого выполняем следующий запрос, подставив ID приложения полученный на предыдущем шаге:

https://oauth.yandex.ru/authorize?response_type=token&client_id=[подставляем ID приложения]

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

http://api-metrika.yandex.ru/stat/content/popular?id=[номер счетчика метрики]&date1=[дата начала ГГГГММДД]&date2=[дата конца ГГГГММДД]&oauth_token=[токен]

Если вы увидите xml-файл с данными статистики, то все нормально.

Четвертый шаг — нужно добавить скрипт в WordPress. Создаем в корне сайта файл yml.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
// НАСТРОЙКИ
$startDate = ""; // дата с которой считать статистику в формате ГГГГММДД
$yandexMetrikaCounterID = ""; // № счетчика Yandex.metrika
$yandexMetrikaToken = ""; // токен
 
// инициализация
$ymDateLoad = 0;
 
// если xml-фаил метрики есть
if (file_exists($_SERVER['DOCUMENT_ROOT'].'/upload/ym.xml')) {
	$ymData = simplexml_load_file($_SERVER['DOCUMENT_ROOT'].'/upload/ym.xml');
	$ymDateLoad = $ymData->date2;
}
 
// если фаила метрики нет или он устарел
if ($ymDateLoad != date('Ymd')) {
	// создание нового cURL ресурса
	$ch = curl_init();
 
	// установка URL и других необходимых параметров
	curl_setopt($ch, CURLOPT_URL, "http://api-metrika.yandex.ru/stat/content/popular?id=".$yandexMetrikaCounterID."&date1=".$startDate."&date2=".date("Ymd")."&oauth_token=".$yandexMetrikaToken);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_HEADER, 0);
 
	// загрузка страницы
	$ymXml = curl_exec($ch);
 
	// завершение сеанса и освобождение ресурсов
	curl_close($ch);
 
	// обработка
	$ymXml = str_replace(array('<![CDATA[', ']]>', str_replace('www.', '', 'http://'.$_SERVER['HTTP_HOST'])), array('', '', ''), $ymXml);
 
	// запись в фаил
	$handle = fopen($_SERVER['DOCUMENT_ROOT']."/upload/ym.xml", "w");
	fwrite($handle, $ymXml);
	fclose($handle);
 
	// объект SimpleXML
	$ymData = simplexml_load_string($ymXml);
	$ymDateLoad = $ymData->date2;
}
 
if ($ymDateLoad) {
	// uri
	$uri = $_SERVER['REQUEST_URI'];
 
	// вывод
	foreach ($ymData->data->row as $row) {
		if ($uri!=$row->url) continue;
		echo $row->page_views." просмотров";
	}
}
?>

В самом начале кода в разделе настроек присваиваем значения 3-ём переменным. $startDate — дата начала статистики в формате ГГГГММДД (например 20130101). Логично поставить дату установки счетчика метрики на блоге. $yandexMetrikaCounterID — подставляем номер счетчика Yandex.metrika. Найти его можно здесь:

yandex metrika

$yandexMetrikaToken — сюда подставляем токен полученный на 3-ем шаге.

Пятый шаг — создаем папку для файлов кеша. Работать и без этого будет, конечно, но тогда каждый раз при отображении поста будет тратится лишнее время на подгрузку статистики с метрики. Итак, создаем в корне сайта папку upload и присваиваем ей права 777. Например в FileZilla это делается так:

yandex metrika

Шестой шаг — добавляем отображение количества просмотров в шаблон поста. В панели управления WordPress идем в Внешний вид -> Редактор и выбираем шаблон content-single.php. Вставляем следующий код:

<div><?php require_once($_SERVER['DOCUMENT_ROOT']."/ymc.php"); ?></div>

например, после заголовка поста, то есть после следующего кода:

<h1><?php the_title(); ?></h1>

Так же можно настроить стили, добавив в файл style.css, например, следующее:

.ymc {color:#218f48; font-weight:bold;}

В результате работы скрипта получим вот это:

yandex metrika


Так же интересно…
Потолок, а так же его правильное освещение, к примеру, с использованием люстры для спальни — может полностью изменить интерьер любого помещения, будь то офис или жилая комната.


Подключение аватара в WordPress через Gravatar

Сегодня мы рассмотрим как добавить свой аватар для комментариев в своем блоге на WordPress. А заодно он будет отображаться и при комментировании других блогов (если вы укажете свой E-mail). Для этого воспользуемся сервисом Gravatar.
Сервис Gravatar
Кликаем кнопку «Create Your Own Gravatar» и попадаем на страницу ввода E-mail, к которому и будет привязан будущий аватар, а также имени пользователя и пароля. Адрес электронной почты нужно ввести именно тот, который указан у вас в настройках блога (в панели управления WordPress раздел «Параметры» -> «Общие»).
Регистрация на Gravatar
Далее нужно подтвердить введенные данные и исправить то, что не понравилось сервису (например если указанное имя пользователя уже занято). На последнюю строку, где нужно ввести адрес блога на wordpress.com, можно не обращать внимание. Блог там создавать не обязательно, но указанное имя блога должно быть уникальным.
Подтверждение регистрации на Gavatar
Затем подтверждаем E-mail.
Подтверждение E-mail на Gravatar
Заходим в свою электронную почту, которую указали ранее и кликаем на ссылку для подтверждения. Попадаем на указанную ниже страницу и кликаем на свой E-mail на синем фоне.
Управление аккаунтом Gravatar
На этом шаге можно добавить аватар из любого источника — будь то свой компьютер, Internet, ранее загруженные картинки или веб-камера.
Выбор источника для аватара
Далее нам предлагается обрезать выбранное изображение, если необходимо.
Обрезка аватара
И в заключение выбираем рейтинг для данного изображения. Если не знаете что это, просто выберите первый вариант (G). Объяснение рейтингов можно найти на последнем скриншоте в этом посте, где показана панель управления блогом на WordPress.
Выбор рейтинга аватара
В итоге видим на экране что-то наподобие этого.
Аватар добавлен
Теперь можно выходить из сервиса Gavatar, там все сделано. Теперь нужно убедиться что в настройках WordPress настроено отображение аватаров. Для этого заходим в панели управления своим блогом в раздел «Параметры» -> «Обсуждение». Ставим галочку «Показывать аватары». Флаг «Аватар по умолчанию» можно поставить в положение «Логотип Gravatar». А можно выбрать и любой автоматический аватар, например как указано на скриншоте ниже — аватар привязанный к E-mail в сервисе Gravatar все равно будет отображаться.
Настройка аватаров в WordPress

Как мой блог получил Яндекс тИЦ 10 и Google PR2

Все-таки это случилось. Мой блог через чуть более полутора лет после создания и через 3 месяца после покупки домена, получил Яндекс тИЦ 10 и Google PR2. Гугл правда оценку поставил пораньше. А на Яндекс я как-то пока и не рассчитывал. Я думал, что просто так, без платного продвижения, покупки ссылок и так далее этому не бывать. Конечно, кому-то это покажется долго, но надо учесть, что целенаправленных усилий для этого не прилагалось. Все что было — это неспешное написание постов, да и ссылки с нескольких созданных сайтов. Контент — исключительно свой копирайт. Посты создавались после того, как что-то происходило — решалась какая-то проблема, находился полезный ресурс и тому подобное. Первоначально планировалось вести записи для себя, чтоб не забыть. Ну и конечно предполагалось, что если кто-то ищет решение вопроса и найдет ответ в моем блоге — всегда пожалуйста.

Да, кстати, сейчас блог все еще на бесплатном хостинге без рекламы. Нагрузка пока не та для полноценного хостинга, да и в 99% доступности всегда и везде в данный момент нет необходимости.

Переезд блога с Blogger на WordPress

Блоггер довольно практичная платформа, для начала. Удобная статистика, бесплатный и быстрый хостинг. Но наступает момент, когда уже не хватает встроенных функций. Так же хочется чтобы все файлы, в том числе картинки, были на одном домене. Конечно же свой хостинг и платформа дают большую гибкость. Итак, решение принято — переезжаем на WordPress — очень популярную платформу для блога с массой доступных плагинов и надстроек.
Хочу поделиться своим опытом переезда, может кому пригодится. Стоит заметить что способов переноса постов несколько, но я упомяну тот, которым сам воспользовался. К моменту переезда у блога уже был свой домен. О том как сделать этот шаг, смотрите пост о подключении персонального домена к Blogger. Так что в этой инструкции подразумевается, что этот вопрос решен.

Приступим:

  1. Экспортируем записи из Blogger (больше там вообще ничего менять не надо, даже настройки переадресации на домен). Старый блог не нужно удалять, он не помешает, так как после всех действий виден не будет.
    экспорт записей и комментариев с  blogger
  2. Конвертируем полученный файл с записями на http://blogger2wordpress.appspot.com/
  3. Покупаем хостинг или используем бесплатный с PHP и MySQL
  4. Устанавливаем на нем WordPress
  5. В WP устанавливаем плагин WordPress Importer и импортируем записи. В версии WordPress 3.5.1, например, этот плагин уже есть в меню Инструменты->Импорт
    установка плагина WordPress для импорта записей
    При этом способе комментарии теряют аватары и вложенность (если это критично, надо искать другой способ импорта).
  6. Настраиваем тему, виджеты и прочее. Желательно перезалить все картинки в постах, чтобы не шли ссылки на сервера Google. Незачем оставлять за собой хвосты. Я так же отредактировал все посты в которых отображался код, используя плагин WP-Syntax. В отображаемом коде для корректного отображения пришлось заменить «<» и «>» на «&lt;» и «&gt;»
  7. Назначаем записям метки и рубрики, так как опять же метки с Blogger при этом способе теряются.
  8. Вставляем в .htaccess строки для тех страниц, для которых хотим сохранить вес (так же чтобы записи просто не потерялись, когда на них будут ссылатся по старому адресу). Примеры:
    1
    2
    
    Redirect 301 /2011_08_01_archive.html http://www.ваш_домен.ru/2011/08/
    Redirect 301 [старая ссылка без домена] [новая ссылка с http и именем домена]
  9. Создаем на хостинге SOA-запись для приема домена (на некоторых хостингах этот шаг делается после прописывания DNS и вступления изменений в силу — в этом случае шаги 9 и 10 меняются местами)
  10. Ну и наконец, когда новый блог готов, в панели регистратора доменов прописываем новые DNS, старые CNAME-записи удаляем (которые вводили для подключения домена к Blogger). Ждем около суток (у меня даже меньше, несмотря на то что хостинг в США)

Вот пожалуй и все! Да, кстати, если кто-то зайдет на страницу старого блога — того что был на блоггере без домена — увитит такую страницу:
страница перенаправления с blogger

Подключение своего домена к блогу на Blogger (blogspot). Пошаговая инструкция

В этом посте расскажу как подключить к блогу на Google Blogger (blogspot) свой домен. В примере используется регистратор доменов 2domains.ru (официальный партнер reg.ru).

  1. Заходим в свой аккаунт Blogger. Идем во вкладку «Настройки», выбираем «Основное». В этой вкладке нажимаем ссылку «Добавить персональный домен».
    Добавить персональный домен
  2. Далее «Перейти к расширенным настройкам».
    Перейти к расширенным настройкам
  3. Указываем свой домен (даже если он еще не куплен). Причем указать надо с www (например: www.ваш_домен.ru). Затем кликаем «Сохранить».
    Указываем свой домен
  4. В ответ получаем такую картину. Blogger выдает две CNAME записи. Сохраняем их куда нибудь. Они понадобятся далее при настройке домена в панели регистратора.
    Blogger выдает две CNAME записи

Теперь пора покупать домен, если это еще не сделано. Дальнейшие скриншоты подразумевают что вы воспользовались регистратором 2domains.ru. Однако общий принцип у всех крупных регистраторов один. Желательно чтобы регистратор предоставлял бесплатно функцию Private Person (это значит что персональных данных в WHOIS не будет видно, кстати это положено по закону для частных лиц), а так же бесплатные DNS сервера. Дело в том что домен будет использовать не DNS Google, а те которые предоставит регистратор. Их надо сразу указать после покупки домена. В случае использования 2domains.ru, DNS сервера будут ns1.reg.ru и ns2.reg.ru.

  1. Итак домен куплен и мы переходим к его настройке. Домен уже должен быть виден во WHOIS. Нужно зайти в панель регистратора доменов и выбрать в меню «Домены» -> «Мои домены».
    панель регистратора доменов
  2. Кликаем на название своего домена.
    Выбрать название своего домена
  3. В появившемся окне выбираем «Управление зоной DNS».
    Управление зоной DNS
  4. Вводим 2 записи типа CNAME (те, которые выдал нам Google). Первую часть записи в колонку «Имя поддомена», вторую в колонку «Данные», как указано на скриншоте. Нажимаем «Добавить».
    Вводим записи типа CNAME
  5. Затем подобным образом вводим A записи. Они на Blogger одинаковые для любого домена. Пишем как на скриншоте. Видно что в колонку «Имя поддомена» ничего вводить не нужно. Эти записи указаны в справке Blogger, можно копировать оттуда. Данные записи нужны для переадресации с ваш_домен.ru на www.ваш_домен.ru.
    вводим A записи
  6. После ввода и добавления этих записей нажимаем кнопку «Обновить запись SOA». Теперь остается ждать пока обновится зона DNS (это может занять от нескольких часов до нескольких суток, в крайнем случае).
    Обновить запись SOA
  7. Наконец, после того как обновилась зона, нужно повторить шаги 1-3. Проверьте чтобы стояла галочка «Переадресовать ваш_домен.ru на www.ваш_домен.ru» в панели Blogger (смотрите скриншот ниже). После чего ваш блог будет находится по адресу www.ваш_домен.ru.
    Переадресовать ваш домен