Code snippets Easy Digital Downloads Plugins Snelheids optimalisatie Woocommerce

Bepaalde post types niet cachen in WP Rocket

Om een site snel te krijgen gebruik ik vaak WP Rocket: volgens mij een van de snelste caching plugins voor WordPress. Als een pagina gecached wordt, wordt deze eigenlijk opgeslagen in een aparte folder. De website hoeft deze pagina dan niet meer op te bouwen uit de php code: er is een kant en klaar html bestand gereed. Dit werkt veel sneller dan wanneer de server nog helemaal de code moet doorlopen (e.e.a. is natuurlijk ook afhankelijk van je server snelheid).

In sommige gevallen is het niet handig om elke pagina keihard uit de cache aan te leveren: bijvoorbeeld als je een webshop hebt waar er soms een product in het winkelmandje staat, en soms niet. Je kan natuurlijk de cache voor die pagina’s helemaal uitzetten, maar dan zijn bijvoorbeeld de javascript en css bestanden ook niet meer geminimaliseerd. Het gevolg is dat alle javascript files etc op dat moment ook weer opnieuw geladen worden door de gebruiker. Dat is natuurlijk jammer. Wat ik graag wou is dat de minify features wel behouden bleven, maar dat de pagina niet in de page cache terecht zou komen.

Bij Easy Digital Downloads kwam ik dit probleem tegen. Ook al worden de afrekenpagina’s etc. standaard niet gecached, het winkelmandje in de zijbalk van een product werd dat wel. Om dit te voorkomen heb ik even contact gehad met de support afdeling van WP Rocket. Uiteindelijk zijn we tot de volgende oplossing gekomen, waarin de page cache niet wordt gebruikt als het post_type ‘download’ in gebruik is. Je kan dit natuurlijk voor elke post type gebruiken. In WooCommerce zou je dit kunnen toepassen op post type ‘product’.

/* 

  don't create page cache on downloads pages. 

*/

add_action('wp', 'rsssl_wprocket_no_page_cache');

function rsssl_wprocket_no_page_cache(){
  global $post;

  if ($post && ( get_post_type($post)=='download' ) ) {

     add_filter('do_rocket_generate_caching_files','__return_false');

  }

}

Related Articles

  • Dynamisch de alt en title van een afbeelding aanpassen

    Alt en title vaak niet ingevuld Als je automatisch afbeeldingen importeert, je hebt website redacteuren die de alt tags niet invullen, of je neemt een site in beheer waar dat...
  • SSL installeren op een WordPress website

    Voor je begint, maak altijd een backup! Om je WordPress website op https te krijgen kan je Really Simple SSL installeren. Dan werkt het met 1 klik (disclaimer: deze plugin...
  • Emails sturen in WordPress

    Voor een eenvoudig contactformulier kan ja het beste een plugin gebruiken. Contact form 7 bijvoorbeeld. Maar soms wil je wat meer maatwerk: een met een cronjob gegenereerde email (bijvoorbeeld elke...
  • Een WordPress website beveiligen

    WordPress is enorm populair, en niet alleen onder doorgewinterde ontwikkelaars. Juist doordat het zo eenvoudig op te zetten en uit te breiden is zijn er ook veel doe het zelvers...

Laat een reactie achter