Google Analytics · 1 min read · Jan 04, 2026

Ускорьте Google Analytics

Ускорьте Google Analytics

Этот метод использует crontab для выполнения оболочного скрипта, который загружает обновленный файл urchin.js каждые 24 часа и сохраняет его в директории ваших локальных сайтов. Вот и все!

Проблема возникает, когда google-analytics.com/urchin.js запрашивается миллиардами веб-пользователей по всему миру одновременно, это может привести к тому, что страницы вашего сайта загружаются с черепашьей скоростью. Особенно если вы используете WordPress или аналогичную CMS.

Официальная позиция Google по локальному хостингу urchin.js

Настройте crontab, введя

crontab -e

в командной строке в стиле unix (ssh), затем добавьте:

11 12 * * * /home/user/websites/urch.sh >/dev/null 2>&1

Пример оболочного скрипта:

#!/bin/sh
rm /home/user/websites/askapache.com/z/j/urchin.js
cd /home/user/websites/askapache.com/z/j/
wget http://www.google-analytics.com/urchin.js
chmod 644 /home/user/websites/askapache.com/z/j/urchin.js
cd ${OLDPWD}
exit 0;

Есть 2 довольно серьезные вещи, которые вы достигаете, хостя urchin.js локально:

  1. Вы включаете постоянные соединения
  2. Вы гарантируете, что правильный заголовок 304 Not Modified отправляется вашим посетителям сайта вместо резервирования всего файла.

Одна из проблем с удаленно хостингом urchin.js заключается в том, что сервер, с которого подается файл urchin.js, не позволяет постоянные соединения.

Еще одна большая причина заключается в том, что, хотя заголовки Cache-Control правильно устанавливаются google-analytics при подаче urchin.js, вместо того чтобы правильно отвечать на заголовок If-Modified-Since с заголовком 304 Not Modified, указывая, что файл не был изменен, google-analytics вместо этого возвращает весь файл urchin.js снова, тем самым делая cache-control недействительным.

Вы можете четко увидеть эту проблему с помощью захвата wireshark.

GET /urchin.js HTTP/1.1  
Accept: */*  
Referer: http://www.askapache.com  
Accept-Language: en-us  
UA-CPU: x86  
Accept-Encoding: gzip, deflate  
If-Modified-Since: Tue, 20 Mar 2007 22:49:11 GMT  
User-Agent: Mozilla/4.0 (совместимо; MSIE 7.0; Windows NT 5.1; SU 2.011; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Alexa Toolbar; .NET CLR 3.0.04506.30)  
Host: www.google-analytics.com  
Connection: Keep-Alive
HTTP/1.1 200 OK  
Cache-Control: max-age=604800, public  
Content-Type: text/javascript  
Last-Modified: Tue, 20 Mar 2007 22:54:02 GMT  
Content-Encoding: gzip  
Server: ucfe  
Content-Length: 5675  
Date: Sat, 24 Mar 2007 18:23:12 GMT

Примечание: Вам потребуется схема кэширования на вашем сервере для достижения оптимальных результатов.

Довольно крутой способ!

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.