Onze servers zijn speciaal ingericht om de optimale prestaties te bieden met betrekking tot Wordpress installaties. Helaas zal het niet zo zijn dat als je een hele trage website naar ons toe verhuisd in één keer alles sneller gaat werken. We zien dat de Wordpress installatie zelf heel vaak ook voor veel vertraging kan zorgen. In dit artikel zetten we een aantal tips en tricks uiteen waar je op kan letten om je site sneller te maken. Dit zijn pure handvatten die jou of je webbouwer op weg kunnen helpen bij het optimaliseren van je site.


Dit artikel is gericht op de front-end van je website (de pagina's die niet-ingelogde gebruikers zien).


Time to first byte

We horen vaak van klanten dat ze een hoge time to first byte (TTFB) hebben. Google speed ranking artikelen suggereren dat 0,200 seconde een tijd is om naar te streven. Maar wat houdt TTFB nou precies in? TTFB heeft lang niet alles met de server te maken, sterker nog, dit is een voorbeeld van 'de zwakste schakel'. TTFB is de eerste byte van de eerste reactie die een server terug stuurt naar de gebruiker die de site benaderd. Heel globaal ziet dit er zo uit:


Begin informatie uitwisseling:

Browser -> Server : Hoi server! 

Server -> Browser : Hoi bezoeker!

Browser -> Server : Mag ik van jou de website savvii.nl zien? Hier vindt de aanvraag van de site plaats en start de TTFB

Server : Savvii.nl, hmmmm, daarvoor moet ik deze, deze en deze componenten hebben, dit is de code die ik terug moet sturen, daarnaast moet ik nog even kijken naar deze database zoekopdracht want de site verwacht hier ook resultaten van. Oké, ik heb alles bij elkaar. Ik maak er even één pakketje van en dat stuur ik op.

Server -> Browser : Maar natuurlijk, hier is de site! De eerste byte die hier terug gestuurd wordt bepaald de TTFB

Browser -> Server : Top, hij is goed doorgekomen, dank!


Zoals je ziet moet de server veel nadenken over de inhoud van de site die hij terug gaat sturen. Er zijn een aantal manieren waarop dit beïnvloed kan worden.


Caching

Caching zorgt er voor dat pagina's die opgevraagd worden als één pakket beschikbaar blijven voor de server. Op die manier hoeft de server niet meer na te denken over alle inhoud die die moet gaan serveren maar pakt hij een kant en klaar pakketje en stuurt deze op. Als je dat bij eerder genoemde uitwisseling zou doen dan zie je al dat de reactie veel sneller gaat zijn. Caching is er in vele soorten en maten. Onze servers zijn standaard uitgerust met Varnish caching maar ook Wordpress heeft veel plugins die voor caching kunnen zorgen.


Dynamische inhoud

Dit stuk houdt nauw verband met caching. Dynamische inhoud van een site, zoals informatie uit een database, kan het aanleveren van de site goed vertragen. Vooral als de vraag aan de database heel groot is en niet (goed) gecached wordt. Probeer aanvragen naar je database te beperken bij het initieel laden van een pagina en probeer de vragen (queries) zo kort mogelijk te houden.


Totale laadtijd van de site

Zodra de TTFB van de site geweest is gaat het laden verder. De browser heeft nu namelijk de code die hij moet gebruiken om de site te laten zien. Echter moeten hier nog verschillende elementen ingevuld worden:


- Afbeeldingen moeten aangeroepen en opgezocht worden

- Scripts moeten ingeladen worden

- Externe bronnen moeten ingeladen worden


Ook hierbij kan caching een rol spelen bij het aanvoeren van de statische bestanden. 


Afbeeldingen

Afbeeldingen kunnen opgeslagen worden door de browser die de site bezoekt. Maar als dit nog niet is gebeurt dan moeten de afbeeldingen eerst gedownload worden. Een site die heel veel of hele grote afbeeldingen in gaat laden kan een hoge totale laadtijd hebben. Afhankelijk van de snelheid van de internet verbinding en de totale hoeveelheid (geoptimaliseerde) afbeeldingen. 

Scripts

Als je site veel gebruik maakt van javascripts of andere soorten scripts dan worden deze na het initiële opvragen van de pagina ingeladen en uitgevoerd. Afhankelijk van het soort script en wat er uitgevoerd moet worden kan dit ook tijd toevoegen aan de complete laadtijd.

Externe bronnen

Veel sites gebruiken externe bronnen om bijvoorbeeld lettertypes of analyse scripts aan te roepen. Nu kan je je misschien voorstellen dat dit een geheel nieuw traject opzet omdat er verbinding moet worden gelegd met een andere server (die snel / traag / corrupt is). Afhankelijk van - onder andere - de grootte van het script, de acties die het script aan roept en de status van de server waar het script vandaan komt voegt dit ook laadtijd toe.