ID.nl logo
Huis

Tips voor de expert: Website-snelheid testen

De laadtijd van internetpagina’s wordt steeds belangrijker en weegt ook mee in de ranking van je site bij Google. Er zijn diverse tools waarmee je de prestaties van je website kunt meten. Je website-snelheid testen doe je zo.

De snelheid waarmee internetpagina’s worden geladen wordt steeds belangrijker, onder meer voor de ranking van je site bij Google, maar ook voor de conversie: bezoekers haken sneller af als het laden te lang duurt. Met snelheid wordt soms de responstijd bedoeld, maar vaker de totale laadtijd. In deze workshop laten we zien hoe je beide kunt meten. De responstijd kun je zien als de tijd tot de browser de eerste gegevens ontvangt.

Dit hangt vooral af van de ‘opstarttijd’ van je softwareomgeving. De bottleneck is hierbij vaak niet de webserver zelf, maar bijvoorbeeld het gebruikte cms (zoals WordPress) of framework (bijvoorbeeld Laraval). De stap van php versie 5.x naar php versie 7.x helpt overigens al enorm voor de snelheid. Ook kun je overwegen een cache voor de hele site te zetten, bijvoorbeeld met Varnish. De laadtijd is de tijd die nodig is om de volledige internetpagina te laden. Het is een belangrijke factor en ook één waar gemakkelijker winst te boeken valt.

Javascript én jQuery

Wat veel invloed op de laadtijd heeft, zijn de vele losse componenten waaruit websites tegenwoordig bestaan. Een website moet bijvoorbeeld dynamisch zijn met vloeiende animaties en ook nog responsief, zodat deze op mobiel én desktop goed werkt. Ook gedragen websites zich steeds meer als applicatie, waarbij asynchroon kleine stukjes in websites worden vernieuwd.

Een populaire basis voor zo’n moderne website is Bootstrap: een framework dat veel stijlen bevat in een eigen css-bestand en daarnaast leunt op Javascript én de jQuery-bibliotheek. Daar komen vaak de nodige plug-ins voor jQuery bij, zoals sliders, die elk veelal ook weer eigen stijlen hebben. Een minimalist kan overigens prima een website zonder bijvoorbeeld Javascript bouwen, maar dat is wel veel werk als er hoge eisen worden gesteld.

Wil je eenvoudig een animatie toevoegen, dan kun je animate.css gebruiken, maar het is wél weer een extra stylesheet. En wie icoontjes wil tonen, kan handig Font Awesome integreren, maar ook dat is weer een stylesheet waarin ook nog een lettertypebestand wordt geladen. En dan zijn er nog de nodige extra scripts en banners (afbeeldingen of zelfs video’s) van advertentienetwerken, die lang niet altijd zijn geoptimaliseerd. Het aantal bestanden en de omvang van websites neemt zodoende flink toe.

Website zonder jQuery of Javascript?

Het was nog niet zo lang geleden een ongeschreven regel dat een website ook zonder Javascript moet werken. Tegenwoordig doen ontwikkelaars daar weinig moeite meer voor en dat hoeft ook niet echt: van alle paginaweergaven wereldwijd komt maar 0,2 procent van een apparaat waarop Javascript is uitgeschakeld. Zonder Javascript, met puur css, is al veel mogelijk, zoals de site youmightnotneedjs.com laat zien.

Nadeel is dat je meer tijd moet steken in je scripts, omdat je meer rekening moet houden met verschillen in browsers. Bibliotheken maken veel zaken abstracter en dus makkelijker. Voor jQuery geldt eigenlijk hetzelfde. Maar als je maar een paar functies van jQuery gebruikt, is het zonde de hele bibliotheek te laden. Dat laat bijvoorbeeld youmightnotneedjquery.com zien, dat de inspiratiebron voor bovengenoemde website was.

Van alle paginaweergaven wereldwijd komt maar 0,2 procent van een apparaat waarop Javascript is uitgeschakeld

-

Laadtijd testen

Om een goed beeld van de laadtijd van al die losse elementen te krijgen, kun je bijvoorbeeld de test op webpagetest.org of tools.pingdom.com gebruiken. De eerste is het meest interessant: de test wordt gesimuleerd vanaf een normale Windows-pc met gewone internetverbinding, waarbij je zelf de testlocatie en browser kunt kiezen. Na de test zie je een zogenoemde waterval die aangeeft wanneer de verschillende onderdelen van de website zijn geladen.

Daarboven zie je een samenvatting met onder meer First Byte, in feite de responstijd, en onder Document Complete de tijd die nodig is om het document inclusief alle ‘statische content’ te laden, zoals stylesheets, scripts en afbeeldingen. Tijdwinst valt onder meer te behalen door stylesheets en scripts te combineren en minimaliseren. Dat kun je met Grunt gemakkelijk automatiseren, waarover in een later artikel meer. Ook http/2 voor het versnellen van https-websites is een aanrader. Een groot voordeel is dat de browser daarmee meerdere bestanden gelijktijdig kan ophalen bij je webserver.

Inzicht in knelpunten

Om te zien welke onderdelen de weergave van de pagina tegenhouden, is een test op varvy.com/pagespeed erg praktisch. Je ziet er ook de totale omvang van stylesheets en scripts. En je krijgt tips, bijvoorbeeld over afbeeldingen die je kunt verkleinen of de optimalisatie van je server. Dit laatste komt ook in de workshop 4 aan bod. Op de Varvy-website vind je tevens een goede, meer op seo gerichte test. Verder is Google PageSpeed heel praktisch om inzicht te krijgen in knelpunten in je ontwerp. Er is aandacht voor zowel mobiel als desktop en je krijgt veel optimalisatietips.

De test van GTmetrix test je website op talloze richtlijnen die gehanteerd worden door Google (PageSpeed) en Yahoo (Yslow). Niet alle tips zijn overigens even zinvol: een paar kilobytes winst is bijvoorbeeld niet heel interessant op een website van een megabyte.

©PXimport

Internationaal bezoek

Het aantal bestanden en de omvang daarvan heeft vooral veel invloed op bezoekers die je website van wat verder weg bezoeken. Op tools.keycdn.com kun je zien wat het effect is. Ga naar Performance Test en vraag een individueel bestand op. Kies je een bestand bij een Nederlandse provider, dan zie je dat de eerste byte (ttfb oftewel time to first byte genoemd) razendsnel is ontvangen vanuit Amsterdam, veelal binnen 30 ms. Buiten Europa is dat al snel 400 ms tot wel 1 seconde.

Vraag je zo’n bestand bij een content delivery network (cdn, ook wel content distribution network genoemd) op, zoals KeyCDN zelf, dan is die waarde voor bijna alle locaties zo’n 15 tot 40 ms, als het tenminste al eerder bij de bewuste node van die cdn is opgevraagd. Dat is een belangrijk voordeel van een cdn, die statische content zoals scripts, stylesheets en afbeeldingen kan distribueren over vaak wel zo’n 20 tot 30 servers wereldwijd, de zogenaamde nodes.

De pagina zelf wordt weliswaar bij je eigen host gegenereerd, maar de statische content wordt via de snelste route opgehaald bij een node dichtbij de gebruiker. In de workshop 3 lees je hoe je zelf een cdn in gebruik kunt nemen.

▼ Volgende artikel
Doctor Sleep-regisseur gaat Stephen King-verhaal The Mist verfilmen
Huis

Doctor Sleep-regisseur gaat Stephen King-verhaal The Mist verfilmen

Mike Flanagan, die eerder onder andere de Stephen King-verhalen Doctor Sleep en The Life of Chuck verfilmde, gaat zich weer bezighouden met een film gebaseerd op een boek van de horrorschrijver. Ditmaal gaat het om The Mist.

Dat is opvallend, omdat The Mist in 2007 ook al verfilmd werd. Toen was het Frank Darabont die de film regisseerde, nadat hij eerder al naam maakte met Stephen King-verfilmingen The Shawshank Redemption en The Green Mile. De in 2007 uitgekomen verfilming van The Mist viel al goed in de smaak, dus sommige fans vragen zich dan ook af of het verhaal nog een verfilming nodig heeft.

Hoe dan ook is Flanagan tegenwoordig een expert op het gebied van Stephen King-films. Zoals gezegd heeft hij al bewerkingen van verhalen als The Life of Chuck, Doctor Sleep en Gerald's Game geleverd, en werkt hij ook aan een miniserie gebaseerd op Carrie. Daarnaast gaat hij de zevendelige Stephen King-epos The Dark Tower omtoveren tot een serie, al is niet bekend wanneer dat gaat gebeuren.

Over The Mist

Het in 1980 verschenen boek The Mist draait om een mysterieuze mist die een dorpje in zijn ban houdt. De mist maakt mensen niet alleen dood, er zitten ook allerlei monsters in die mist uit een andere dimensie. Overigens kwam tien jaar geleden ook een serie gebaseerd op The Mist uit, maar zonder veel succes. De eerdere verfilming uit 2007 wordt wel gezien als een succesverhaal - in ieder geval op kwalitatief gebied.

Mike Flanagan

Flanagan is overigens niet alleen bekend voor zijn verfilmingen van Stephen King-boeken. Hij heeft ook veel succes met zijn horrorseries op Netflix, waaronder The Haunting of Hill House, The Haunting of Bly Manor, Midnight Mass en The Fall of the House of Usher.

▼ Volgende artikel
Arc Raiders is meer dan 14 miljoen keer verkocht
Huis

Arc Raiders is meer dan 14 miljoen keer verkocht

De extraction shooter Arc Raiders is een groot succes: de game is sinds release 30 oktober vorig jaar meer dan 14 miljoen keer verkocht.

Dat heeft uitgever Nexon deze week aangekondigd bij het bekendmaken van de kwartaalcijfers van het bedrijf. In januari was er daarbij een piek van 960.000 gelijktijdige spelers over alle platforms waarneembaar, en sindsdien zijn er zo'n zes miljoen wekelijkse actieve spelers. Arc Raiders heeft wat Nexon betreft dan ook alle verwachtingen overtroffen.

Arc Raiders kwam zoals gezegd afgelopen oktober uit en is ontwikkeld door het in Stockholm gevestigde bedrijf Embark Studios, dat bestaat uit voormalige Battlefield-ontwikkelaars, waronder de voormalige ceo van DICE, Patrick Söderlund. Hiervoor bracht Embark al de shooter The Finals uit.

Over Arc Raiders

Toen Arc Raiders uitkwam, bleek het spel al snel een hit op Steam en consoles. Dit terwijl de markt voor multiplayershooters zeer competitief is, met franchises als Call of Duty en Battlefield waarvan afgelopen najaar ook nieuwe delen zijn uitgekomen.

De game houdt een derdepersoonsaanzicht aan en betreft een extraction shooter. Spelers gaan in Arc Raiders richting de oppervlakte van de aarde, waar buitenaardse robots genaamd Arcs voor chaos zorgen. Spelers proberen hier waardevolle materialen, wapens en medicijnen te vinden - alleen of in teamverband. Andere spelers lopen echter ook rond op het oppervlak en kunnen je team helpen of juist tegenzitten. Het doel is heelhuids weer ondergronds te geraken met de verzamelde spullen.