Должна ли Google Analytics находиться в верхней или нижней части HTML-страницы? - PullRequest
21 голосов
/ 20 марта 2011

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 ]

30 голосов
/ 20 марта 2011

Ты ничего не рискуешь на самом деле.Рекомендуется помещать теги <script> в конец <body> из-за природы blocking при выполнении включенного в него Javascript.Поскольку Javascript для GA вставляется динамически и поэтому не блокируется, вы можете поместить его в любом месте.

Я думаю, единственная "проблема", которую видит Google, заключается в том, что при размещении этого кода внизу вашего сайта вы можетене поймать посетителей / загрузки страниц отменить запрос до завершения.Если кто-то вызывает ваш HTML-документ и отменяет запрос, код GA может не встретиться (и поэтому не будет выполнен).

22 голосов
/ 30 октября 2012

Ты ничего не рискуешь на самом деле. Рекомендуется помещать теги <script> в конце тега из-за характера блокировки во время выполнения включенного в него Javascript ...

Это просто неправда, Энди.

Вы не сможете получить некоторые функции, такие как отчеты в режиме реального времени или подтверждение Инструментов Google для веб-мастеров, если код не находится в пределах <head>. Весь смысл асинхронного кода в том, что он может загружаться, пока загружается остальная часть страницы. Нет риска UX от размещения его в пределах <head>, и это наилучшая практика. источник: Служба поддержки Google Analytics

@ Stratboy Я сомневаюсь, что это код GA, который нарушает макет. Правильно помеченный скрипт - особенно тот, который не отображает никакого контента, например, GA - не повлияет на макет. Я бы посмотрел в другом месте ваши проблемы с макетом. Возможно, попробуйте проверить его с помощью W3C для некоторых подсказок?

4 голосов
/ 22 февраля 2014

Из настроек Google Analytics инструкции :

Вставьте свой фрагмент (без изменений, полностью) в каждую веб-страницу, которую вы хотите отслеживать.Вставьте его непосредственно перед закрывающим тегом </head>.

Если ваш веб-сайт использует шаблоны для создания страниц, введите его непосредственно перед закрывающим тегом в файле, который содержит раздел <head>.

1 голос
/ 20 декабря 2012

Я согласен с принятым ответом.Я хотел бы добавить, что я заметил, что Google Webmaster Tools (GWT) требует, чтобы код отслеживания (асинхронная версия) был в голове, чтобы иметь возможность зарегистрироваться в качестве администратора для вашего сайта через существующую регистрацию Google Analytics для того же сайта.Поэтому, если код отслеживания JS отсутствует в <head>, этот параметр регистрации недоступен.

Это может быть способом Google заставить другие веб-сайты сделать это.Возможно, Google сможет лучше отслеживать именно тех посетителей, которые отменяют во время загрузки страницы.Это может сделать аналитику интересной для них, чтобы оптимизировать результаты поиска (например, сохранять события «раннего отказов» для своей статистики).

0 голосов
/ 28 июня 2016

У меня был скрипт в разделе body перед завершением тега body, и он всегда показывал, что на моем сайте отсутствует панель администратора аналитики кода отслеживания, поэтому я перешел в раздел head, и он работает нормально.

0 голосов
/ 20 марта 2011

Реализация кода Найдя фрагмент кода, скопируйте его и вставьте в нижнюю часть содержимого, непосредственно перед тегом </body> каждой страницы, которую вы планируете отслеживать. Если вы используете общее включение или шаблон, вы можете ввести его там. Чтобы внедрить код отслеживания для защищенных страниц (например, https://),, ознакомьтесь с разделом Как получить код отслеживания для защищенных страниц?

0 голосов
/ 20 марта 2011

Вы можете поставить его раньше </body> Не думаю, что с этим возникнут какие-либо проблемы.

...