Google Analytics · 1 min read · Jan 04, 2026
Accélérez Google Analytics
Accélérez Google Analytics
Cette méthode utilise crontab pour exécuter un script shell qui télécharge un fichier urchin.js mis à jour toutes les 24 heures et l’enregistre dans le répertoire de vos sites locaux. C’est tout !
Le problème survient lorsque google-analytics.com/urchin.js est demandé par des milliards d’utilisateurs web à travers le monde en même temps, cela peut faire charger les pages de votre site à un rythme d’escargot. Surtout si vous utilisez WordPress ou un CMS similaire.
Position officielle de Google sur l’hébergement local de urchin.js
Configurer crontab en tapant
crontab -eà un invite de commande de style unix (ssh) puis ajoutez :
11 12 * * * /home/user/websites/urch.sh >/dev/null 2>&1Exemple de script shell :
#!/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;Il y a 2 choses assez majeures que vous accomplissez en hébergeant urchin.js localement :
- Vous activez les connexions persistantes
- Vous vous assurez que l’en-tête 304 Not Modified correct est renvoyé à vos visiteurs de site au lieu de réserver l’intégralité du fichier.
Un problème avec urchin.js hébergé à distance est que le serveur à partir duquel le fichier urchin.js est servi ne permet pas les connexions persistantes.
Une autre grande raison est que même si les en-têtes Cache-Control sont correctement définis par google-analytics lors du service de urchin.js, au lieu de répondre à un en-tête If-Modified-Since correctement avec un en-tête 304 Not Modified, indiquant que le fichier n’a pas été modifié, google-analytics renvoie plutôt l’intégralité du fichier urchin.js à nouveau, rendant ainsi le contrôle de cache nul.
Vous pouvez voir ce problème clairement avec une capture 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 (compatible; 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-AliveHTTP/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 GMTRemarque : Vous aurez besoin d’un schéma de mise en cache sur votre serveur pour des résultats optimaux.
Assez impressionnant comme surenchère !
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.