Google Analytics kiszolgálása saját tárhelyről
Sokszor kapunk figyelmeztetést a sebességmérés esetén arra, ha a Google Analytics-et a Google szervereiről töltjük be: a Google a követőkódok lejárati idejét szándékosan alacsonyan tartja, hogy könnyen és gyorsan tudjon teríteni egy újabb verziót. Ez azonban hátrányokkal is jár: a kliensek nem tudják hosszú időre gyorsítótárazni ezeket az erőforrásokat - kivéve, ha mi ezt saját hatáskörbe nem vesszük és a saját szerverünkről szolgáljuk ki, mert akkor az általunk globálisan beállított szabályok vonatkoznak majd ezekre is.
A mostani útmutatóban a következő kódrészletet fogjuk szépen "feldarabolni".
FONTOS: ez a módszer a gtag.js
alapú követéssel nem fog működni, mert a gtag.js
-ben "bedrótozva" található az analytics.js
-re hivatkozó kód, ami így mindenképpen le fog töltődni.
A fenti követőkód az első részében behivatkozza a méréshez szükséges library-t (ami az analytics.js
), majd a második felében pedig elkezdi a követést, a megadott követési adatokkal. Mi ezt a két részt külön fogjuk választani, és sablontól függetlenül fogjuk az oldalra beilleszteni, így nem kell aggódnunk azon, hogy egy sablon cserénél áttegyük a követőkódokat is.
Az alábbi kódrészletet illesszük be az mu-plugins mappában egy php fájlba, nevezzük mondjuk google-analytics.php
-nek:
A második wp_enqueue_script
3. paramétere (array('google-analytics')
) megadja, hogy mely handle
-lel (első paraméter) rendelkező script-ek függőségei a betöltendő scriptnek, így azokat meg fogja várni a betöltéssel: vagyis ebben az esetben az analytics-tracking
handle-lel rendelkező script csak a google-analytics
handle-ű script után fog betölteni.
Folytassuk a wp-content/mu-plugins/analytics-tracking.js
fájl tartalmával:
Ahogy látod, itt már nem a megszokott, https://www.google-analytics.com/analytics.js
a hivatkozott JS fájl, hanem az általunk hosztolt verzió. Jól haladunk, már csak 1 lépés maradt hátra, mégpedig az, hogy a library-t meghatározott időnként frissítsük, hogy a Google által terített frissítések hozzánk is eljussanak. Ehhez egy cronjob-ot fogunk használni (ennek beállításának módjáról kérlek, egyeztess a tárhelyszolgáltatóddal).
A fenti parancsot tehát beállítjuk cron-nal, hogy bizonyos időközönként fusson le (ez mondjuk lehet naponta egyszer). Ha van közvetlen hozzáférésed a crontab-hoz (vagy ilyen formátumban igényli a tárhelyed a beállítást), akkor az alábbi egy pontosan így működő megoldás lesz, ami minden nap hajnali 3 órakor letölti és elhelyezi a wp-content/mu-plugins/analytics.js
fájlban a Google által hosztolt analytics.js
fájl tartalmát.
Működött? Gratulálok! Elakadtál? Dobj egy üzenetet, segítek!