Яндекс.Метрика — полезный ресурс для мониторинга работы сайта, но обычно её предлагают внедрять непосредственно в код страницы. Для одностраничных сайтов это ещё разумно, но для сайта с многими страницами, лишний код в каждой странице сайта — это лишние байты, которые будут передаваться по сети с каждой страницей тогда, как если установить код счетчика Яндекс.Метрики в отдельном JS-файле, этот файл попадёт в кэш браузера и не будет гоняться по Сети с каждой страницей.
Странные предупреждения разработчиков Яндекса об установке кода счетчика Яндекс.Метрики в отдельном JS-файле
Это кажется логичным. Однако в официальной документации Яндекса есть два предупреждения:
-
Внимание.
Код счетчика, размещенный в файле на вашем сервере может устареть при обновлении кода на стороне Яндекс.Метрики. Поэтому рекомендуем устанавливать код счетчика на сайт стандартным образом.- Интересное заявление, как будьто, если код внедрять на каждую страницу, то при обновлении кода счётчика на стороне Яндекс.Метрики, он автоматически заменится на всех страницах сайта. Сомнительное заявление + менять его в одном файле по любому будет проще. Не знаю, что хотели сказать этим заявлением разработчики Яндекса, но тут я их просто не понимаю.
-
В случае установки кода Яндекс.Метрики, проверка кода счетчика на сайте не будет работать. На странице со списком счетчиков у счетчика будет статус: — «не установлен на главной странице, но данные поступают».
- Вот что станно, у меня всё нормально встало и статус счётчика Яндекс.Метрики такой же, как и на сайтах с кодом, установленным «стандартным образом». Тоже какое-то недоразумение, но это всё пустяки!
Код счетчика Яндекс.Метрики можно вполне себе установить в отдельном файле и даже вместе другими JavaScript функциями от других скриптов и всё замечательно работает. Итак,
Как установить код счетчика Яндекс.Метрики в отдельном JavaScript файле
Чтобы подключить код счетчика Яндекс.Метрики на сайт в отдельном файле, выполните действия:
- Сначала получите код счётчика Яндекс.Метрики (в официальной инстукции этот пункт почему-то почти последний) =D
- Перейдите на вкладку Счетчик и скопируйте из поля содержимое элемента
script
. - Добавьте этот код в файл, напимер,
metrika.js
.- Пример содержимого файла:
(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(XXXXXX, "init", { id:XXXXXX, clickmap:true, trackLinks:true, accurateTrackBounce:true, ut:"noindex" });
- Где
XXXXXX
— номер счетчика Яндекс.Метрики.
- Где
- Пример содержимого файла:
- Добавьте строку в HTML-код всех страниц сайта:
<script type="text/javascript" src="/metrika.js"></script>
- можно в самый конец перед закрывающим тегом
</body>
- можно в самый конец перед закрывающим тегом
- Чтобы счетчик собирал данные о посетителях, у которых отключен JavaScript, добавьте в HTML-код страниц сайта содержимое элемента
noscript
:
<noscript><div><img src="https://mc.yandex.ru/watch/XXXXXX" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
- можно также в конец HTML-документа
После этого всё должно подключаться и работать. Номер счётчика только свой укажите и название файла с кодом счетчика Яндекс.Метрики укажите правильно. =)
Официальная инстукция:
yandex.ru
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)