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>&1

Exemple 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 :

  1. Vous activez les connexions persistantes
  2. 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-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

Remarque : Vous aurez besoin d’un schéma de mise en cache sur votre serveur pour des résultats optimaux.

Assez impressionnant comme surenchère !

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.