Google Analytics · 1 min read · Jan 04, 2026

Google Analytics beschleunigen

Google Analytics beschleunigen

Diese Methode verwendet crontab, um ein Shell-Skript auszuführen, das alle 24 Stunden eine aktualisierte urchin.js-Datei herunterlädt und in Ihrem lokalen Verzeichnis speichert. Das war’s!

Das Problem tritt auf, wenn google-analytics.com/urchin.js von Milliarden von Webnutzern auf der ganzen Welt gleichzeitig angefordert wird, was dazu führen kann, dass die Seiten Ihrer Website in Schneckentempo laden. Besonders wenn Sie WordPress oder ein ähnliches CMS verwenden.

Offizielle Google-Position zum lokalen Hosting von urchin.js

Crontab einrichten durch Eingabe von

crontab -e

an einer Unix-ähnlichen Eingabeaufforderung (ssh) und fügen Sie dann hinzu:

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

Beispiel für ein Shell-Skript:

#!/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;

Es gibt 2 ziemlich wichtige Dinge, die Sie erreichen, indem Sie urchin.js lokal hosten:

  1. Sie aktivieren persistente Verbindungen
  2. Sie stellen sicher, dass der korrekte 304 Not Modified-Header an Ihre Website-Besucher zurückgesendet wird, anstatt die gesamte Datei zu reservieren.

Ein Problem mit remote gehostetem urchin.js ist, dass der Server, von dem die urchin.js-Datei bereitgestellt wird, keine persistenten Verbindungen zulässt.

Ein weiterer großer Grund ist, dass, obwohl die Cache-Control-Header von google-analytics beim Bereitstellen von urchin.js korrekt gesetzt werden, google-analytics anstelle einer korrekten Antwort auf einen If-Modified-Since-Header mit einem 304 Not Modified-Header, der anzeigt, dass die Datei nicht geändert wurde, stattdessen die gesamte urchin.js-Datei erneut zurückgibt, wodurch die Cache-Control ungültig wird.

Sie können dieses Problem deutlich mit einem Wireshark-Capture sehen.

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

Hinweis: Sie benötigen ein Caching-Schema auf Ihrem Server für optimale Ergebnisse.

Echt eine süße Übertreibung!

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.