Alles moet sneller, ook Google Analytics – in 4 stappen
"Transferring data from google-analytics.com..."
Het is je vast wel eens opgevallen. Wachten op data van google-analytics.com. De browser moet een nieuwe connectie openen om het bestand urchin.js of ga.js (ga.js is de nieuwe versie van analytics) op te halen die gehost wordt op www.google-analytics.com. Bij overbelasting (zeldzaam bij Google, maar het komt voor) lagged deze connectie. Om dit proces te versnellen is er de volgende oplossing.
Oplossing
Lokaal hosten van urchin.js / ga.js op je server. Op deze manier hoeft de browser geen nieuwe connectie met Google servers te maken.
Hoe doen we dit?
Stap 1: Download de nieuwste versie van urchin.js of ga.js van Google.
Stap 2: Upload het bestand op je server.
Stap 3: Verwijs in je analytics code naar de nieuwe locatie.
Stap 4: Stel crontabs in om regelmatig een nieuwe versie te updaten van urchin.js / ga.js.
Waarom laat Google dit niet iedereen doen?
Google past soms hun bestand urchin.js/ga.js om hun code te updaten. Dit gebeurt maar enkele keren per jaar, dit is voor hun de reden om dit bestand op hun eigen servers te hosten.
Crontabs
-
#!/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;
Ondersteund je server geen crontabs? Het is ook mogelijk met een PHP script manier te doen, alleen heb ik dit nog niet zelf getest.
Voordelen
- Je webpagina's laden sneller, omdat browsers de bestaande connectie met je webserver gebruiken. Voor het downloaden van het bestand hoeft er dus geen nieuwe connectie geopend te worden naar Google's server.
- Heel soms komt het voor dat Google's servers overbelast raken en dan scheelt het heel veel laadtijd.
- Sommige ad blockers die browser gebruikers geinstalleerd hebben, blokkeren Google Analytics ook. Dit is ook een workaround hiervoor.
- Het zorgt ervoor dat altijd de correcte "304 not modified" header wordt teruggestuurd naar website gebruikers.
Tweet








Je script brengt wel een aantal risico’s met zich mee.
Het verwijderd bijv je lokale bestand al voordat de nieuwe binnen is. Als google dan op dat moment traag is of niet werkt kan er een redelijke periode zijn dat het js bestand compleet ontbreekt.
Waarschijnlijk is het een betere aanpak om eerst de nieuwe versie te downloaden en als dit succesvol is gebeurt (op z’n minst even kijken naar de exit code van wget) het bestand eroverheen kopieeren.
23 april 2008 om 01:19