A harmadik féltől származó szkriptek lassítják a weboldalt és csökkentik annak általános teljesítményét?
Harmadik féltől származó szkriptek vannak a weboldaladon?
Egyre több harmadik féltől származó szolgáltatást építenek be a mai weboldalakba.
Az oldalakat lassító teljesítményproblémák néha a harmadik féltől származó szkripteknek köszönhetőek: ezek kezelhetnek hirdetéseket, analitikát, lehetnek különféle felhasználói nyomkövetők és közösségi média gombok.
A harmadik féltől származó szkriptek számos hasznos funkciót biztosítanak, általuk dinamikusabbá, interaktívabbá és összekapcsoltabbá válik a böngészés. A harmadik féltől származó szkriptek azonban számos kockázattal is járnak, amelyeket telepítésük előtt érdemes figyelembe kell venni, hogy minimalizálhassuk a negatív hatásukat, miközben továbbra is élünk az általuk nyújtott értékekkel. Minden külső szkriptet, amelyet hozzáadunk az oldalhoz, le kell tölteni, majd végre kell hajtani az oldal feldolgozása során.
Alapvetően minden szkript, amit külsőleg hívsz meg az oldaladról, hatással van a betöltési időre.
Mi teheti ezt a problémát még súlyosabbá? Az, hogy az is előfordulhat, hogy bizonyos szkriptek csak időszakosan lassúak, és emiatt még nehezebbé válik a probléma kivizsgálása és azonosítása.

Mik azok a harmadik féltől származó szkriptek/JavaScriptek?
Minden külső tartományban tárolt kód, amelyet hozzáadsz a webhelyhez, harmadik féltől származó szkriptnek (Third-Party Script) tekinthető. Például a Google Analytics hozzáadja a JavaScript nyomkövető címkét, amelyet a www.google-analytics.com oldalon tárol. Mivel a weboldalad ezt a www.google-analytics.com oldalról tölti be, és nem a sajátdomainneve.hu oldalról, ez „harmadik félnek” minősül. Az ilyen harmadik féltől származó kódok elég gyakoriak, és különféle okból használjuk őket – többek között analitikai, közösségi megosztási funkciókhoz, A/B tesztelő szoftverekhez és hirdetések kiszolgálásához.
Néha a harmadik féltől származó szkriptek csökkentik a weboldal teljesítményét, lassítják az oldalak betöltését.
Ezek olyan szkriptek, amiket egy másik szerverről kell letölteni, és bizonyos esetekben a betöltődésük időigényes lehet, vagy akár blokkolhatják az oldal megjelenítését – mindez pedig elmaradt eladásokat eredményezhet a vállalkozásod számára.
Mik azok a harmadik féltől származó külső szolgáltatások?
Harmadik féltől származó szkriptek az oldaladon
Harmadik féltől származó külső szolgáltatásnak tekinthetünk bármit, ami a saját szervereden kívülről kommunikál a weboldaladdal. Íme néhány gyakori példa, amellyel rendszeresen találkozunk:
-Közösségi média platformok, mint a Twitter, Facebook és Instagram (widgetek vagy konverziós pixelek).
-Harmadik fél hirdetési hálózatai, mint például a Google Adsense, Media.net, BuySellAds, Amazon Associates.
-Weboldal analitika, mint a Google Analytics, Crazy Egg, Hotjar.
-A/B tesztelési eszközök, mint például Optimizely, VWO, Unbounce
-WordPress hozzászólási rendszerek, mint például Disqus, Jetpack, Facebook kommentek
-Backup és biztonsági eszközök, mint például VaultPress, Sucuri, CodeGuard
-Social sharing eszközök, mint például SumoMe, HelloBar
-CDN hálózatok, mint a KeyCDN, Amazon CloudFront, CDN77 és StackPath
-Bármilyen külső tárhelyen tárolt Javascript
Valóban van negatív hatásuk a weboldal teljesítményére?
A weboldalak sebessége elég összetett. Több száz oka lehet annak, hogy egy webhely lassan töltődik be az ügyfelek számára. Az egyik probléma, amely gyakran felmerül az általunk auditált webhelyeknél, az a harmadik féltől származó szkriptek negatív hatása.
A harmadik féltől származó szkriptekkel kapcsolatban alapvetően 2 probléma merül fel: Teljesítmény & Biztonság.
Teljesítmény
Minden külső szkriptet, amelyet hozzáadunk az oldalhoz, le kell tölteni, majd végre kell hajtani, amikor az oldal betöltődik. Mindez a háttérben történik, és a legtöbbször észrevehetetlen. A folyamat az erőforrásaid igényli, akár használod a szkript funkcióit, akár nem. És míg egy Chrome böngészőben jó internetkapcsolat mellett mindez tökéletesen működik, egy 3G-t használó mobilfelhasználónak nem feltétlenül lesz ugyanez az élménye, és valószínűleg néhány másodperc után elhagyja az oldaladat.
A külső szolgáltatások tehát jellemzően két, a teljesítménnyel kapcsolatos problémát hoznak magukkal. Az egyik a szkriptek mennyiségével, a másik pedig a betöltődésükre való várakozással függ össze.
1.) Ha sok külső szolgáltatásod van, akkor az összeset be kell töltened, és minden egyes oldalletöltéskor várnod kell a tőlük származó információkra. Minél több hívásod van, minél többet kell várnod, annál nagyobb a saját szervered terhelése, és annál nagyobb az esélye, hogy beleütközöl a második problémába.
2.) Bizonyos esetekben az oldal betöltése megvárja, amíg az adatátvitel befejeződik a webhelyed és a külső szolgáltatás között. Ha a szolgáltatás a fejlécben van meghívva, és a szolgáltatás megszakad, az oldalad egyszerűen akár meg is tagadhatja a betöltést.
Illusztráció a harmadik féltől származó szkriptek kontra saját szkriptek bemutatására a teljesítmény tekintetében
Biztonság
A harmadik féltől származó szkriptek használata biztonsági aggályokat is vethet fel: nem lehetsz biztos benne, hogy a szkript valójában mit csinál a háttérben, amikor az oldalad betöltődik, és amikor valaki interakcióba lép az oldallal.
Lássunk néhány példát ezekre a biztonsági aggályokra:
-Elképzelhető, hogy az adott szkript (akaratlanul) megsérti a GDPR-t, például azzal, hogy nem tájékoztatja a felhasználókat az adataik felhasználásáról. Egyes bővítmények nyomon követhetik az interakciókat és elküldhetik a felhasználók adatait, és lehet, hogy te minderről semmit sem tudsz.
-A különféle harmadik féltől származó szkriptek nem működnek együtt egymással, és ezzel akár teljesen tönkretehetik az oldalt.
-A külső szkriptek megváltoztathatják az oldalad elemeinek megjelenését és viselkedését (egyes szkriptek pontosan erre készültek). (Akaratlanul) módot biztosítasz arra, hogy az általad nem elérhető emberek hozzáférjenek a weboldaladhoz és szerkesszék azt.
-A harmadik féltől származó szkript képes további beágyazásokat (ún. 4. fél szkripteket) láncolni. Hivatkozhat egy másik forrásra, letölthet és/vagy kiválthat kódot, amit szinte lehetetlen nyomon követni és nem kivitelezhető a hibakeresés.
-Szkriptek és forrásaik változhatnak, azaz a kód frissülhet, és az oldal automatikusan az új verziót használja, ami teljesen tönkreteheti az oldalt, vagy más, fentebb leírt problémákat vethet fel. Ami még rosszabb, ha a forrás nem elég biztonságos, a kódot egy külső, nem túl barátságos erő megváltoztathatja, és ennek eredményeképpen hozzáférhet az oldaladhoz.
Illusztráció a harmadik féltől származó szkriptek kontra saját szkriptek bemutatására a biztonság tekintetében
Akkor mégis miért használjuk őket, és egyáltalán szükségünk van-e rájuk?
Ezek a harmadik féltől származó szolgáltatások hozzáadott értéket nyújtanak, a bevételek növelését (pl. a hirdetéseken keresztül), magasabb konverziós arányt (a retargeting címkék használatával) vagy a felhasználói profilok jobb megértését (a beágyazott analitika révén) ígérve. Hasznosak lehetnek a jobb marketing kialakításában. De jól ellehetünk nélkülük is. Nem mindenkinek van rájuk szüksége. Az Apple például nem használ harmadik féltől származó címkéket a weboldalán.
Honnan tudhatod, hogy webhelyed teljesítményét befolyásolják a harmadik féltől származó szkriptek?
Ezt könnyen ellenőrizheted 2 teszt futtatásával.
Az első tesztben mérd meg, hogyan teljesít az oldal, amikor harmadik féltől származó szkriptek töltődnek be.
A második tesztben mérd meg a teljesítményt, amikor a harmadik féltől származó szkriptek ki vannak kapcsolva.
Futtasd le a PageSpeedInsights sebesség elemző tesztjét, és végezd el ezt a 2 tesztet néhányszor. Ellenőrizd, hogy van-e nagy különbség az oldalsebesség értékei között. A teszt futtatása után a Pagespeed Insights-ban a diagnosztika résznél keresd meg a „harmadik féltől származó kódok hatásának csökkentése” részt is. A program felsorolja a legerőforrásigényesebb harmadik féltől származó JavaScripteket, a fájlmérettel és azzal az időtartammal együtt, amíg betöltésük blokkolta a főszálat.
Mi a főszál?
A főszál az, amit a böngésző olyan dolgok kezelésére használ, mint a tartalom megjelenítése, a felhasználói bemenet regisztrálása és a JavaScript végrehajtása (bár lehetőség van arra, hogy webworkereket használjunk ehelyett a kód kezelésére, így levéve a „terhet” a főszálról).
A főszálon hosszan futó JavaScript-feladatok blokkolhatják más JavaScript-kódok végrehajtását, megakadályozhatják a felhasználói interakciók regisztrálását, és végül megakadályozhatják az oldal renderelését, amíg az adott feladat be nem fejeződik – ezért nagyon fontos, hogy a hosszan futó feladatokat a lehető legkisebbre csökkentsük.
Ha a Page Speed Insights már jelezte, hogy melyik harmadik féltől származó JavaScript lassítja le a munkát, gyakran hasznos lehet a Chrome DevTools segítségével tovább vizsgálódni – amely praktikusan közvetlenül a Chrome böngészőbe van beépítve.
Mire lehetnek hatással a harmadik féltől származó címkék?
Bizonyos esetekben a harmadik féltől származó címkék egyértelműen befolyásolják a betöltési időt és a felhasználói élményt. Negatív hatással lehetnek az olyan mérőszámokra, mint a CLS (kumulatív elrendezésváltás), First Contentful Paint, Speed Index, Time to Interactive, Total Blocking Time. A harmadik féltől származó címkék blokkolhatják a renderelési útvonalat, és így negatív hatással lehetnek a felhasználói élményre.
Meg kell említeni, hogy a harmadik féltől származó címkék nem mindig vannak negatív hatással a teljesítményre.
Amikor a harmadik féltől származó szkriptek használata haszontalan: amikor egyes harmadik féltől származó szkriptek nem töltődnek be, mire a felhasználó elhagyja a weboldalt…
Bár a nem blokkoló harmadik féltől származó szkriptek használata csak korlátozott hatással lehet a betöltési időre, fontos megjegyezni, hogy ha túl sok harmadik féltől származó szkript kerül beépítésre a weboldalba, fennáll a veszélye annak, hogy ezek egy része be sem töltődik, mire a felhasználó ugyanakkor már elhagyja a weboldalt. Ez problémát jelent az ezen szkriptek által visszatáplált adatok tekintetében.
Vegyünk például egy olyan oldalt, amelynek teljes betöltése 10 másodpercig tart, de 4 másodperc után már készen is van. Az ezen az oldalon töltött átlagos idő 6 másodperc. A Google Tag Managerrel betöltött, harmadik féltől származó címkék a 3. és a 10. másodperc között hajtódnak végre.
Ebben a példában a harmadik féltől származó tartalmak egyharmada nem kerül végrehajtásra. Ezek a címkék éppen ezért nem kompatibilisek a közönségcélzással, a DMP szegmentálással vagy a kontextusfüggő tartalommotorokkal.
Az IT- vagy marketing csapatoknak itt is meg kell találniuk az arany középutat a „marketing- és reklámteljesítmény” és a „webes teljesítmény” között, hogy a felhasználói élmény veszélyeztetése nélkül szolgálhassák ki az ügyfelek böngészési igényeit.
Néhány érdekes tény
Az egyensúly megteremtése még fontosabb, ha figyelembe vesszük, hogy a Ghostery felmérése szerint az informatikai és digitális marketing vezetőinek 57%-a az elmúlt 12 hónapban több mint 5 címkét adott hozzá a weboldalához. A felmérésből az is kiderül, hogy 67%-uk úgy véli, hogy weboldalai olyan harmadik féltől származó szkripteket tartalmaznak, amelyekről nem is tudnak.
Konklúzió
Végezz auditot a használatban lévő harmadik féltől származó címkékről. Szükséged van az összesre?