Met caching kun je je website een stuk sneller maken. En het mooie is dat Joomla standaard een systeem hiervoor aan boord heeft. Maar wat is nu precies caching en hoe werkt het?
Wat is caching?
Wanneer je een systeem als Joomla gebruikt, dan bestaat je website voor het grootste deel uit php scripts. De content van je website bevindt zich in een database.
Wanneer nu een bezoeker je website opent, dan wordt er een verbinding gemaakt met de webserver waarop je website staat. Op de webserver worden de benodigde php scripts uitgevoerd. Deze scripts doen een aantal zaken, ze zorgen er onder andere voor dat de juiste data uit de database wordt gehaald (of in de database wordt gezet). Wanneer de php scripts hun werk hebben gedaan, dan wordt van alle verzamelde data HTML code gegenereerd. Deze HTML code wordt naar de bezoeker gestuurd, waar de browser dit kan laten zien als jouw website.
Je kunt je voorstellen dat het verwerken van de php scripts door de server, het bevragen van de database en het genereren van de HTML code steeds wat tijd in beslag neemt. Deze tijd is van invloed op de laadtijd (dus de snelheid) van je website.
Hier kan caching een verbetering betekenen. In de onderstaande video zie je wat caching precies inhoudt:
Zoals je in de bovenstaande video zag, zorgt caching er dus voor dat de gegenereerde HTML code in een cache bestand wordt opgeslagen. Wanneer iemand anders nu een pagina bezoekt waarvan de HTML code in de cache is opgeslagen, dan krijgt deze bezoeker meteen deze gecachte HTML code toegestuurd.
Dit gaat uiteraard een stuk sneller dan wanneer de php scripts moeten worden verwerkt op de webserver, de database moet worden bevraagd en de verwerking van dit alles tot HTML code nog moet gebeuren.
Caching kan dus echt voor een sneller laadtijd van je website zorgen.
Caching in Joomla
Joomla bevat standaard een caching systeem. Je kunt caching aanzetten in Joomla in de algemene instellingen op de tab systeem.
Wanneer je caching aanzet, dan kun je kiezen voor conservatief en progressief cachen. Grofweg is het verschil tussen beide dat je bij conservatief cachen nog per module kunt aangeven of deze wel of niet gecached moet worden. Heb je bijvoorbeeld modules met dynamische content, dan wil je misschien niet dat deze gecached worden. Je kunt in deze modules dit dan uitzetten.
Bij progressief cachen wordt er een cache bestand van de gehele pagina gemaakt. Dus van alle content en modules. Dit betekent dus dat je bij deze vorm van cachen modules niet kunt uitsluiten van caching.
In plaats van het aanzetten van de cache in de algemene instellingen, zou je ook nog de paginacache systeem plugin kunnen activeren. Deze zorgt voor een cache systeem op URL niveau
In de onderstaande video zie je hoe je caching aanzet in Joomla:
Browser caching
Het cachen waar het in dit artikel over gaat, speelt zich allemaal af op de webserver. Je kunt echter in het cache systeem van Joomla ook browser caching aanzetten.
Met browser caching geef je de browser van je bezoekers instructies om bepaalde statische zaken (afbeeldingen, scripts etc) lokaal op te slaan. De volgende keer als je bezoeker jouw website weer opent, dan hoeven deze zaken niet vanaf jouw site (dus via het internet) gedownload te worden, maar kan de browser ze meteen van de eigen harde schijf halen. Ook dit zorgt voor een veel snellere ervaring voor je bezoekers.
Zelf zou ik echter browser caching niet aanzetten via het cache systeem van Joomla maar zou ik het doen via een .htaccess bestand.
Je kunt hierover meer vinden op mijn blog artikel over browser caching.
Steeds maar de cache opschonen
Wanneer caching aanstaat op je Joomla website en je maakt een wijziging op je website, dan moet je steeds wachten tot het betreffende cache bestand is verlopen, voordat je je wijzigingen ziet op de frontend van je website.
Of je moet na elke wijziging handmatig de cache opschonen via systeem - wis cache. Dit kan op den duur best vervelend worden als je dit steeds moet doen (zeker als je veel wijzigingen aanbrengt op je website).
Een heel handig hulpmiddel hierbij is de Cache Cleaner plugin van RegularLabs. Met deze plugin kun je met één klik de cache opschonen. En het mooie is, de pagina hoeft daarvoor niet opnieuw te worden geladen. Je kunt dus gewoon in het scherm waarin je aan het werkt bent de cache legen, de pagina blijft gewoon geopend.
In de onderstaande video zie je de Cache Cleaner plugin aan het werk:
Je kunt de cache cleaner plugin via deze link downloaden.
Jotcache, geavanceerde caching
Voor de meeste Joomla gebruikers voldoet het standaard cache systeem prima. Zoek je echter naar meer geavanceerde cache mogelijkheden, dan moet je zeker eens naar de Jotcache extensie kijken.
Deze extensie biedt je een stuk meer mogelijkheden tav caching. Zo kun je heel gericht pagina's uitsluiten van caching, je kunt voor specifieke pagina's de cache levensduur verhogen of verlagen en je kunt voor verschillende apparaat groepen de cache modus instellen.
Als je gebruik maakt van de Jotcache extensie, dan moet je de Joomla paginacache systeem plugin uitzetten. Jotcache heeft zijn eigen plugin en die moet je dan dus aanzetten.
In de onderstaande video laat ik je een aantal cache mogelijkheden zien van de Jotcache extensie:
Je kunt de Jotcache extensie via deze link downloaden.
Samengevat
Met caching kun je de laadtijd van je website verbeteren. Door caching hoeft er voor je bezoekers niet elke keer een heel traject van acties plaats te vinden (het verwerken van de php scripts, het halen van data uit de database en het genereren van dit alles tot HTML) maar kunnen website pagina's snel vanuit de cache geleverd worden.
Joomla heeft standaard een caching systeem aan boord wat voor de meeste gebruikers prima werkt.
Met de Cache Cleaner plugin kun je snel en eenvoudig de cache legen, zodat je meteen op de frontend van je website je wijzigingen kunt zien.
Ben je op zoek naar meer geavanceerde cache opties, kijk dan zeker eens naar de Jotcache extensie.
Mocht je zelf nog tips of aanvullingen hebben over dit onderwerp, laat dan vooral hieronder een reactie achter!