Есть ли причина поместить Google Analytics в голову, а не в тело?
Есть ли причина поместить аналитику Google в голову, а не в конец тела?
(Я работаю на большом веб-сайте, чтобы он работал таким образом)
Вариант 1:
<head>
<script src="http://www.google-analytics.com/ga.js"></script>
</head>
Вариант 2 - в нижней части тела:
<body>
//html code
<script src="http://www.google-analytics.com/ga.js"></script>
</body>
Edit1:
Также тот же вопрос с jquery ui
Edit2:
добавьте ga.js в конце script (исправить)
Спасибо
Ответы
Ответ 1
Я предлагаю использовать асинхронный код Google Analytics.
Асинхронная Google Analytics
Если вы используете неасинхронный код и помещаете его в раздел главы, он может блокировать загрузку вашего сайта, если код ga будет медленно загружаться, потому что он ждет, пока скрипты не загрузятся. И поскольку google analytics является внешним script, вы можете не влиять на производительность загрузки (обычно это не имеет значения, но может случиться, что даже у Google проблемы с сервером).
Итак, нет, я не вижу реальной причины для этого.
Ответ 2
Встраивание кода ga.js так, как вы описываете (с жестко закодированным тегом <script>
), действительно блокируется, и если вы загружаете script, как это, то считается, что наилучшая практика будет загружать его непосредственно перед тег </body>
. Но это не рекомендуется, если вы используете новый асинхронный код. Google явно рекомендует размещать новый асинхронный код в <head>
.
Новый асинхронный код не блокируется двумя способами. Во-первых, он помещает в очередь переменные для страницы в глобальной переменной _gaq. Таким образом, данные подготовлены в любом случае.
Затем, как описано в этом SO-ответе, использование javascript непосредственно для записи script, как и в новом асинхронном коде, является неблокирующим (эта прямая инъекция метод - это способ достижения асинхронности, даже в браузерах, которые непосредственно не видят атрибут async
). Остальная часть сайта может продолжать загружаться, если по какой-либо причине серверы Google не работают или не реагируют на них. И это только в том случае, если пользователь уже не кэшировал ga.js, как это делают многие, поскольку ga.js используется на многих популярных веб-сайтах.
Преимущество всего этого в том, что чем раньше ga.js загружается и может передавать объект _gaq в Google, тем больше вероятность того, что вы будете захватить ВСЕ ваши потенциальные данные, например данные пользователей, которые нажмите очень быстро на своей странице. Это особенно важно для "больших" веб-сайтов, которые, как правило, имеют множество постоянных пользователей, которые следуют привычкам быстрого доступа.
Если вы настроены скептически, протестируйте его с помощью инспектора загрузки страниц, такого как инструменты разработчика webkit. Я тестировал его широко и не обнаружил признаков существенной блокировки при использовании асинхронного кода в </head>
, как описано.
Ответ 3
Нет веских оснований для этого. По сути, сами пользователи рекомендуют помещать тег в нижней части тела, чтобы не загружать его на раннем этапе и замедлять загрузку страницы.
Возможно, это было сделано так, потому что кто-то используется для размещения тегов <script>
в заголовке.
Ответ 4
Рекомендуется поместить такие скрипты как можно ниже в html по соображениям производительности. Сценарии, которые нужно загружать, прерывают другие загрузки в браузере. Я предлагаю вам взглянуть на эту статью: "Лучшие практики для ускорения вашего веб-сайта" .