Блог
Установить скрипт Google Analytics локально и ускорить загрузку WordPress сайта

Когда вы оптимизируете количество запросов к серверу (HTTP Requests), то вы, скорее всего, на каком-то этапе столкнетесь со скриптом Google Analytics. Этот скрипт выполняет асинхронный запрос на загрузку файла analytics.js с серверов Google.

Поскольку это асинхронный запрос, он не блокирует и не останавливает загрузку других скриптов и не вмешивается в рендеринг DOM событий. Однако он требует дополнительного DNS Lookup и увеличивает время загрузки страницы. Кроме того, вы зависите от серверов Google, которые вы не можете контролировать.

Поэтому, чтобы избежать подобных ситуаций, улучшить время загрузки сайта (пусть даже на 0,01 секунды) и повысить свои показатели Google Page Speed на несколько баллов, лучше загрузить скрипт Google Analytics локально с собственного сервера, на котором хостится ваш сайт.

Способ похож на то как можно локально загружать шрифтов Google Fonts или другие, чтобы улучшить время загрузки, получить контроль над файлами и избежать заметки «Serve static assets with an efficient cache policy» в Google Page Speed.

Однако, в отличие от шрифтов, которые обновляются нечасто, скрипт Google Analytics обновляется часто, и поэтому Google не рекомендует загружать его локально, поскольку вы можете получить некоректные данные и использовать устаревшую версию скипта, однако решение есть и я расскажу вам как я это делаю для сайтов WordPress.

Дальше мы разберем, как загружать скрипт Google Analytics локально с вашего сервера и как создать задание Cron, которое будет автоматически обновлять этот скрипт раз в день, тем самым решая проблему устаревания скрипта.

Учтите что у вас должен быть доступ до интерфейса с заданиями для Cron или доступ до терминала и пользователь с правом создания заданий для Cron

Следует отметить, что улучшение времени загрузки будет незначительным. В основном это делается для того, чтобы устранить замечание в Google Page Speed.

Кстати, еще есть такие плагины как LiteSpeed Cache или WP Rocket, которые имеют функционал выполняющий аналогичное действие через веб интерфейс и это полезно для обычных людей не программистов.

Локальная загрузка Google Analytics для повышения скорости работы сайта

Вот шаги которые предстоит сделать для локальной загрузки Google Analytics с вашего сервера:

  • Найдите скрипт Google Analytics используя интерфейс браузера, инструменты разраотчика, нажав F12
  • Скопируйте весь код, который отображается по ссылке в файле analytics.js
  • Создайте файл с именем local-ga.js в директорие темы сайта и вставьте в него код скопированный вами ранее
  • Замените код отслеживания Analytics на вашем сайте:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://you-website.ru/local-ga.js','ga');

ga('create', 'UA-xxxxxxx-x', 'auto');
ga('send', 'pageview');

</script>

Обратите внимание, что вам нужно отредактировать https://you-website.ru/local-ga.js в соответствии с вашим доменом и, конечно же, измените идентификатор отслеживания соответствующим образом (UA-xxxxxx-x)

  • Как уже упоминалось, Google часто обновляет файл analytics.js. Мы можем загрузить эти обновления на наш сервер автоматически, создав для этого файл с именем ga-update.php. Создайте пустой файл с таким именем и скопируйте в него следующий код:
<?php

$remoteFile = 'https://www.google-analytics.com/analytics.js';
$localfile = '/home/username/public_html/local-ga.js';

$connTimeout = 10;
$url = parse_url($remoteFile);
$host = $url['host'];
$path = isset($url['path']) ? $url['path'] : '/';
if (isset($url['query'])) {
    $path .= '?' . $url['query'];
}
$port = isset($url['port']) ? $url['port'] : '80';
$fp = @fsockopen($host, '80', $errno, $errstr, $connTimeout);
if (!$fp) {
    if (file_exists($localfile)) {
        readfile($localfile);
    }
} else {
    $header = "GET $path HTTP/1.0\r\n";
    $header .= "Host: $host\r\n";
    $header .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6\r\n";
    $header .= "Accept: */*\r\n";
    $header .= "Accept-Language: en-us,en;q=0.5\r\n";
    $header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
    $header .= "Keep-Alive: 300\r\n";
    $header .= "Connection: keep-alive\r\n";
    $header .= "Referer: http://$host\r\n\r\n";
    fputs($fp, $header);
    $response = '';
    while ($line = fread($fp, 4096)) {
        $response .= $line;
    }
    fclose($fp);
    $pos = strpos($response, "\r\n\r\n");
    $response = substr($response, $pos + 4);
    echo $response;
    if (!file_exists($localfile)) {
        fopen($localfile, 'w');
    }
    if (is_writable($localfile)) {
        if ($fp = fopen($localfile, 'w')) {
            fwrite($fp, $response);
            fclose($fp);
        }
    }
}
?>

Не забудьте отредактировать /home/username/public_html/local-ga.js в соответствии с тем местом, где вы разместили файл local-ga.js.

  • Загрузите созданный вами файл в папку public_html.
  • Последний шаг — На этом шаге мы создадим задание Cron, используя хостинг панель установленную на вашем хостинге или терминал

Войдите в интерфейс панели управления вашего остинга и перейдите в веб интерфейс управления Cron Jobs и используйте следующий код:

/usr/bin/php /home/username/public_html/ga-update.php >/dev/null 2>&1

Не забудьте изменить расположение /home/username/public_html/ga-update.php на то как вы расположили файл у себя на хостинге

Теперь проверим улучшение показателей

Хотя оценка, которую вы получите от инструментов тестирования скорости Google Page Speed, зависит от многих факторов, не связанных с вашим сайтом и сервером, все же ошибок, связанных с «Serve static assets with an efficient cache policy» станет меньше

Скорость загрузки сайта на мобильных устройствах

Скорость загрузки сайта на десктопах

Как загрузить Google Analytics локально с помощью WordPress плагина

Если вы используете WordPress не имеете навыков веб разработчика, если вам сложно выполнить действия описанные выше самостоятельно, то вы можете воспользоваться плагином, который позволит вам сделать это в веб интерфейсе. Он генерирует для вас тот самый Cron Job, о котором мы говорили, а также предоставляет несколько дополнительных опций.

Плагин называется CAOS | Host Google Analytics Locally, имеет более 10 000 загрузок и средний рейтинг 5 звезд.

Так же в качестве WordPress плагина для кэширования и локальной загрузки Google Analytics вы можете использовать бесплатный WordPress плагин LiteSpeed Cache

Назад
Chat GPT аналоги доступные в России без VPN и бесплатно
Искусственный интеллект стал неотъемлемой частью нашей жизни. Одним из ярких представителей этой сферы является ChatGPT – мощный искуственный интелект, способный генерировать текст и картинки, отвечать на вопросы и выполнять множество других задач. Chat GPT аналоги для различных сфер деятельности Сначала я расскажу про популярные Chat GPT аналоги в мире, некоторые из них так же разработаны…
Бэкенд разработка
Подробнее
Вперед
пинг сервисы wordpress
Ping сервисы для ускорения индексации WordPress сайта в Яндекс и Google
Пинг сервсы работают как шарик для пинг-понга, уведомляя Google и другие поисковые системы о создании или обновлении нового контента на вашем сайте WordPress. На практике, когда вы редактируете или добавляете новое контент на свой WordPress сайт отправляется пинг на все пинг-сервисы, перечисленные в разделе WordPress Dashboard > Writing > Ping Services Таким образом, когда на…
Бэкенд разработка
Подробнее