24-08-2021 - In deel 3 van deze 3-delige artikelreeks helpen we om webpagina's te optimaliseren via serverinstellingen. Of je nu een website, een e-shop of een online toepassing hebt, de snelheid ervan is een belangrijke factor in de gebruikservaring en het succes.
Een snelle website zorgt voor gelukkige lezers, klanten en gebruikers. Waar tot enkele jaren geleden de vuistregel was dat een webpagina binnen 3 seconden moest laden, zijn internetgebruikers intussen een stuk veeleisender geworden. En dat is direct ook zichtbaar in de resultaten van een webshop: iedere halve seconde dat een webpagina sneller inlaadt zorgt voor significant meer sales en meer tevreden bezoekers.
Een bijkomende reden om kritisch naar de laadsnelheid te kijken is de update die Google van zijn zoekmachine uitrolt sinds mei van dit jaar: de Page Experience Update. Die aanpassing draait vooral rond de snelheid en gebruikservaring : de core web vitals. Websites die goed scoren op die parameters zullen extra beloond worden met een goede positie in de zoekresultaten. Daarnaast wordt in de update van het zoekalgoritme ook meer aandacht gegeven aan mobiele websites, veilige websites en websites met https. Websites met opdringerige advertenties worden afgestraft.
In dit derde artikel gaan we verder in op de optmalisatie van de configuratie van de webserver.
Een webserver stuurt bestanden door naar een browser over het http-protocol. Om de laadsnelheid te verbeteren en bandbreedte te besparen kunnen die bestanden gecomprimeerd worden. Zo goed als alle browsers ondersteunen de gzip-compressie methode. Een andere veel gebruikte compressiemethode is Brotli.
Van tekstgebaseerde bestanden als HTML, CSS en Javascript kan je gemakkelijk de grootte reduren met 50 tot 80%. Afbeeldingen worden vaak al vooraf gecomprimeerd in een grafisch programma en daarom heeft het comprimeren op de webserver weinig effect.
Je kan controleren of er al compressie actief is via deze online tool:
https://www.giftofspeed.com/gzip-test/
In de webserver configuratie kan deze code toegevoegd worden :
Na het aanpassen van het apache configuratiebestand, is het nodig op apache te herstarten om de compressie te activeren.
Als je zelf geen toegang hebt tot de configuratiebestanden van apache, dan kan je ook via het .htaccess bestand de compressive toevoegen met deze code :
Maak een nieuw configuratiebestand compression.conf aan in de conf.d folder van nginx. Die folder kan je vinden onder /etc/nginx/.
Bewaar het bestand en laad de nieuwe configuratie in:
HTTP/2 is de opvolger van het HTTP protocol. Het nieuwe protocol laat toe om over dezelfde verbinding meerdere bestanden door te sturen. Hierdoor moet er niet iedere keer een nieuwe verbinding opgezet worden en is de overhead een stuk lager en dus de laadtijd sneller. Alle browsers ondersteunen HTTP/2.
Controleer hier of je website HTTP/2 ondersteunt:
https://www.ipvoid.com/http2-test/
Intussen is ook de opvolger, HTTP/3, al in moderne browsers in gebruik, maar nog in een experimentele fase.
Tip: HTTP/2 is actief op alle shared hostingpakketten die een SSL-certificaat hebben en wordt standaard geactiveerd op cloud servers.
Meer dan 75% van de websites op het internet gebruikt PHP als technologie. De werking van PHP heeft een belangrijke impact op de performantie van websites. Niet alleen welke code je schrijft, maar ook de instellingen van PHP zelf hebben een grote invloed op de performantie.
Er zijn 3 belangrijke aspecten bij het gebruik van PHP:
Bij e-shops en websites die gebouwd worden met een contentmanagementsysteem als WordPress, Joomla of Drupal worden de webpagina’s opgebouwd met gegevens die opgeslagen zijn in een databank. Iedere keer een bezoeker op de website komt wordt de pagina opnieuw samengesteld. Bij een toenemend aantal bezoekers gaat de performantie achteruit en is er meer processorkracht en geheugen in de webserver nodig.
Varnish is software die voor de webserver zit. Als een webpagina wordt opgevraagd dan zal Varnish de pagina eerst ophalen op de webserver en daarna bijhouden in het geheugen. Iedere volgende bezoeker zal dan de pagina supersnel aangeleverd krijgen uit het geheugen van Varnish. Er zijn (bijna) geen systeem resources nodig om de pagina te tonen waardoor Varnish een groot aantal gelijktijdige gebruikers aankan.
Sommige pagina’s mogen niet in cache worden opgeslagen. Denk maar aan het winkelkarretje van een ecommerce website of gepersonaliseerde content. Dat kan je instellen door middel van VCL, een programmeertaal waarmee je het gedrag van Varnish kan beïnvloeden.
Tip: Bij Cloudstar is Varnish standard inbegrepen bij ieder shared hostingpakket. Varnish is standaard ingesteld voor het gebruik met Wordpress, Joomla en Drupal, maar je kan ook zelf een een gepersonaliseerd VCL-script instellen voor andere toepassingen of maatwerk. Ook bij een cloud server kunnen we Varnish installeren en instellen.
Varnsh biedt een oplossing om volledige webpagina’s tijdelijk op te slaan. Voor pagina’s die gepersonaliseerde content bevatten is dat niet mogelijk. Redis kan daar een oplossing bieden. Het is een databanksysteem dat eenvoudige informatie opslaat in het RAM-geheugen van de server. Het kan gebruikt worden op tussentijdse informatie op te slaan die later op meer plaatsen kan hergebruikt worden. Voorbeeld zijn tellers voor voorraadinformatie voor een webwinkel, cart informatie of content blokken die op verschillende plaatsen terugkomen.
Net zoals bij Varnish zijn snelheid en schaalbaarheid de belangrijkste voordelen van het gebruik van Redis.
De meeste contentmanagementsystemen en e-commerce pakketten hebben plug-ins of modules om de voordelen van Redis te kunnen gebruiken. PHP heeft ook modules waarmee je gemakkelijk redis vanuit custom php scripts kan aanspreken.
Tip: Alle linux shared hostingpakketten bij Cloudstar hebben standaard Redis inclusief.
Cache warming is wanneer de cache van een website gevuld wordt, zodat echte bezoekers altijd de gecachte versie van een webpagina te zien krijgen. De voordelen zijn dat bezoekers veel sneller webpagina’s kunnen bekijken en dat de load op de webserver(s) kan gespreid worden als er grote groepen van gebruikers worden verwacht.
Er zijn gespecialiseerde diensten als cache-warmer.com. Wordpress, Drupal and Magento hebben plugins of extensies die cache warming functies hebben.
Nog meer tips, afgestemd op jouw website? Contacteer ons. Onze experts staan je graag bij met raad en daad.