PageSpeed Insights: verbeter je sitespeed met deze ultieme gids
27 februari 2018
Update 15 november 2018: Google PageSpeed Insights heeft een grote update gehad! Benieuwd naar de veranderingen? In dit blog zijn de grootste wijzigingen op een rij gezet.
Wil je weten hoe je de laadtijd van jouw website verbetert? Dan ben je op de juiste plek. In deze uitgebreide gids leer je alles over de punten waarop Google PageSpeed Insights je website beoordeelt. Daarnaast geven we je voor elk punt concrete actiepunten om je website sneller te maken. Laten we beginnen!
Leestijd: 25 minuten
Heb je nu geen tijd om het blog te lezen? Download dan gratis het E-book!
Sitespeed is een cruciale factor als het gaat om het succes van een website. Als online marketing bureau weten we maar al te goed dat een snelle website draagt bij aan hogere SEO rankings, hogere conversieratio’s, lagere bouncepercentages, een langere bezoekduur en een betere gebruikerservaring.
PageSpeed Insights (PSI) is een online tool van Google die je webpagina analyseert en suggesties geeft om die webpagina sneller te maken op alle apparaten. De tool zal je webpagina een optimalisatie score geven op een schaal van 0-100.
Belangrijk om te onthouden is dat een score van 100/100 niet het doel is!
Belangrijk om te onthouden is dat een score van 100/100 niet het doel is! Ten eerste omdat het voor de meeste webpagina’s niet haalbaar is. Gaandeweg het lezen van dit artikel zal je merken dat niet alle suggesties een optie zijn voor jouw webpagina, omdat de voordelen niet opwegen tegen de nadelen. Ten tweede omdat een pagina met een score van 100 geen hogere SEO ranking krijgt dan een pagina met een score van 80.
Daarnaast raden we je aan om je niet blind te staren op één tool. Raadpleeg naast PageSpeed Insights ook een aantal andere tools, zoals GTMetrix, Pingdom, Cloudinary of WebPagetest. Elke tool heeft zijn eigen voordelen en analyseert je website op haar eigen manier. Belangrijk is dat het gebruik van deze tools je inzicht geeft in de punten waar je website nog beter en sneller kan, zonder dat dit ten koste gaat van de kwaliteit.
Zoals de titel alleen al aangeeft, in dit artikel kijken we met name naar de tool PageSpeed Insights. Dat brengt ons bij het volgende hoofdstuk:
Hoofdstuk 2: PageSpeed Insights: hoe werkt het?
PageSpeed Insights bestaat uit vier onderdelen, namelijk: de Snelheidsscore, de Optimalisatie Score, de Paginastatiestieken en de Optimalisatiesuggesties.
Snelheidsscore
PSI gebruikt gegevens uit het Chrome User Experience Report (CrUX) om te meten hoe snel een pagina laadt in de echte wereld.
Het rapport toont (voor zowel mobiel als desktop) drie statistieken: First Contentful Paint (de tijd die het duurt voordat een browser de eerste content van een webpagina weergeeft), DOMContentLoaded (de tijd die het duurt voordat een browser alle bestanden van een webpagina heeft geladen) en een snelheidsscore.
Belangrijk! De Snelheidsscore wordt niet voor alle webpagina’s weergegeven. Simpelweg omdat de website onvoldoende verkeer heeft om een betrouwbare score te berekenen.
Optimalisatie Score
PSI bekijkt of de webpagina de best practices heeft toegepast om de prestaties te optimaliseren en geeft de pagina een score van 0-100. In tegenstelling tot de Snelheidsscore wordt de Optimalisatie Score niet berekend op basis van gegevens uit de echte wereld. De Optimalisatie Score wordt berekend op basis van negen best practices. Welke dat zijn, dat lees je in hoofdstuk 3.
De score is gecategoriseerd als Goed, Middelmatig of Slecht:
Goed. De pagina heeft vrijwel alle best practices toegepast en er is weinig ruimte voor verbetering. De pagina scoort 80 of hoger.
Middelmatig. De pagina mist een aantal best practices en er is ruimte voor verbetering. De pagina scoort tussen de 60 en 79.
Slecht. De pagina is niet geoptimaliseerd en er is veel ruimte voor verbetering. De pagina heeft een score van 59 of lager.
Paginastatieken
In het gedeelte Paginastatistieken worden twee statistieken berekend: het aantal uitwisselingen die nodig zijn om je webpagina weer te geven en de omvang van jouw webpagina.
Het voordeel hiervan is dat je jouw statistieken kan vergelijken met gemiddelden van alle webpagina’s.
De paginastatistieken is het gedeelte van de tool die we het minst gebruiken, omdat het je geen actiematige inzichten geeft om je webpagina te verbeteren.
Optimalisatiesuggesties
PageSpeed Insights kent negen best practices op basis waarvan ze suggesties geven. Als je website een maximale score heeft, zal je deze niet zien. Scoort je website middelmatig of slecht, dan zal je de suggesties wel zien. In het volgende hoofdstuk gaan we kijken welke suggesties er zijn en hoe je deze toe kan passen op jouw website.
Hoofdstuk 3: PageSpeed Insights: waar wordt een website op beoordeeld?
Voor het berekenen van de Optimalisatie Score analyseert PSI je webpagina op negen best practices. Voor elke best practice geldt dat er meerdere manieren zijn om ze toe te passen.
Onthoud dat niet alle manieren werken voor alle websites. De gouden regel is dat je altijd moet testen welke manier het beste werkt voor jouw website en je nooit iets klakkeloos moet overnemen!!
In dit artikel bevelen we ook een aantal plugins aan. Zorg alleen wel dat je het gebruik van plugins zoveel mogelijk beperkt. Gebruik alleen de meest noodzakelijke plugins. Waarom? Omdat overmatig gebruik van plugins een negatief effect kan hebben op je laadtijd.
Welke best practices kent PageSpeed Insights?
Afbeeldingen optimaliseren
Omleidingen op bestemmingspagina vermijden
Comprimeren inschakelen
Reactietijd van server beperken
Browsercaching inschakelen
Bronnen minimaliseren
Optimaliseer de CSS-weergave
Prioriteit geven aan zichtbare content
JavaScript in content boven de vouw die het weergeven blokkeren, verwijderen
Elke best practice wordt stuk voor stuk uitgelegd en we geven je handvatten hoe je elke best practice kan toepassen op jouw website.
We beginnen bij een best practice die door velen wordt onderschat, namelijk: Afbeeldingen optimaliseren.
Hoofdstuk 4: Afbeeldingen optimaliseren
48% van de totale omvang van een gemiddelde webpagina bestaat uit afbeeldingen, volgens HTTP Archive. Aangezien je de browsers en zoekmachines te vriend wil houden – en de gemiddelde bezoeker ook niet afknapt op een snelle website – is dit de meest logische plek om te starten met optimaliseren.
1 FEB 2018
PageSpeed Insights toont de aanbeveling ‘Afbeeldingen optimaliseren’ wanneer er afbeeldingen worden gevonden waarvan de bestandsgrootte kan worden verkleind, zonder dat dit impact heeft op de visuele kwaliteit.
Er zijn diverse manieren om je afbeeldingen te optimaliseren, zowel handmatig, in bulk of geheel automatisch. De kunst is om de voor jou meest optimale balans te vinden tussen kwaliteit en omvang van je afbeeldingen.
Voordelen van het optimaliseren van afbeeldingen
Voordat we ingaan op de diverse methoden geven we antwoord op de vraag “wat heb je er aan als je afbeeldingen optimaliseert voor het web”?
Hieronder een overzicht van de voordelen.
De pagina’s op je website laden sneller, waardoor de website gebruiksvriendelijker wordt. Kleinere afbeeldingen gebruiken minder bandbreedte. Hoe minder bytes een browser hoeft te downloaden, des te sneller kan de browser de inhoud downloaden en weergeven op het scherm.
Afbeeldingen zullen hogere posities claimen in zoekmachines. Hierbij ga ik er gemakshalve vanuit dat je afbeeldingen een stevig SEO fundament hebben. Hoe kleiner een afbeelding, hoe sneller de pagina geïndexeerd kan worden door zoekmachines. Bovendien verhoogt het de gebruiksvriendelijkheid, wat ook een ranking factor is.
Je hebt minder schijfruimte nodig en je belast de server minder. Ook de hoeveelheid dataverkeer zal vele malen lager liggen, waardoor er een kans is dat je hostingkosten lager gaan uitvallen.
Om de proef op de som te nemen hebben we de snelheid van een van onze eigen pagina’s getest met Pingdom. Vervolgens hebben we de afbeeldingen geoptimaliseerd en gekeken wat dit voor effect heeft op de snelheid.
Hieronder zie je het resultaat:
Resultaat voor optimalisatie Resultaat na optimalisatie
Zoals je ziet is de omvang van de pagina met ruim 36% afgenomen en is de snelheid met 10% gestegen. En dat binnen 5 minuten. Niet slecht!
Wil je weten waar je op moet letten bij het gebruik én het optimaliseren van afbeeldingen? Lees dan verder 😉
Hoe optimaliseer je afbeeldingen?
1. Kies de juiste bestandsindeling
Bij de keuze voor de juiste bestandsindeling houd je rekening met de vereiste functionaliteit, de gewenste visuele kwaliteit en met de omvang.
We bespreken vier populaire bestandsindelingen: JPEG, SVG, PNG en GIF. De bestandsindeling WebP en JPEG XR komen niet aan bod, omdat deze twee niet door alle browsers worden ondersteund.
JPEG – de meest gebruikte bestandsindeling voor afbeeldingen. Met de compressie mogelijkheden die JPEG kent, kan je een goede balans vinden tussen kwaliteit en omvang. JPEG kent drie compressie methodes: Baseline, Progressive en Lossless. Lossless compressie is een compressiemethode waarbij er geen kwaliteitsverlies optreedt. Het verschil tussen een Baseline JPEG en een Progressive JPEG zit hem in de manier van laden. Een Baseline JPEG (de standaard methode bij de meeste tools) laad van boven naar beneden. Een Progressive JPEG laad in zijn geheel, van lage resolutie (blurry) naar hoge resolutie.
SVG (Scalable Vector Images) – vector afbeeldingen zijn ideaal voor eenvoudige afbeeldingen (logo’s, pictogrammen, tekst), omdat ze niet afhankelijk zijn van resolutie en schaal. Het grote voordeel hiervan is dat ze er op elk scherm en resolutie haarscherp uitzien. Vector afbeeldingen zijn niet geschikt voor complexe afbeeldingen, zoals foto’s.
PNG – wil je de fijnste details behouden met de hoogste resolutie? Kies dan voor PNG. In tegenstelling tot JPEG staat PNG transparante waarden toe en een type compressie zonder kwaliteitsverlies. PNG afbeeldingen zijn van hoge kwaliteit, maar vaak ook aanzienlijk groter in omvang dan JPEG bestanden. Is omvang voor jou net zo belangrijk als het visuele effect? Kies dan voor JPEG en niet voor PNG. Moet een afbeelding vooral visueel sterk zijn en is omvang voor jou geen issue? Kies dan voor PNG.
GIF – wil je gebruik maken van animatie? Kies dan voor GIF. Aangezien GIF slechts 256 kleuren gebruikt, is het geen goede keuze bij statische afbeeldingen.
2. Schaal je afbeelding naar het juiste formaat
Het is belangrijk om niet meer pixels aan te bieden dan nodig is om de afbeelding op de gewenste grootte te laten zien in de browser. Veel webpagina’s slagen hier niet in. Als je WordPress gebruikt kun je zelf de maximale afmetingen van alle afbeeldingen instellen. Ga hiervoor naar Instellingen > Media. Zorg dat de maximale breedte van je afbeeldingen dicht bij de maximale breedte van je website ligt.
WordPress zal thumbnails creëren op basis van je instellingen en het origineel laten staan in je mediabibliotheek. Wil je de originele bestanden verwijderen? Gebruik dan een plugin, bijvoorbeeld Imsanity.
3. Pas de resolutie aan
Foto’s die je met een digitale camera maakt, hebben vaak een hoge resolutie. Wil je de foto’s afdrukken, dan is een resolutie van 300 Dots Per Inch (DPI) prima. Wil je de foto’s plaatsen op je website, dan is 300 DPI veel te veel. Gebruik voor het web liever afbeeldingen met 72 of 96 DPI. Een afbeelding van 1,3 MB verklein je hiermee al naar 142 KB.
4. Kies het meest geschikte type datacompressie
Er zijn twee typen datacompressie: exact omkeerbaar (lossless compressie) en niet-exact omkeerbaar (lossy compressie). Welk type je kiest is afhankelijk van het karakter van je website. Is het belangrijk dat de afbeeldingen op je website van hoge kwaliteit zijn, dan kies je voor lossless compressie. Moet de website kneiter snel laden, dan kies je voor lossy compressie.
Lossless compressie is een type datacompressie dat de grootte van een bestand verkleind zonder kwaliteitsverlies. Dit kan op verschillende manieren. Bijvoorbeeld door een index te maken van alle pixels en dezelfde kleuren-pixels te groeperen. Een andere manier is door onnodige meta data van JPEG bestanden te verwijderen. Tools die lossless compressie gebruiken zijn Compressor (Web), Kraken Image Optimizer (Web), FILEminimizer (Windows) en Photo Size Optimizer (Mac).
Lossy compressie is een type datacompressie waarmee afbeeldingen een deel van hun kwaliteit verliezen. Het voordeel is dat je de bestandsgrootte enorm kan verkleinen. De kunst is om een balans te vinden tussen bestandsgrootte en de kwaliteit van je afbeelding. Tools die lossy compressie gebruiken zijn Photoshop (Windows, Mac), Compressor (Web), ImageOptim (Web) en Kraken Image Optimizer (Web).
5. Verwijder overbodige metadata van afbeeldingen
Veel afbeeldingen bevatten onnodige metadata: geografische informatie, datum en tijd en camera-instellingen. Gebruik de juiste tools om deze informatie te verwijderen. Dat kan bijvoorbeeld met het gratis programma Easy Exif Delete. Dit geldt ook voor SVG bestanden. Om dit op te lossen kan je o.a. een GZIP compressie gebruiken.
6. Maak gebruik van responsieve afbeeldingen
Door gebruik te maken van responsieve afbeeldingen bespaar je een hoop bandbreedte en zal je webpagina sneller laden. Responsieve afbeeldingen worden automatisch aangepast aan de grootte van het scherm.
Heb je een WordPress website? Alle WordPress websites met een versie van 4.4 of hoger maken automatisch gebruik van responsieve afbeeldingen. WordPress zal van elke afbeelding automatisch meerdere formaten toevoegen aan de mediabibliotheek. Browsers kunnen zelf bepalen wat de meest geschikte afbeelding is en de overige negeren. Op die manier bespaar je een hoop bandbreedte en zal je website sneller laden.
Gebruik je een ander CMS systeem voor je website? Neem dan contact op met je webbouwer en bespreek de mogelijkheden van responsieve afbeeldingen. Wil je precies weten hoe je gebruik kan maken van responsieve afbeeldingen? Volg dan de gratis cursus van UDACITY.
Afbeeldingen optimaliseren: de beste tools, programma’s en plugins
Er is gelukkig geen schaarste aan tools, programma’s of plugins die je kan gebruiken bij het optimaliseren van afbeeldingen. Toets op Google maar eens “image optimization tool” in en je krijgt meer dan 300 miljoen resultaten. Sommige zijn gratis, anderen betaald.
Belangrijk is wel om je af te vragen wat je precies nodig hebt. Wil je een tool die het werk voor je doet, of wil je zelf aan de knoppen zitten? Een andere mogelijkheid is om een tool te kiezen die het hele proces voor je automatiseert. Elke afbeelding zal dan automatisch worden geoptimaliseerd op een combinatie van de beste kwaliteit, omvang en format geschikt voor elke browser en apparaat.
We hebben een aantal opties voor je op een rij gezet, verdeeld over drie categorieën:
Ik zoek een tool waarbij ik zelf aan de knoppen zit.
Ik zoek een tool die het meeste werk voor me gaat doen.
Ik zoek een tool die alle afbeeldingen automatisch optimaliseert.
Ik zoek een tool waarbij ik zelf aan de knoppen zit
Aah kijk, je neemt het zekere voor het onzekere en gaat zelf de optimale balans vinden tussen kwaliteit en omvang van je afbeeldingen. Of dat óf je hebt een hekel aan plugins. Wat de reden ook is, er zijn legio tools die je gaan helpen.
Hieronder tonen we een selectie van deze tools:
Adobe Photoshop. Een van de (zo niet dé) bekendste tools voor het optimaliseren van afbeeldingen is natuurlijk Adobe Photoshop. Ondanks dat het voor sommigen een prijzige tool is, is dit een van de meest gebruikte tools ter wereld. Photoshop bevat oneindig veel mogelijkheden om je afbeelding nog beter en lichter te maken. Er staan op internet veel tutorials die je de best practices bijbrengen. Een van mijn favoriete functies binnen Photoshop is de ‘Opslaan voor web’. Hiermee kan je binnen enkele klikken je afbeeldingen optimaliseren voor je website. Photoshop is o.a. beschikbaar voor Windows en Mac en maakt gebruik van lossy en lossless compressie.
Gimp. Gimp is een gratis alternatief voor Photoshop dat gebruik maakt van lossy en lossless compressie. Het bevat veel van de functies die ook beschikbaar zijn in Photoshop en is beschikbaar voor Windows en Mac. Als je eerder hebt gewerkt met Photoshop dan zal je wel moeten wennen aan de workflow van Gimp. De functies en sneltoetsen zijn er wel, maar zijn visueel anders en zitten vaak op een andere plek.
Affinity Photo. Een tool met vrijwel identieke functionaliteiten als Photoshop is Affinity Photo. De workflow van deze tool komt voor een groot deel overeen met Photoshop. Het voordeel van Affinity Photo is dat het vele malen goedkoper is dan Photoshop. Net als Gimp en Photoshop is Affinity Photo beschikbaar voor Windows en Mac. Ook deze tool maakt gebruik van lossy en lossless compressie.
Ik zoek een tool die het meeste werk voor me gaat doen.
Je zoekt een tool die de balans tussen kwaliteit en omvang grotendeels zelf bepaalt? Toch wil je de eindcontrole behouden en zelf de afbeeldingen plaatsen op je website? Kijk dan naar een van de onderstaande tools:
ImageOptim. Imageoptim is een tool waarmee je in bulk afbeeldingen kan optimaliseren. De tool gebruikt een combinatie van technieken om je afbeelding zo klein mogelijk te maken. Wanneer je de kleinst mogelijke bestandsformaat wil, kies je voor de optie ‘Lossy minification’. Imageoptim is zowel online beschikbaar als voor Mac en maakt gebruik van lossy compressie.
FileOptimizer. Met deze tool kan je – net als Imageoptim – in bulk afbeeldingen optimaliseren. Deze tool is beschikbaar voor Windows en maakt gebruik van lossless compressie.
TinyPNG. Met TinyPNG kan je – anders dan de naam doet denken – zowel JPEG als PNG afbeeldingen optimaliseren. TinyPNG maakt gebruik van lossy compressie.
Kraken Image Optimizer. Kraken is een web-based tool waar je kan kiezen tussen lossy en lossless compressie. Een coole functie van Kraken is de ‘Page Cruncher’ functie. Hiermee optimaliseer je in een keer alle afbeeldingen op een pagina van je website.
Ik zoek een tool die alle afbeeldingen automatisch optimaliseert.
Met deze tools hoef je niet handmatig afbeeldingen te comprimeren of bij te snijden. De tools in dit overzicht optimaliseren alle afbeeldingen automatisch zodra je ze upload. Sommige tools kunnen ook de afbeeldingen die al op je website staan optimaliseren.
WP Smush. WP Smush is een WordPress plugin dat afbeeldingen automatisch optimaliseert. Dat kan ook met de afbeeldingen die al in je mediabibliotheek staan. WP Smush heeft een gratis en een betaalde versie. De gratis versie maakt gebruik van lossless compressie. De betaalde versie maakt gebruik van lossy en lossless compressie.
Imagify Image Optimizer. Dit is een WordPress plugin waar je kan kiezen tussen drie niveaus van optimalisatie: normal (lossless), aggressive (lossy) en ultra (lossy). Met Imagify Image Optimizer kan je afbeeldingen in bulk optimaliseren en afbeeldingen herstellen als je niet tevreden bent met het resultaat. Een alternatief voor Magento websites is de Image Optimizer.
imgix. Naast een plugin kan je kiezen voor een Content Delivory Network (CDN). Een CDN is een netwerk van servers verspreid over meerdere plekken in de wereld. Op deze manier kan een gebruiker – waar ook ter wereld – razendsnel afbeeldingen bekijken. imgix is een CDN dat afbeeldingen optimaliseert voor elk apparaat en elke browser, zodat ze kwalitatief hoogwaardig én razendsnel zijn.
Hoe controleer je of afbeeldingen geoptimaliseerd moeten worden?
Je bent klaar om aan de slag te gaan en je wil weten waar je moet beginnen? Als je geen plugin gebruikt die alle afbeeldingen voor je optimaliseert is het handig om te weten waar de meeste winst te behalen valt. De meest logische keuze is om te starten met de webpagina’s met de meeste bezoekers. Er zijn voldoende tools die de afbeeldingen op een pagina beoordelen en aantonen hoeveel KB je kan besparen door ze te optimaliseren.
Vier voorbeelden zijn PageSpeed Insights, Cloudinary, Pingdom en WebPagetest. Bij PageSpeed Insights en Cloudinary kan je de geoptimaliseerde variant van je afbeeldingen meteen downloaden. Handig!
Zoek je een tool die alle afbeeldingen op je website crawlt? Probeer dan eens Screaming Frog. Screaming Frog heeft een gratis en een betaalde versie. Met de gratis versie kan je 500 URL’s crawlen. Onder de tab Images kan je alle afbeeldingen rangschikken op grootte. De grootte wordt aangegeven in bytes. Deel het aantal door 1.024 om de waarde in KB te zien.
Hoofdstuk 5: Omleidingen op bestemmingspagina vermijden
De volgende aanbeveling van PageSpeed Insights is dat je het gebruik van redirect chains moet vermijden. De aanbeveling ‘omleidingen op bestemmingspagina vermijden’ wordt getoond zodra GPI meer dan één redirect detecteert van de gegeven URL naar de landingspagina.
Dit noemen we een redirect chain; een serie van omleidingen die je van de ene URL naar de andere stuurt. Naast het feit dat elke redirect de laadtijd van een pagina vertraagt, zijn de gevolgen voor SEO niet mis; bij elke stap in de chain verlies je 10% aan autoriteit.
Hoe breng je redirect chains in kaart? Een van de meest eenvoudige manieren om dit te doen voor grote websites is met de betaalde versie van Screaming Frog (licentie kost £149,- per jaar). Vink onder de geavanceerde instellingen van de Spider (Configuration → Spider) ‘Always follow redirects’ aan en start met het crawlen van de website. Zodra de resultaten binnen zijn ga je naar Reports → Redirect Chains om te zien welke redirect chains er aanwezig zijn op je website. En klaar is Kees! Nu je weet welke redirect chains er zijn en kan je – eventueel samen met de webbouwer – bepalen hoe je dit gaat oplossen.
Hoofdstuk 6: Comprimeren inschakelen
De meeste mensen zijn bekend met GZIP compressie. Gzip compressie is een methode om bestanden te verkleinen, zodat deze sneller via een netwerk kunnen worden verzonden.
GZIP compressie kan de omvang van je pagina tot 90% verkleinen. Dit heeft als gevolg dat je website sneller door een browser kan worden opgehaald, en sneller wordt geladen. Gecomprimeerde bestanden zijn te herkennen aan bijvoorbeeld de extensie .zip en .rar.
PageSpeed Insights toont de aanbeveling ‘Comprimeren inschakelen’ wanneer het een comprimeerbare bron op je webpagina vindt zonder GZIP compressie. Krijg je deze melding niet, dan staat GZIP compressie voor jouw website waarschijnlijk ingeschakeld. Wil je het zeker weten? Ga dan naar checkgzipcompression.com en voer hier de URL van je website in.
Krijg je de melding ‘It’s GZIP enabled’? Dan is GZIP ingeschakeld en werkt het. Zie je ‘GZIP is not enabled’? Dan is GZIP niet ingeschakeld voor jouw website. Steek de handen maar uit de mouwen, want er is werk aan de winkel.
GZIP compressie inschakelen
Er zijn drie manieren waarop je GZIP compressie in kan schakelen:
GZIP compressie inschakelen via het Service Panel. Dit is mogelijk bij diverse hosting partijen. Raadpleeg je hostingpartij om te controleren of dit voor jou mogelijk is.
GZIP compressie inschakelen in het configuratiebestand. De twee meest bekende open source servers ter wereld zijn Apache en Nginx. Hieronder leggen we voor beide uit hoe je GZIP compressie inschakelt.
GZIP compressie inschakelen met behulp van een een plugin. Heb je een WordPress website dan kan je gebruik maken van de plugin W3 Total Cache.
GZIP compressie inschakelen voor Apache
Voor een website die gebruik maakt van een Apache server comprimeren we bestanden met de module Deflate. Hiervoor dien je het .htaccess bestand aan te passen.
Open het .htaccess bestand en voeg de volgende code toe.
Voor een website met een Nginx server comprimeren we bestanden met de module ngx_http_gzip_module. Open het configuratiebestand en voeg hier de volgende code aan toe:
De reactietijd van je server wordt meestal berekend door de TTFB (Time To First Byte) te berekenen. Hiermee meet je hoe lang het duurt voordat de browser de eerste byte ontvangt van de server.
De aanbeveling ‘Reactietijd van server beperken’ wordt getoond wanneer PageSpeed Insights detecteert dat de reactietijd van je server hoger dan 200 ms is.
Er is geen magische methode die de reactietijd van de server voor elke website kan verlagen tot minder dan 200 ms. Daarvoor zijn er teveel verschillende factoren die hier invloed op kunnen hebben.
Toch zijn er een aantal factoren die vaker voorkomen dan andere:
Database: Een opgeblazen en slecht onderhouden database is een van de veel voorkomende oorzaken van een trage website. Wanneer is de database van je website voor het laatst geoptimaliseerd? Hoe snel zijn je queries? Is de database genormaliseerd? Net als een harde schijf af en toe opgeschoond of gedefragmenteerd moet worden om de snelheid te behouden, geldt dit ook voor een database.
Verkeer en Hosting: Heeft je website een explosieve groei doorstaan en is het aantal paginaweergaven vertienvoudigd? Dit kan een oorzaak zijn van een trage reactietijd van de server, omdat je hostingpakket niet meer past bij de huidige prestaties van de website. De datalimiet en bandbreedte van je hosting zijn niet meer voldoende om je bezoekers – zowel tijdens piekmomenten als over een gehele maand – snel te voorzien van content. Aangezien het aantal bezoekers van je website sterk fluctueert is het verstandig om eens per jaar te kijken of het hostingpakket nog past bij de prestaties van je website. Op die manier voorkom je dat je hostingpakket de oorzaak is van een trage website.
Hoeveelheid bronnen: Hoe minder bronnen zoals css, html, javascript een pagina gebruikt, hoe minder de server wordt belast met verzoeken. Stel de server van je website heeft een capaciteit van maximaal 200 verzoeken per seconde. Hoe minder bronnen je pagina gebruikt, hoe meer paginaweergaven je server tegelijkertijd kan verwerken. Wil je weten hoeveel verzoeken je webpagina gebruikt? Gebruik dan deze tool.
Server instellingen: Een andere oorzaak van een trage reactietijd van de server is een slecht geconfigureerde server. Heb je een Apache of Nginx server? Bekijk dan of deze op de default instellingen staan. Vaak zijn deze instellingen niet optimaal voor jouw behoeften.
Hoofdstuk 8: Gebruikmaken van browsercaching
Elke keer als je een webpagina voor de eerste keer ziet, moet een browser diverse bestanden laden, zoals het logo, CSS, HTML, JavaScript, etc. Browsers kunnen een hoop van deze bestanden door middel van browsercaching opslaan in het lokale geheugen. Veel van de bestanden die worden opgeslagen in het cachegeheugen, worden vaak op meerdere pagina’s van een website gebruikt. Alle volgende webpagina’s die je bekijkt worden sneller geladen, omdat de browser veel van deze bestanden niet opnieuw hoeft te laden. Dit is het grote voordeel van browsercaching. Een ander voordeel is dat de serverload lager is.
PageSpeed Insights toont de aanbeveling “Gebruikmaken van browsercaching” als de server geen of onvolledige browsercaching instructies stuurt naar de browser óf dat de bronnen voor slechts een korte tijd in het cachegeheugen opgeslagen kunnen worden.
Hoe kan je browsercaching inschakelen?
Browsercaching kan je inschakelen door een code toe te voegen aan het .htaccess bestand. De twee bekendste methoden om browsercaching in te schakelen zijn Expires header en Cache-Control header.
Expires header
De module Expires header geeft een instructie aan de browser hoe lang ze het bestand moeten “onthouden”. Dit kan zowel relatief (bepaalde hoeveelheid sec vanaf nu) als absoluut (exacte datum) worden ingesteld. Zodra de cache verlopen is wordt het bestand als “expired” bestempeld en moet er een nieuwe versie van de server gehaald worden.
!Belangrijk! Het verkeerd aanpassen van het .htaccess bestand kan als gevolg hebben dat je website (gedeeltelijk) niet meer werkt. Als je niet zeker bent van je zaak, raadpleeg dan een specialist!
Heb je een Apache server? Voeg dan onderstaande code toe aan het .htaccess bestand. De code zou bovenaan moeten worden geplaatst.
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A86400
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
A2592000 betekent 30 dagen in de toekomst (60 * 60 * 24 * 30 = 2592000).
Kijk per bestandstype of de cache tijd overeenkomt met de frequentie waarin dit type bestand op jouw website verandert. Wijkt dit enorm af, pas dan de cache tijd aan. Op die manier voorkom je dat een bezoeker telkens de oude bestanden ziet, omdat deze nog in het cachegeheugen zit.
Cache-Control
De module Cache-Control header geeft je in vergelijking met de module Expires header meer controle. Je kan instructies geven wie wat mag cachen en voor welke periode. Zo kan je bepaalde bestanden op “private” zetten. Deze bestanden kunnen alleen door de browser worden gecached en niet door andere proxies, zoals bijvoorbeeld een CDN.
Ben je benieuwd naar welke mogelijkheden Cache-Control headers nog meer te bieden heeft? Lees dan dit blogartikel.
!Belangrijk! Het verkeerd aanpassen van het .htaccess bestand kan als gevolg hebben dat je website (gedeeltelijk) niet meer werkt. Als je niet zeker bent van je zaak, raadpleeg dan een specialist!
Heb je een Apache server? Voeg dan onderstaande code toe aan het .htaccess bestand.
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=84600, public"
Browser caching en Google Analytics
Je verwacht het waarschijnlijk niet, maar voor het gebruik van Google Analytics krijg je ook de melding “maak gebruik van browsercaching”. Dit komt omdat Google Analytics een zeer korte cache tijd heeft van twee uur (zie foto). De exacte reden is hiervan niet bekend. Waarschijnlijk doet Google dit, zodat elke wijziging die ze in het script doorvoeren direct beschikbaar is voor alle gebruikers.
Een manier om dit op te lossen is door het Google Analytics script op je eigen server te gaan hosten. Er zijn twee manieren om dit te bereiken. Je kan het zelf doen met behulp van dit blog. Als je een WordPress website hebt kan je gebruik maken van de CAOS plugin.
Browser caching van derden
Naast het Google Analytics script is de kans groot dat je meerdere scripts van derden op je website staan. Denk hierbij aan Hotjar, Optimizely, Facebook, Twitter, Bing DoubleClick, etc. Voor veel van deze scripts zal je de melding “Maak gebruik van browsercaching” krijgen. Dit omdat ze – net als het Analytics script – een zeer korte cache tijd hebben.
Het is helaas niet mogelijk om deze scripts op je eigen server te hosten, waardoor je ook geen invloed hebt op de cache tijd van de scripts. Belangrijk is om te realiseren dat een 100/100 score niet het doel is en je deze scripts prima kan laten staan. Veel belangrijker is dat je weet waarom je deze aanbeveling niet op kan lossen.
!Belangrijk! De cookiewetgeving gaat met de komst van de nieuwe Europese privacywet flink op de schop. Wil je weten wat er vanaf 25 mei 2018 gaat veranderen? Bijvoorbeeld welke cookies mag je straks niet plaatsen zonder toestemming? Lees dan ons blog ‘Wat verandert er door de nieuwe Europese cookiewet in 2018?’
Hoofdstuk 9: Bronnen minimaliseren (HTML, CSS en JavaScript)
Telkens wanneer je een website voor het eerst bezoekt moet een browser veel bestanden laden, zoals HTML, CSS, JavaScript, etc. Hoe schoner de code van deze bestanden, hoe sneller de website wordt geladen.
Het probleem hier is dat deze code wordt geschreven zodat mensen het kunnen lezen. Codes bevatten hierdoor veel onnodige tekens (spaties, opmerkingen, ongebruikte code, etc.) die browsers niet nodig hebben om de code te lezen.
De aanbeveling “bronnen minimaliseren” wordt getoond wanneer PageSpeed Insights een bestand vindt dat kleiner gemaakt kan worden door middel van ‘minification’.
Minification is het verwijderen van onnodige en overtollige code, zonder dat dit effect heeft op hoe een browser de code verwerkt. Hieronder een voorbeeld:
CSS, oftewel Cascading Style Sheets, is bedoeld voor de opmaak en vormgeving van je website. Zowel CSS als HTML worden door browsers standaard behandeld als een weergaveblokkerende bron. Dit betekent dat de browser wacht met het weergeven van de verwerkte inhoud totdat de CSS en HTML bestanden van de huidige webpagina zijn geladen.
Hieronder zie je wat er gebeurd als een browser de homepagina van de New York Times zou weergeven zonder een weergaveblokkering op CSS.
New York Times met CSS
New York Times zonder CSS
PageSpeed Insights zal de aanbeveling “Optimaliseer de CSS-weergave” tonen wanneer een CSS bestand het weergeven van de eerste pixels van een pagina blokkeert.
Om dit op te lossen ga je het kritieke weergavepad optimaliseren. Het kritieke weergavepad is de manier waarop HTML, CSS en JavScript door de browsers wordt verwerkt om pixels op een scherm weer te geven. In de afbeelding hieronder zie je het resultaat van een kritieke weergavepad dat is geoptimaliseerd en een kritieke weergavepad die niet is geoptimaliseerd.
Een manier om het kritieke weergavepad te optimaliseren is door CSS inline te plaatsen. CSS inline plaatsen betekent simpelweg dat je CSS verwerkt in je HTML in plaats van in een extern CSS bestand.
Het voordeel is dat een browser minder netwerkomleidingen (roundtrips) hoeft te doen voordat het je webpagina kan weergeven. Het nadeel is dat je CSS niet wordt gecached. Bij kleine CSS bestanden is dit niet erg, omdat dit weinig effect heeft op de laadtijd van een webpagina. Het inline plaatsen van grote en complexe CSS bestanden heeft wel een averechts effect op de laadtijd van je webpagina’s. Het is daarom aan te raden om enkel kleine CSS bestanden inline te plaatsen.
“Voor de beste prestatie kunt u overwegen om kritieke CSS direct inline in het HTML-document te plaatsen. Hierdoor worden extra roundtrips in het kritieke pad geëlimineerd. Als dit op een goede manier wordt gedaan, kan dit worden gebruikt om een kritieke padlengte van één roundtrip te leveren waarbij alleen de HTML een blokkerende bron is”
Er zijn meerdere methoden om CSS inline te plaatsen.
Hieronder twee voorbeelden:
Gebruik de PageSpeed Module van Google. Deze module bepaalt automatisch welk CSS kritiek is voor de opmaak van de content boven-de-vouw en zal deze automatisch inline plaatsen.
Heb je een WordPress website? Gebruik dan WP Rocket. Deze plugin heeft vele voordelen en helpt je niet alleen bij het optimaliseren van je CSS-weergave. Een aantal andere features zijn: GZIP compressie, browser caching, database optimalisatie en bronnen minimaliseren.
Hoofdstuk 11: Prioriteit geven aan zichtbare content
Zichtbare content, oftewel content boven-de-vouw, is alle content op een scherm dat zichtbaar is zonder dat een gebruiker hoeft te scrollen. Gebruikers houden van websites die snel content laten zien en Google weet dit ook.
PageSpeed Insights toont de aanbeveling “Prioriteren van zichtbare content” wanneer je pagina extra roundtrips vereist om content boven de vouw weer te geven.
Om dit op te lossen moeten we de data (HTML, CSS, afbeeldingen, JavaScript) die is vereist voor het weergeven van content boven de vouw beperken. Er zijn twee strategieën om dit te bereiken:
Structureer je HTML en zorg dat de boven-de-vouw content als eerst wordt weergegeven.
Beperk de hoeveelheid data die nodig is om een pagina weer te geven.
Structureer je HTML en zorg dat de kritieke boven-de-vouw content als eerst wordt weergegeven.
Als bezoeker van een pagina wil je de belangrijkste content van een pagina eerder zien dan bijvoorbeeld de third-party widgets of advertenties. Zorg ervoor dat de pagina zo is opgebouwd dat de belangrijkste content als eerste wordt weergegeven.
Volg onderstaande tips om dit te bereiken:
Verdeel je CSS in twee gedeeltes: het kritieke deel dat nodig is voor de opmaak van de boven-de-vouw content plaats je inline, het overige deel plaats je in een extern CSS bestand.
Zorg dat de belangrijkste content eerder wordt geladen dan third-party widgets en advertenties.
Heeft je website een content sectie en een sidebar sectie? Zorg dan dat de content sectie als eerst wordt geladen.
Beperk de hoeveelheid data die nodig is om een pagina weer te geven.
Zodra je HTML een goede structuur heeft om zichtbare content als eerst weer te geven, is het belangrijk dat je de data die nodig is om een pagina weer te geven beperkt.
Beperk het gebruik van afbeeldingen. Overweeg om waar mogelijk CSS te gebruiken in plaats van afbeeldingen.
Hoofdstuk 12: JavaScript in content boven de vouw die het weergeven blokkeren, verwijderen
Voordat een browser de content boven-de-vouw weer kan geven, moet het de benodigde CSS, HTML, afbeeldingen en JavaScript bestanden downloaden. Bij een niet geoptimaliseerde webpagina zal een browser de CSS en JavaScript bestanden van de footer moeten downloaden voordat het de content boven-de-vouw kan weergeven.
Waarom zou een gebruiker hierop moeten wachten, terwijl je niet eens weet of de gebruiker geïnteresseerd is in jouw footer?
De aanbeveling “JavaScript in content boven de vouw die het weergeven blokkeren, verwijderen” wordt getoond wanneer PageSpeed Insights ontdekt dat geen van de content boven de vouw op je pagina kan worden weergegeven zonder te wachten totdat een (of meerdere) JavaScript bron(nen) zijn geladen.
Om dit op te lossen kan je het volgende doen:
Net als kleine CSS bestanden kan je ook kleine JavaScript bestanden inline plaatsen. Doe dit alleen bij JavaScript bestanden die nodig zijn voor het laden van boven-de-vouw content.
Probeer blokkerende JavaScript bronnen uit te stellen. JavaScript bronnen die worden uitgesteld, worden pas gedownload als alle kritieke bestanden die nodig zijn om de boven-de-vouw content weer te geven zijn gedownload. Het uitstellen van JavaScript bestanden kan met behulp van de PageSpeed Module of met de instructies van Vary.
Probeer blokkerende JavaScript bronnen asynchroon te laden. Asynchroon laden betekent dat alle JavaScript bestanden tegelijkertijd worden geladen en ze dus niet op elkaar hoeven te wachten. JavaScript bronnen asynchroon laden kan met WP Rocket.
That’s a wrap
We hebben veel tijd en energie in deze gids gestoken en we hopen dat we je voldoende input hebben gegeven om jouw website sneller te gaan maken.
Voordat je de handen uit de mouwen gaat steken, onthoud dit:
Een score van 100/100 is niet het doel! Een score van 80 of hoger is goed genoeg.
Neem de gegeven actiepunten nooit klakkeloos over! Test ze voordat je ze doorvoert.
Ben je niet zeker van je zaak? Raadpleeg dan een specialist!
Veel succes en plezier bij het verbeteren en sneller maken van jouw website!
Vond je dit interessant?
Schrijf je in voor onze nieuwsflits en ontvang maandelijks een update met onze laatste blogs en updates!