Лучше всего вставить код Google Analytics в WordPress, верхний или нижний колонтитул? Я предпочитаю нижний колонтитул, потому что я хотел, чтобы мой сайт загружался быстрее, уменьшая количество скриптов в заголовке, но может ли он работать, даже если script находится в нижнем колонтитуле?
Лучшее место для вставки кода Google Analytics
Ответ 1
Google рекомендовал поместить его непосредственно перед тегом </body>
, поскольку исходный метод, который они предоставили для загрузки ga.js
, блокировался. Однако новый асинхронный синтаксис можно безопасно помещать в голову с минимальной блокировкой, поэтому текущая рекомендация перед тегом </head>
.
<head>
добавит немного латентности; в нижнем колонтитуле уменьшится количество просмотров страниц, записанных с небольшим отрывом. Это компромисс. ga.js
сильно кэшируется и присутствует на большом проценте сайтов в Интернете, поэтому его часто обслуживают из кеша, уменьшая латентность почти до нуля.
В качестве личного предпочтения я хотел бы включить его в <head>
, но это действительно вопрос предпочтения.
Ответ 2
Вставьте его на свою веб-страницу непосредственно перед закрывающим тегом
</head>
.Одним из основных преимуществ асинхронного фрагмента является то, что вы можете расположите его в верхней части HTML-документа. Это увеличивает вероятность того, что маяк отслеживания будет отправлен перед пользователем покидает страницу. Обычно для размещения кода JavaScript в
<head>
, и мы рекомендуем разместить снипп в нижней части раздел<head>
для лучшей производительности
Ответ 3
Да, в любом случае рекомендуется поместить код GA в нижний колонтитул, поскольку страница не должна считаться посещением страницы, пока не будет прочитана вся разметка.
Ответ 4
Если вы хотите, чтобы ваши сценарии загружались после отображения страницы, вы можете использовать:
function getScript(a, b) {
var c = document.createElement("script");
c.src = a;
var d = document.getElementsByTagName("head")[0],
done = false;
c.onload = c.onreadystatechange = function() {
if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
done = true;
b();
c.onload = c.onreadystatechange = null;
d.removeChild(c)
}
};
d.appendChild(c)
}
//call the function
getScript("http://www.google-analytics.com/ga.js", function() {
// do stuff after the script has loaded
});