Подключение Яндекс Метрики и Google Analytics через functions.php
WordPress

Подключение Яндекс Метрики и Google Analytics через functions.php

Частенько возникает потребность анализировать сайт, проверять посещения, следить за пользовательскими факторами. Это необходимо для улучшения сайта, лучшего понимания его устройства и SEO. В случае с WordPress проблем с подключением Яндекс Метрики или Google Analytics практически нет. Можно установить плагины, которые автоматически добавят необходимое, можно просто внести код в нужный файл. Лично я предпочитаю нужный код вынести в отдельный плагин. Сегодня расскажу, как это сделать через файл функций.

P. S. Куда более эффективный и правильный способ — вынесение кода в отдельный плагин. На производительности сайта это никак не скажется, позволит удобнее работать, к тому же, ваш код не будет зависеть от темы. Все, что напрямую не завязано на тему, лучше выносить в плагин. И это не намного более тяжелая задача, о которой расскажу чуть позже.

Добавляем Метрику или Google Anaytics в functions.php

Давайте сначала разберемся, где взять счетчики. Это задача простая, здесь требуется только зарегистрироваться и получить код. Я не буду описывать, как это сделать. Описание есть в справке на официальных сайтах: https://metrika.yandex.ru/ и https://analytics.google.com/ В общем, получение кода проблем не составит. А лишнее пустословие ни к чему.

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

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

  2. Нет желания захламлять header.php или footer.php. Вполне объективная причина. Пак отдельный функций перенести проще, чем выковыривать отдельные фрагменты кода из разных файлов.

  3. Есть дочерняя тема. Весьма распространенная причина. Создание дочерней темы очень важно, помогает уберечь от порчи структуры сайта при обновлениях, потери стилей. Но не всегда в дочернюю тему переносятся файлы шапки или подвала.

  4. Просто хочется позаморачиваться. Самая уважительная причина из всех. Сам такой.

Основные причины перечислил, пришло время добавлять Метрику или Аналитику через functions.php

Все крайне просто

Вообще, идеи подобных текстов рождаются, когда вдруг обнаруживаю, что есть кое-какая информация, но в сети практически нет. Даже удивительно, ведь идея встроить Метрику или Analytics через functions.php приходит в адекватную голову часто. Конечно, опытный пользователь WordPress проблем в этом не увидит, а не опытного отправят… за плагином.

В общем, есть простое решение — хуки (крючки). Фактически, это позволяет избежать написания сложных функций, не плодить исполняемые файлы и не заморачиваться. Достаточно указать нужный hook и система поймет, куда нужно встроить код.

Встраивать системы аналитики предпочитают в раздел head. Многие рекомендуют в подвал, но тогда падает качество сбора информации. Потому, будем рассматривать на примере встраивания в head.

Добавляем Метрику через functions.php

Встраиваем Метрику через functions.php

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

Устанавливаем Яндекс Метрика посредством functionsОткрываем файл functions.php темы и добавляем такой код:

add_action('wp_head', 'wp_metrika');
function wp_metrika() {
?>
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
   (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
   m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
   (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
   ym(********, "init", {
        id:********,
        clickmap:true,
        trackLinks:true,
        accurateTrackBounce:true,
        webvisor:true
   });
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/52439596" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<?php }

Разберем по порядку.

Функция add_action добавляет определенное действие посредством использования хука (крючка). То бишь, wp_head – хук, который определяет, где будет совершено действие, в данном случае — <head> </head>, добавленное мной «wp_metrika» – функция, которую я выведу дальше. Не забывайте перед началом кода ставить тег ?>, это завершит блок php. После вставки скрипта Метрики, который начинается со строки <!— Yandex.Metrika counter —> и завершается строкой <!— /Yandex.Metrika counter —> введите <?php и поставьте «}», чтобы завершить функцию. Код метрики скопируйте свой. Он будет выведен после создания счетчика.

Готово, Метрика добавлена через functions.php. Кстати, если решили вставлять код через подвал, используйте хук wp_footer. В таком случае функция будет добавлена файл footer.php.

Встраиваем Google Analytics через functions.php

Есть ли в данном случае серьезные отличия? Конечно нет, принцип совершенно тот же. Создаем действие, указываем хук wp_head, создаем новую функцию. Блок выше сработает и для Аналитики, только создайте новую функцию, иначе конфликты гарантированы. Об этом расскажу чуть позже. Сделаю аналогичный код для удобства.

Дополнительные рекомендации

Создавайте функции только с уникальным названием, чтобы вероятность того, что окажутся в других плагинах или движке, сводилась к нулю. Как видите, добавлять счетчики через файл functions.php довольно легко. Пользуйтесь. Это гораздо проще, чем редактирование файлов темы.

2 комментария

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

Ваш e-mail не будет опубликован.