Статистика доступности сайта, виджет для WordPress

Виджет Статистика доступности сайта
Виджет «Статистика доступности сайта»

Уверен, многие из тех, кто занимается администрированием сайтов пользуются внешними сервисами мониторинга доступности подшефного сайта. Особенно удобно осуществлять контроль имея необходимые индикаторы, статистику и прочие данные в консоли сайта.

Я предлагаю удобный и бесплатный способ контроля работоспособности сайта на WordPress средствами сервиса pingdom.com. Помимо платных аккаунтов для регистрации доступна и бесплатная, ограниченная версия услуги. Воспользовавшись ей, вы, например, не сможете мониторить более одного сайта, однако, в большинстве случаев, достаточно и одного. При реализации, статистика сервиса будет доступна в консоли вашего сайта на WordPress, при этом, это будет сделано без использования какого-либо плагина.

C чего начать?

Для начала необходимо зарегистрироваться, для этого воспользуйтесь ссылкой pingdom.com/signup.

Форма регистрации на pingdom.com
Форма регистрации на pingdom.com. Может отличаться от представленной на скриншоте.

Настройки не должны вызвать затруднений. Все обязательные к заполнения поля помечены звездочкой. Обратите внимание на выделенные ниже поля.

Настройка аккаунта
Настройка аккаунта. Обратите внимание на выделенные поля.

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

Интеграция в WordPress

Отлично, статистика собирается, совсем скоро будет материал для анализа. Пользоваться консолью сервиса удобно, но не думаю, что на этом стоит останавливаться. Предлагаю интегрировать данные статистики в консоль сайта на WordPress. Не так давно я писал о том как добавить виджет в консоль WP в заметке Добавляем виджет в консоль, воспользуемся ею и подготовим область в которой будет располагаться статистика.

function add_pingdom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('pingdom_widget', 'Статистика доступности сайта', 'pingdom_dashboard_widget');
}
function pingdom_dashboard_widget() {
  echo 'Здесь будет располагаться код баннеров сервиса pingdom';
}
add_action('wp_dashboard_setup', 'add_pingdom_dashboard_widgets');

Приведенный выше код необходимо разместить в файле functions.php используемой темы.

Теперь, строку “Здесь будет располагаться код баннеров сервиса pingdom” необходимо заменить на код баннеров статистики сервиса. Для этого в консоли на сайте my.pingdom.com необходимо перейти на страницу Report ? Report banners и нажать кнопку Add New Report Banner.

Add New Report Banner
Add New Report Banner

Баннеров нам потребуется два. В одном будет статистика доступности сайта, так называемый Uptime, в другом — Response time, время доступности и время отклика соответственно.

New Report Banner
New Report Banner

Data range я оставляю неизменным — Last 30 days (Updated once per hour).

Баннеры готовы и доступны в консоли сервиса.

Report Banners
Report Banners

Кликаем на каждый из них по очереди и копируем код баннера.

Копируем код баннера
Копируем код баннера

Отлично, баннеры готовы, код каждого из них у нас есть. Осталось немного — заменить строку “Здесь будет располагаться код баннеров сервиса pingdom” на полученный код, в итоге это должно выглядеть так (конечно, код баннера у вас будет свой):

function add_pingdom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('pingdom_widget', 'Статистика доступности сайта', 'pingdom_dashboard_widget');
}
function pingdom_dashboard_widget() {
  echo '<a href="http://www.pingdom.com"><img src="https://share.pingdom.com/banners/xxxxxxx" alt="Uptime Report for http://mnastroeniya.ru/: Last 30 days" title="Uptime Report for http://mnastroeniya.ru/: Last 30 days" width="300" height="165" /></a><a href="http://www.pingdom.com"><img src="https://share.pingdom.com/banners/xxxxxxx" alt="Response time Report for http://mnastroeniya.ru/: Last 30 days" title="Response time Report for http://mnastroeniya.ru/: Last 30 days" width="300" height="165" /></a>';
}
add_action('wp_dashboard_setup', 'add_pingdom_dashboard_widgets');

Если все сделано верно, в консоли вашего сайта на WordPress, на заглавной странице появится новый виджет “Статистика доступности сайта”, вот как он выглядит у меня.

Виджет Статистика доступности сайта
Виджет «Статистика доступности сайта»

Вначале виджет не информативен, как я и сказал, потребуется время на сбор статистики, более того, обратите внимание — информация обновляется раз в час!

Кстати, совершенно не обязательно оставлять ссылку баннеров такой, какой ее предлагает сервис, разумно заменить на my.pingdom.com, таким образом, при клике на баннер, будет открываться консоль сервиса статистики, это удобно!

Заключение

Вот так, абсолютно бесплатно можно получить удобный инструмент контроля доступности сайта. Все что для этого потребовалось — зарегистрироваться на сайте сервиса и дополнить файл functions.php используемой темы простым кодом. Теперь вы всегда сможете видеть статистику работы сайта и получать уведомления на зарегистрированный в сервисе адрес электронной почты.

Ранее в официальном репозитории плагинов для WordPress был доступен плагин Pingdom status — wordpress.org/extend/plugins/pingdom-status, однако сейчас он по какой-то причине удален из него. Плагин обладал широким функционалом, избыточным, на мой взгляд.

Если что-то не получилось, или требуется моя помощь, обращайтесь или в комментарии или по электронной почте work@verha.net. Стоимость моей услуги по настройке статистики невысока.

Полезная информация — codex.wordpress.org/Dashboard_Widgets_API.

Опубликовано

Обратите внимание на предыдущие записи: