Google Analytics követőkód külön js-ben
Szeretem elkerülni, hogy a html forráskódba javascript kód kerüljön. Tudom, hogy vannak hátrányai a külső js állományok használatának, de számomra mégis elegánsabb és fejlesztés szempontjából is átláthatóbb ha minden nyelv (html, css, javascript, php) elkülönült állományokban van kezelve.
Ebből kifolyólag az Analytics követőkódot én mindig hozzácsapom valamelyik .js állományomhoz, de olyan is előfordul, hogy készítek neki önálló js-t.
Valaki magyarázza már meg nekem, hogy mi a gyakorlati haszna, hogy a legtöbb weboldal Google Analytics kódot mindenáron a html forráskódba tuszkolja!
Főleg akkor nem értem, ha egyébként az oldal 8-10 külső js fájllal dolgozik.
Teljesítmény szempontjából nem rosszabb, ha a követőkódot minden egyes aloldal statikusan tartalmazza?
Én úgy tudom, hogy a keresőmotorok sem örülnek neki, ha a kód mennyisége túl magas tartalomhoz képest.
A kérdést úgy is feltehetném, hogy miért használjunk inline javascriptet, ha nem muszáj?
■ Ebből kifolyólag az Analytics követőkódot én mindig hozzácsapom valamelyik .js állományomhoz, de olyan is előfordul, hogy készítek neki önálló js-t.
Valaki magyarázza már meg nekem, hogy mi a gyakorlati haszna, hogy a legtöbb weboldal Google Analytics kódot mindenáron a html forráskódba tuszkolja!
Főleg akkor nem értem, ha egyébként az oldal 8-10 külső js fájllal dolgozik.
Teljesítmény szempontjából nem rosszabb, ha a követőkódot minden egyes aloldal statikusan tartalmazza?
Én úgy tudom, hogy a keresőmotorok sem örülnek neki, ha a kód mennyisége túl magas tartalomhoz képest.
A kérdést úgy is feltehetném, hogy miért használjunk inline javascriptet, ha nem muszáj?
Trehányság.
külső fájlok
A legfontosabb, csökkenteni kell az oldalon hivatkozott fájlok számát, mert ez a leginkább befolyásoló tényező az oldal letöltődési idejében. Ha egy kapcsolódás mondjuk 300ms, és a fájl letöltődési ideje 200ms, akkor minél több kapcsolódás van, annál rosszabbul járunk az összidő tekintetében (főleg mobil kapcsolat esetén). Ezért illik a fájlokat összefűzni, és típusonként 1-2 típust kiszolgálni.
Igen, a Google is ezt
A sok hivatkozott fájllal kapcsolatban igazad van. Csak nevetségesnek találom, amikor olyanok hivatkoznak a követőkód html-be szúrásánál erre a tényezőre, akik azt sem tudják mi az a CSS Sprite! :-) A 100 beolvasott apró, önálló kép egy nagyságrenddel jobban lassítja a weboldal megjelenítését.
Egyébként a js állományokat is cache-eli a böngésző, ezért szerintem emiatt akár gyorsabb is lehet a külső állomány, mivel ha html kódba van ágyazva, akkor az minden oldalhívásnál újra meg újra letöltődik.
Bocsi, ha úgy tűnik bolhából csinálok elefántot, de eldurrant az agyam egy "profi webdesignertől".
Attól, hogy 100 apró ikon
Nem igazán értelek. Miért is
A másik hozzászólásodnál épp azt írod, hogy ha nem jár plusz fájltöltéssel, akkor külön fájlba érdemes tenni a js-t. Vagy rosszul értettelek? Valaki le tudja írni mitől jobb az oldalanként generált html-be tenni a követőkódot, mint egy összefűzött külső js állományt használni?
Rosszul értetted
Az Analytics kódot azért is javasolja gugli pont a
</body>
elé, mert ez is beránt még 1-2 js-t, de ezt akkor teszi, mikor már teljesen megjelent az oldalad, lefutottak (nagyobb részt) a te szkriptjeid. Ráér ő akkor is analizálni.Alakul ez! Tényleg nem
Van abban különbség, ha a <head>-ben egyetlen js-em van, amiben minden script-em lefut követőkóddal együtt, vagy ha van egy js-em és külön még inline-ban a követőkód?
Mert én ezt nem értem, hogy ha így is úgy is van külön js, akkor mit is spórolok meg az inline cuccokkal?
Fárasztó vagyok? :-)
az inline téma rögtön lefut,
Milyen plusz kérés van?
Hát pont annak az összefûzött
Oks, tehát egyről beszélünk
1. kérés html betölt.. inline
html betölt..
inline js esetén elindul a futtatása.
2. kérés
js fájl betölt
ha itt van az anal kód, akkor csak itt kezd el futni, tehát egy kéréssel később..
Pedig van
Két egymást követő, blokkoló kérés:
head
-ben van, és a js-ek lefutásáig semmi tartalom nem jelenik meg, amit nézegethetne. Ezért célszerű a</body>
elé pakolni ezeket.A következő esetben nincs külön kérés, amint megvan a html vonatkozó része, minden egyéb előtt lefut a követőkód, és a lehető leghamarabb kezdődhet a mérés. Persze ha a követőkód hosztja felé is lassú a kapcsolat (és nem async módon szúrja be a saját extra kódjait), akkor itt is bezárhatja a lapot a látogató, de itt a lehető legkisebb az eshetősége:
Kösz a melót! :-)
Gyorstárazás
Pár soros kódrészleteknél
Bizonyos peremesetekben ráadásul jól jön, ha a kód akkor és ott fut le, amikor és ahol te azt akarod, várakozási idő nélkül.
Ezeket a speciális eseteket leszámítva természetesen külön JS fájlok használata a javasolt, úgy az olvashatóság/fenntarthatóság, mint a kesselhetőség szempontjából. Persze amikor már 8-10 darabig eljutsz, ideje az összefűzésen/minifikáláson alaposan elgondolkozni ;).
Ami nálam mindig kiveri a biztosítékot, az az inline eseménykezelők használata :).
azért jó a html-be rakni és a
Légyszi nézd meg a 9-es
A külső js is a head-ben van <script src>-vel, akkor az blokkolja az oldal betöltődését?
Egyébként, ha a követőscript a localhost-on futó oldalon is bentvan, ami épp nem csatlakozik netre, az oldal akkor is gyönyörűen felépül, csak a google nyilván nem logol.
Milyen látogatás az, ami elhagyja az oldalt mielőtt betöltődne? :-)
A külsõ jst nem érdemes
Az analytics kódot úgy érdemes elhelyezni, hogy mindenképp lefusson. Több adat. Ezért rakják simán a htmlbe, akár a headbe, hogy bármi történjék, lefusson. Lehet, hogy a nagy külsõ jsed meg sem érkezik, hálózati hiba, mittomén, de az analytics loggol mégis. Hát csupán ezért, amennyire én tudom.
Az első két mondattól azért
Vagy hogy kukacoskodjak, ezzel az erővel az Analytics fontosabb mint mondjuk az oldal működését alapvetően érintő JQuery?
Nekem az jött át, hogy tulajdonképpen csak a szokás hatalma miatt kerül az a követőkód a html-be, egyébként semmi elméleti illetve gyakorlati haszna nincs.
Ha nem akarod megérteni,
Akkor tedd vissza a helyére
Külső js-ről beszél végig.
Vagyis: nem a te szervereden / tárhelyeden van, és ha épp beszart a másik szerver, a te oldalad sem jelenik meg. Másképp, ha html-be rakod, akkor csak nem fog analizálni, de az oldalad szépen felépül, lefut, stb.
Ha már a JQuery-t említed, azt is célszerű letölteni, és a saját szerverről kiszolgálni. Egyébként nem ritkán gyorsabb is így a letöltés. (Persze a látogató sávszélétől is függ.)
a külső js és a blokkolás úgy
amúgy a javascript-et érdemes tényleg a </body> zárótag elé rakni, mert a vizuális megjelenés a gyorsasága fontosabb, mint az eseménykezelések betöltése (először látja a júzer, utána használja), tehát ha van egy nagy js-ed azt sem érdemes a head-be rakni.
ki az a felhasználó aki már akkor elhagyja az oldalt, amikor még be sem töltődött?
az aki nem szeretné kivárni a 4 másodperces betöltési időt pl és lelép. fontos, mert használni szeretné az oldalad, csak rájön, hogy neki nem megfelelő a minőség. és ha mondjuk egy GA nem jelzi neked ezeket, akkor észre sem veszed őket és azt hiszed minden ok.
pl ha az edigital nem lenne akkora név, akkor tuti nem használnám az oldalukat, mert nagyon lassú.
Köszi ez így már
Nem használok távoli domain-en lévő javascriptet. Az oldalaim általában 1-2 sec alatt teljesen felépülnek, ha már cache-elt, akkor 0.4-0.7 sec alatt.
Akkor tehát az az optimális, hogy Analytics statikusan <head>-ben, és a külső js pedig összefűzve a </body> előtt <script src>-vel.
igen.