Есть ли причина ставить Google Analytics в голову, а не в тело? - PullRequest
11 голосов
/ 12 сентября 2010

Существует ли причина помещать аналитику 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 в конец скрипта (исправить)

Спасибо

Ответы [ 4 ]

30 голосов
/ 12 сентября 2010

Встраивание кода ga.js в способ, который вы описываете (с жестко закодированным тегом <script>), действительно блокирует, и если вы загружаете скрипт таким образом, лучшим вариантом считается его загрузка непосредственно перед *Тег 1002 *.Но это не рекомендуемая практика, если вы используете новый асинхронный код. Google явно рекомендует разместить новый асинхронный код в <head>.

Новый асинхронный код неблокирует двумя способами.Во-первых, он ставит в очередь переменные для страницы в глобальной переменной _gaq.Таким образом, данные готовятся в любом случае.

Затем, как описано в этом SO-ответе , использование javascript напрямую для записи сценария, так как в новом асинхронном коде нет блокировки (этот метод прямого ввода является способом достижения асинхронного-ness, даже в браузерах, которые непосредственно не наблюдают атрибут async).Остальная часть сайта может продолжать загружаться, если по какой-либо причине серверы Google не работают или медленно реагируют.И это только в том случае, если у пользователя нет кэшированного ga.js, как это делают многие, поскольку ga.js используется на многих популярных веб-сайтах.

Преимущество всего этого заключается в том, что чем раньше ga.js загружается и может передавать объект _gaq в Google, тем больше вероятность того, что вы соберете ВСЕ ваши потенциальные данные, например данныепользователи, которые очень быстро нажимают на вашу страницу.Это особенно важно для «больших» веб-сайтов, у которых, как правило, много постоянных пользователей, которые следуют привычкам быстрого щелчка.

Если вы скептически относитесь, протестируйте его с помощью инспектора загрузки страниц, такого как инструменты разработчика webkit.Я тщательно его протестировал и не нашел никаких признаков значительных блокировок при использовании асинхронного кода в </head>, как описано.

6 голосов
/ 12 сентября 2010

Я предлагаю использовать асинхронный код Google Analytics.

Асинхронный Google Analytics

Если вы используете неасинхронный код и вставляете его в раздел head,он может заблокировать загрузку вашего сайта, если код ga будет загружаться медленно, потому что он ожидает загрузки сценариев.А поскольку Google Analytics является внешним сценарием, вы можете не иметь никакого влияния на производительность загрузки (обычно это не должно иметь значения, но может случиться, что даже у Google есть проблемы с сервером).

Итак, нет, я не вижуреальная причина сделать это таким образом.

2 голосов
/ 12 сентября 2010

Нет веских причин для этого. Сами Google рекомендуют размещать тег в нижней части тела, чтобы избежать его ранней загрузки и замедления загрузки страницы.

Вероятно, так и было, потому что кто-то привык помещать теги <script> в заголовок.

0 голосов
/ 12 сентября 2010

Рекомендуется помещать такие скрипы как можно ниже в html по соображениям производительности. Скрипты, которые нужно загрузить, прерывают другие загрузки в браузере. Я предлагаю вам взглянуть на эту статью: Рекомендации по ускорению работы вашего сайта .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...