14. 1. 2008 v 23.17
V dřívějším
spotu jsem rozebral svoji úpravu Google Analytics skriptu.
Nyní však samotný Google doporučuje přejít na svoji novou
verzi skriptu, kterou uveřejnil během listopadu 2007. Ta je oproti té
starší menší tj. 19,3KiB (7,8 KiB s gzip kompresí) oproti 21,4 KiB
(6,3 KiB), lépe se vnitřně spravuje, koncepčně je celé řešené
objektově a nově nabízí sledování různých událostí. Například, že
se kliknulo na nějakou položku v AJAXové aplikaci.
Vycházel jsem ze své staré staré úpravy. Obalující if jsem nahradil
moderním try-catch blokem. Jinak žádná další změna
nestala. Kód zase přidáme na konec HTML kódu následujícím způsobem:
<!DOCTYPE ...>
<html>
<head>
...
</head>
<body>
....
<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._addOrganic("seznam.cz","q");
pageTracker._addOrganic("centrum.cz","q");
pageTracker._addOrganic("jyxo.cz","s");
pageTracker._addOrganic("atlas.cz","q");
pageTracker._addOrganic("zoohoo.cz","q");
pageTracker._addOrganic("tiscali.cz","query");
pageTracker._addOrganic("1.cz","q");
pageTracker._addOrganic("volny.cz","search");
pageTracker._addOrganic("zoznam","s");
pageTracker._addOrganic("atlas.sk","phrase");
pageTracker._addOrganic("centrum.sk","q");
pageTracker._addOrganic("morfeo.sk","q");
pageTracker._addOrganic("szm","ws");
pageTracker._addOrganic("azet","sq");
pageTracker._addOrganic("zoohoo.sk","q");
pageTracker._initData();
pageTracker._trackPageview();
} catch(e) {
}
</script>
</body>
</html>
Nejprve tedy vytvoříme sledovací objekt pomocí
_gat._getTracker("UA-xxxxxx-x"), pak postupně přidáváme
vyhledávače pomocí funkce _addOrganic("domain.tld","parameter")
tohoto objektu. Bohužel již není možnost ovlivnit pořadí přidávaných
položek, takže se pravděpodobně naše položky přidají až za ty, co tam
má napevno přidán Google. Jediná možnost by snad byla
pohrabat se víc v kódu, ale ten je zakódovaný pomocí JS kompresoru.
Následně zavoláme funkci _initData(), která posbírá data
o prohlížeči, odkud návštěvník přišel atd. Nakonec je ještě nutné
zavolat _trackPageview(). Ta odešle nasbíraná data do Google
Analytics a tím vytvoří pageview.
V novém kódu generovaném z Google Analytics ještě
navíc figuruje test, zda je stránka zabezpečená pomocí protokolu
HTTPS:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
Ten jsem odstranil, z důvodu že ta generovaná část zapisuje kód do
prohlížeče pomocí document.write, jenž nefunguje v XHTML
dokumentu. Avšak pokud potřebujete sledovat zabezpečené stránky, nahraďte
v mé úpravě původní „http://www.google-analytics.com/ga.js“ za
zabezpečenou variantu „https://ssl.google-analytics.com/ga.js“.
Doporučené další čtení
V rubrice Javascript, Tvorba, Webdesign | Žádný komentář
18. 8. 2007 v 17.00
Již
na
několika místech
byla popsána úprava GA skriptu pro
přidání českých vyhledávačů. Také i já bych rád vám ukázal
vlastní modifikaci, která vychází z mé první modifikace poslané jako komentář
na Filově blogu:
<!DOCTYPE ...>
<html>
<head>
...
</head>
<body>
....
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript">
if (typeof(window['urchinTracker']) != "undefined") {
_uacct = "UA-xxxxxx-x";
old_uOsr = _uOsr; old_uOkw = _uOkw;
_uOsr = Array(); _uOkw = Array(); len=0;
_uOsr[len+0]="seznam.cz"; _uOkw[len+0]="q";
_uOsr[len+1]="centrum.cz"; _uOkw[len+1]="q";
_uOsr[len+2]="jyxo.cz"; _uOkw[len+2]="s";
_uOsr[len+3]="atlas.cz"; _uOkw[len+3]="q";
_uOsr[len+4]="zoohoo.cz"; _uOkw[len+4]="q";
_uOsr[len+5]="tiscali.cz"; _uOkw[len+5]="query";
_uOsr[len+6]="1.cz"; _uOkw[len+6]="q";
_uOsr[len+7]="volny.cz"; _uOkw[len+7]="search";
_uOsr[len+8]="zoznam"; _uOkw[len+8]="s";
_uOsr[len+9]="atlas.sk"; _uOkw[len+9]="phrase";
_uOsr[len+10]="centrum.sk"; _uOkw[len+10]="q";
_uOsr[len+11]="morfeo.sk"; _uOkw[len+11]="q";
_uOsr[len+12]="szm"; _uOkw[len+12]="ws";
_uOsr[len+13]="azet"; _uOkw[len+13]="sq";
_uOsr[len+14]="zoohoo.sk"; _uOkw[len+14]="q";
_uOsr = _uOsr.concat(old_uOsr); _uOkw = _uOkw.concat(old_uOkw);
urchinTracker();
}
</script>
</body>
</html>
Moje modifikace spočívá v tom, že jsem načítání urchin.js skript
přesunul z tagu HEAD až na samotný konec stránky, před uzavírací tag
BODY. To z toho důvodu, že servery GA nejsou až tak rychlé a načítání
urchin.js v HEAD může způsobovat zpomalení načítání stránky.
Následně jsem provedl přidání obalovacího IFu, který nám otestuje,
zda se povedlo stáhnou urchin.js skript (testování, zda je přítomna funkce
urchinTracker). To tam je z důvodu, že pokud má člověk nainstalované
blokování různých počítadel přístupů (např. přes Adblock Plus), tak
se mu nestáhne urchin.js a následný kód, který je závislý na Javascriptu
v urchin.js způsobí chybové hlášky v Javascriptu.
Nakonec přidáme rozeznávání českých a slovenských
vyhledávačů. To je nutné přidávat na začátek již vestavěného seznamu,
ne na konec, jak je všude v návodech uvedené. To proto, že se ve
vestavěném seznamu může vyskytnout stejný vyhledávač (je tam zadaný bez
TLD koncovky) s jiným parametrem
než ten, který máme my. A pak při procházení tohoto seznamu se bere
první vyhovující. Ve vestavěným seznamu je například dvakrát uveden
Seznam.cz, pokaždé s jiným parametrem, kde je uveden vyhledávací
řetězec. Naštěstí momentálně vyhledávač Seznam.cz posílá oba
parametry v URL. Moje úprava již pamatuje na nový parametr. Vestavěný
seznam vyhledávačů pak nezapomeneme připojit k našemu novému.
Před urchinTracker pak můžeme uvést další
nastavení co najdeme ve FAQ ke GA.
PS: Důsledně varuji před lokálním uložením uchin.js (a
i tým GA varuje), protože Google občas provádí změny v urchin.js a
mohlo by se stát, že vám přestane GA fungovat.
V rubrice Javascript, Webdesign | 2 komentářů
6. 8. 2007 v 23.46
No první příspěvek to asi nebude, již dříve jsem se pokoušel něco publikovat na webu. Nyní bych se rád
k tomu vrátil. Chtěl bych zde psát o věcech, které mě v poslední době
určitým způsobem oslovily. Jako například XUL, Javascript a vývoj pod
jádrem Gecko. XUL a Gecko jsou zajímavé technologie a určitě mají
budoucnost, ale největší slabinu asi vidím v tom, že neexistuje pořádné
vývojové prostředí. U Javascriptu zas neexistenci OOP. Prototypování
pod Javascriptem zásadně neschvaluji, pokud se prototypují objekty, které
nám nepatří. Proto zásadně zavrhuji knihovnu / framework Prototype.
Naproti tomu se zajímám i o C# společně s .NET. C# je nádherný jazyk,
moderní a jednoduchý na pochopení. Společně s vynikajícím frameworkem se
pod ním tvoří programy jedna báseň. V neposlední řadě ovládám Javu,
PHP, Ansi C, a
další. Nedělá mi problém tvorba internetových aplikací pomocí PHP, ani
tvorba validních stránek za pomocí CSS.
Tento blog bych rád provozoval jako občasník. Občas mě napadne nějaký
nápad, realizuji ho a rád bych se o něj podělil i s ostatními. Nebudou
tu chybět úryvky kódu, či přímo hotové věci, které by vám mohli pomoct
při tvorbě.
Tak to by asi bylo vše, blogu zdar! :)
V rubrice Jen tak | Žádný komentář