Должна ли Google Analytics находиться в верхней или нижней части HTML-страницы?
Google рекомендует поместить скрипт Google Analytics прямо перед закрытием </head>
,
Тем не менее, я бы предпочел объединить его с остальным моим javascript, который теперь все вместе, в кэшированном внешнем файле, который загружается внизу моего HTML-файла. Могу ли я сделать это по-своему? Если да, то чем я рискую / какова стоимость размещения приведенного ниже кода не в заголовке, а в нижней части HTML?
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-22180365-1']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
7 ответов
Вы ничего не рискуете на самом деле. Ввод <script>
теги в конце <body>
рекомендуется из-за природы блокировки при выполнении включенного в него Javascript. Поскольку Javascript для GA вставляется динамически и поэтому не блокируется, вы можете поместить его где угодно.
Я предполагаю, что единственная "проблема", которую видит Google, заключается в том, что, размещая этот код внизу вашего сайта, вы можете не заметить, что посетители / загрузки страниц отменяют запрос до его завершения. Если кто-то вызывает ваш HTML-документ и отменяет запрос, код GA может не встретиться (и, следовательно, не будет выполнен).
Вы ничего не рискуете на самом деле. Ввод
<script>
теги в конце рекомендуются из-за природы блокировки при выполнении Javascript, который он включает...
Это просто неправда, Энди.
Вы не сможете получить некоторые функции, такие как отчеты в режиме реального времени или подтверждение Инструментов Google для веб-мастеров, если код не находится в пределах <head>
, Весь смысл асинхронного кода в том, что он может загружаться, пока загружается остальная часть страницы. Там нет риска UX от размещения его в <head>
и это наилучшая практика. источник: поддержка Google Analytics
@Stratboy Я сомневаюсь, что это код GA, который нарушает макет. Правильно помеченный скрипт - особенно тот, который не отображает никакого контента, например, GA - не повлияет на макет Я бы посмотрел в другом месте ваши проблемы с макетом. Возможно, попробуйте проверить это с W3C для некоторых подсказок?
Из инструкции по настройке Google Analytics:
Вставьте свой фрагмент (без изменений, полностью) в каждую веб-страницу, которую вы хотите отслеживать. Вставьте его непосредственно перед закрытием
</head>
тег.Если ваш веб-сайт использует шаблоны для создания страниц, введите его непосредственно перед закрывающим тегом в файле, который содержит
<head>
раздел.
Я согласен с принятым ответом. Я хотел бы добавить, что я заметил, что Google Webmaster Tools (GWT) требует, чтобы код отслеживания (асинхронная версия) был в голове, чтобы иметь возможность зарегистрироваться в качестве администратора для вашего сайта через существующую регистрацию Google Analytics для того же сайта. Так что, если код отслеживания JS не находится в <head>
эта опция регистрации недоступна.
Это может быть способ Google заставить другие сайты сделать это. Возможно, Google сможет лучше отслеживать именно тех посетителей, которые отменяют во время загрузки страницы. Это может сделать аналитику интересной для них, чтобы оптимизировать результаты поиска (например, сохранять события "раннего отказов" для своей статистики).
Реализация кода Как только вы найдете фрагмент кода, скопируйте и вставьте его в конец вашего контента, непосредственно перед </body>
тег каждой страницы, которую вы планируете отслеживать. Если вы используете общее включение или шаблон, вы можете ввести его там. Чтобы реализовать код отслеживания для защищенных страниц (например, https://), ознакомьтесь с разделом Как получить код отслеживания для защищенных страниц?
Ты можешь поставить это раньше </body>
Я не думаю, что будут какие-то проблемы с этим.
У меня был скрипт в разделе body как раз перед завершением тега body, и он всегда показывал, что на моем сайте отсутствует панель администратора аналитики кода отслеживания, поэтому я перешел в раздел head, и он работает нормально.