26 Sep 2008
Geschreven door: Vincent van Scherpenseel in: analyse, methoden en technieken
Het optimaliseren van de Findability (SEO) en Usability zijn de belangrijkste aspecten waarop gefocust wordt tijdens verbetertrajecten van de (corporate) website of webapplicatie. Helaas is het verbeteren van de laadtijd van een website iets waar te weinig aandacht aan wordt besteed. Onterecht eigenlijk, want uiteindelijk staat de bezoeker (de gebruiker, klant of prospect) centraal en load-time optimization is wel degelijk een belangrijk onderdeel van usability verbeteringen. In deze serie van 2 artikelen wordt uigelegd wat er gedaan kan worden om de laadtijd van de website flink te verbeteren.

Tegenwoordig beschikt het grootste deel van de Nederlandse internet gebruikers over een breedband verbinding. Met de sterke stijging van het breedband gebruik is tegelijk het geduld van de Internetter afgenomen: als je website te langzaam laadt klikt de bezoeker al snel weg om de website van een ander (concurrerend?) bedrijf te bezoeken, met in het achterhoofd een negatieve associatie met je website.
Definitie
Voordat we aan de slag gaan is het zaak te definieren wat we precies onder laadtijd verstaan. Onder laadtijd verstaan we de totaal verstreken tijd vanaf het moment dat de browser de opdracht gegeven wordt een pagina te bezoeken en dat de website volledig bruikbaar is voor de bezoeker. Een website hoeft dus niet volledig geladen te zijn: als een website voor het grootste deel geladen is en bruikbaar is voor de bezoeker terwijl er op de achtergrond nog een aantal niet-kritische (en voor de bezoeker onzichtbare) onderdelen worden geladen zoals tracker scripts is dat voldoende voor het creeren van een goede gebruikerservaring.
Besparen op dataverkeer
Naast het voordeel dat een geoptimaliseerde website sneller laadt kan het optimaliseren van de laadtijd voor drukbezochte websites een aardige kostenbesparing opleveren. Als je de HTML code van google.com bekijkt valt het meteen op dat vrijwel alle witruimte tussen de tags ontbreekt: met het enorme volume van aanvragen op deze pagina kan Google een aardige besparing in dataverkeer bewerkstelligen. Als een pagina per dag 1 miljoen keer opgevraagd wordt en door te optimaliseren de dataverkeer per pagina met 20kb verminderd kan worden betekent dat een besparing van 19 gigabyte aan dataverkeer per dag!
Webapplicaties
Webapplicaties zijn in feite complexe websites: naast de gebruikelijke pagina-tot-pagina navigatie maken webapplicaties vaak gebruik van formulieren voor gegevensinvoer, registratie- en loginmogelijkheden, data export functionaliteit en technieken als AJAX (Asynchronous JavaScript and XML). Hoewel de kans op het ‘verliezen’ van een gebruiker/bezoeker bij trage webapplicaties kleiner is dan bij websites (waar nog geen band met de gebruiker bestaat), kan een trage webapplicatie tot meer frustatie leiden dan een ‘platte’ website. De reden hiervoor is dat het aantal handelingen bij een webapplicatie over het algemeen groter is dan bij een website en de handelingen elkaar ook nog eens sneller opvolgen. Wanneer in deze serie artikelen over websites gesproken wordt kan daar ook webapplicaties gelezen worden: alle tips zijn ook voor webapplicaties van toepassing.
Het meten van de laadtijd van je website
Er zijn verschillende manieren om de laadtijd van je website te meten. De eenvoudigste en tevens meest betrouwbare manier om dit te doen is door gebruik te maken van de Firefox add-on ‘FireBug’. FireBug maakt het mogelijk om de laadtijd van individuele onderdelen van je website in kaart te brengen. Belangrijke kanttekening die hierbij gemaakt moet worden is het feit dat de absolute snelheid van het laden van de website natuurlijk ook afhankelijk is van de verbinding, dus zorg ervoor altijd op een snelle verbinding de tests uit te voeren. Belangrijk hierbij is om aan te stippen dat het optimaliseren van de laadtijd van een website meer een kunst is dan een wetenschap: je kan nooit exact bepalen hoe lang een website laadt voor elke bezoeker op elk moment, maar je kan wel degelijk het verschil meten tussen een responsieve en een minder responsieve website.

De bovenstaande FireBug afbeelding geeft de laadtijd van de eerste 14 onderdelen van NU.nl weer. De data beslaat 5 kolommen: de naam van het object (inclusief in-URL variabelen), de ontvangen response code (ook handig voor het ontdekken van 404 errors!), het domein waar vanaf het object gedownload is, de omvang van het object en de laadtijd. De laadtijd wordt als een soort strokenplanning weergegeven: je ziet precies wanneer het downloaden begonnen is en wanneer dit voltooid is. Onderaan staat het totaal aantal aanvragen, de hoeveelheid verstuurde gegevens en de totaal verstreken tijd. Een laadtijd optimalisatie traject begint meestal met een onderzoek als deze: kijk hoe snel de website laadt en vooral welke specifieke objecten de boel vertragen.
Na een eerste introductie en uitleg over het meten van de laadtijd duiken we in het volgende artikel in de diverse technieken waarmee de laadtijd van de website verbeterd kan worden.
* Sneller op de hoogte? Abonneer je gratis op onze RSS feed of ons Twitter kanaal !
17 Reacties
Steven
26|Sep|2008 (12:02) 1Interessant artikel. Ben het ermee eens dat het optimaliseren van de laadtijd van een website onderbelicht is!
Pim
26|Sep|2008 (13:45) 2Zie ook de “Exceptional Performance” pagina’s van Yahoo:
http://developer.yahoo.com/performance/
Érg interessant
André Scholten
26|Sep|2008 (14:28) 3Leuke post, alleen het puntje dataverkeer kan efficiënter. Wanneer je op je server de gzip aanslingert worden bestanden automatisch al ontdaan van alle ballast. Het weghalen van spaties wordt dan ook automatisch gedaan.
http://www.google.nl/search?hl=nl&q=gzip+http&btnG=Zoeken&meta=
Vincent van Scherpenseel
26|Sep|2008 (14:32) 4@André: klopt als een bus. Maar een server mag er niet zomaar vanuit gaan dat een browser gzip’ed content aan kan. Alleen wanneer de browser aangeeft met compressie om te kunnen gaan mag een server de gegevens gecomprimeerd sturen. Dus door toch spaties e.d. te verwijderen behaal je ook voordeel bij browsers zonder ondersteuning voor compressie.
Overigens ga ik in het vervolg artikel dieper in op de techniek en daarin zal inderdaad ook over compressie gesproken worden. Volgende week dus meer
Albert
27|Sep|2008 (12:17) 5Een handige plug-in voor Firebug om laadtijden te analyseren en er achter te komen wat je kan doen om ze te verbeteren is YSlow.
http://developer.yahoo.com/yslow/
Ton Wesseling - Online Dialogue
28|Sep|2008 (13:34) 6@Vincent gefeliciteerd met je eerste artikel hier. Mooie aanvulling op het vakgebied. Ben zeer benieuwd naar je volgende, mat alle parktische tips!
Peter Bonjernoor
30|Sep|2008 (14:50) 7Ik hoop trouwens dat je in deel twee hyves.nl ook als voorbeeld meneemt - is namelijk perfect geschikt voor dit onderwerp!
Peter Bonjernoor
30|Sep|2008 (14:53) 8Oeps…laadtijd van deze complete pagina volgens firebug: 13.93 sec…
Jochem
30|Sep|2008 (16:49) 9Ik maak zelf altijd gebruik van de site Website Optimization om te kijken of, en waar, ik het beste kan tunen. Ze houden bij de analyse ook rekening met de grootte van een TCP/IP pakketje om optimale netwerkafhandeling mogelijk te maken.
Link:
http://www.websiteoptimization.com/services/analyze/
Loadtime optimization (deel 2) | Webanalisten.nl
16|Okt|2008 (7:36) 10[…] het eerste deel van deze serie artikelen is er gesproken over wat laadtijd van een website is en hoe het te meten […]
Kiezen van een artikel voor publicatie tijdschrift Twinkle (4) | Webanalisten.nl
31|Okt|2008 (17:55) 11[…] loadtime optimization artikelen (1 en 2) van Vincent van […]
Kiezen van een artikel voor publicatie tijdschrift Twinkle (5) | Webanalisten.nl
04|Dec|2008 (20:18) 12[…] Vorige keer won Vincent van Scherpenzeel met zijn artikelen over loadtime optimization (deel 1 en deel 2). Ook dit maal was het geen moeite om een aantal goede artikelen uit te kiezen voor de […]
AniBlurbs [Column] » Meer winst en tevreden klanten door Load Optimization
17|Jan|2009 (23:28) 13[…] Lekker compact artikel aangaande peformance (of load) optimization en aanvullende commentaar daarop …. […]
merijn
25|Aug|2009 (20:15) 14Vincent,
Is er ook een effectieve besparing in het dataverkeer door deze aanpassingen? Is er minder dataverkeer tussen gebruiker en server?
Graag reactie
Merijn
Vincent van Scherpenseel
02|Dec|2009 (15:24) 15@Merijn: zie mijn reactie op jouw comment op deel 2 (http://www.webanalisten.nl/analyse/loadtime-optimization-deel-2.html#comment-10803).
Laadtijd optimalisatie met Google Webmaster Tools | Webanalisten.nl
23|Dec|2009 (8:47) 16[…] Site Performance (of Siteprestaties in de Nederlandse versie). Vorig jaar schreef ik al over het optimaliseren van de pagina laadtijd van websites, nu dit ook een factor binnen SEO strategie gaat worden is het tijd om eens te kijken […]
Webanalytics Congres 2010 - Webperformance voor een betere ROI | Webanalisten.nl
03|Jun|2010 (9:41) 17[…] Loadtime Optimization […]
Laat een reactie achter