ПОЧЕМУ код Universal Analytics должен идти непосредственно перед тегом закрывающей головы?

9

Официальная документация Google гласит:

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

Конечно, есть некоторые причины, по которым они предлагают это размещение; Я хочу знать, каковы эти причины.

Я думаю : почему он не может войти в тег body, если он все равно не блокирует асинхронный код?

Мой коллега теоретизировал : это так, что просмотры страниц по-прежнему отслеживаются, даже если еще один элемент внизу страницы нарушает все.

Но если это так, то почему бы не предложить добавить его сразу после открывающего тега head?

Эрик Систранд
источник
1
Почему вы сомневаетесь в их документации? Почему тебе не все равно? Просто поместите его перед закрывающим тегом,
Стив
1
Это может быть связано с заголовком или метатегами.
hildred
3
@ Steve: Представьте себе сценарий, в котором используемая вами CMS позволяет очень легко добавить его на страницу, но очень трудно добавить его в рекомендованном положении. Клиент спросит «почему такое простое изменение занимает так много времени и что произойдет, если оно не в голове».
Эрик Систранд,

Ответы:

7

Вы можете разместить код в любом месте на веб-странице с очень небольшим компромиссом.

Почему гугл специально рекомендует ставить его в <head>разделе?

Потому что есть небольшое преимущество - <head>вы можете захватить пользователей, которые ушли сразу после открытия вашей страницы.

Почему не в теле?

Вы можете, конечно, поместить его в <body>раздел, и вы потеряете только очень маленький процент посетителей (как уже упоминалось выше).

Ранее, когда код блокировался, рекомендовалось помещать его непосредственно перед закрывающим </body>тегом, чтобы он не замедлял работу сайта. Рекомендация была изменена, когда код был сделан неблокирующим. Кроме того, поскольку этот код так широко используется на веб-сайтах, высока вероятность того, что браузер будет обслуживать файл js из кэша вместо фактической загрузки.

Aakash
источник
Для меня это не ответ на вопрос "ПОЧЕМУ код Universal Analytics должен идти непосредственно перед тегом закрывающей заголовка?" «Непосредственно перед» - не рассматривается в ответе выше. Я также хотел бы знать ответ
Nat
1
Вы можете поместить код UA в любое место тега head, но поскольку он не так необходим, как ваш заголовок, описание или даже ваши связанные CSS-файлы, поэтому браузер должен обрабатывать это в последнюю очередь, даже если он асинхронный.
Аакаш
1

Это не техническое объяснение того, почему это необходимо, но практическая причина сделать это.

Если вы хотите использовать свой код отслеживания Google Analytics (GA) для различных целей проверки в сети сайтов Google - например,

  • подтвердить свое право собственности на сайт в консоли поиска Google; или
  • связать свой канал YouTube с сайтом

Вы можете сделать это, если ваша учетная запись Google является администратором GA и выше; но прежде он ищет только код отслеживания GA в заданной позиции </head>.

Кроме того, отсутствие кода в этой позиции может вызвать раздражающие повторяющиеся сообщения об ошибках в интерфейсе Google Analytics.

Поэтому, хотя я извиняюсь, я не могу пролить свет на то, какими могут быть основные (технические, если таковые имеются) причины, для меня вышеизложенные достаточно веские причины, чтобы просто сделать это.

marktristan
источник