Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer

RedDeveloper
13.07.2023 15:04
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer

В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в поисковых системах. Рекомендации, предоставляемые инструментом Google PageSpeed Insights, помогают нам понять, как оптимизировать наш сайт для улучшения этих аспектов. Одно из частых предложений, которое он предлагает, - предотвратить блокирование рендеринга страницы сторонним кодом.

По умолчанию код Google Tag Manager блокирует отрисовку страницы, поскольку она загружается синхронно. Это означает, что браузер приостанавливает загрузку и выполнение сценария Google Tag Manager, прежде чем продолжить работу с остальным содержимым. Это может привести к увеличению времени загрузки страницы и, как следствие, к ухудшению пользовательского восприятия.

В этой статье я покажу, как можно заставить код Google Tag Manager загружаться асинхронно, используя атрибут defer, чтобы не блокировать рендеринг страницы и повысить ее производительность.

В этой статье я покажу как можно заставить код Google Tag Manager загружаться асинхронно

Необходимо передать код Google Tag Manager во внешний JavaScript-файл, а затем загрузить этот файл в HTML с помощью атрибута defer. Этот атрибут гарантирует, что скрипт будет выполнен после завершения загрузки страницы, что может быть особенно полезно, если скрипт не должен выполняться немедленно, а вы хотите улучшить производительность загрузки страницы. Я показываю, как это сделать:.

Сначала создайте новый JavaScript-файл (например, googleTagManager.js) и вставьте в него JavaScript-код Google Tag Manager:

// googleTagManager.js
(function(w,d,s,l,i){
    w[l]=w[l]||[];
    w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'});
    var f=d.getElementsByTagName(s)[0], j=d.createElement(s), dl=l!='dataLayer'?'&l='+l:'';
    j.async=true;
    j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
    f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXB');

Затем в HTML-файле добавьте тег <script>, ссылающийся на этот новый файл, используя атрибут defer:

<!-- Cargando el script de Google Tag Manager -->
<script src="googleTagManager.js" defer></script>

Заставив код Google Tag Manager загружаться асинхронно, можно значительно повысить производительность сайта. Это не только повышает удобство использования, но и положительно сказывается на SEO, поскольку поисковые системы предпочитают быстро загружающиеся страницы. Попробуйте применить эту технику уже сегодня ко всем своим скриптам и сделайте свой сайт еще быстрее и эффективнее.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.