PrestaShop wijzigingen niet zichtbaar op de site? Controleer 5 lagen cache
Zijn je wijzigingen in PrestaShop niet zichtbaar, dan zit de oude versie van de pagina in een van vijf cachelagen: de browser, een CDN zoals Cloudflare, de Smarty-templates en samengevoegde CSS- en JS-bestanden, de Symfony-cache of de servercache. Controleer van dichtbij naar ver weg, want de eerste twee controleer je in een minuut zonder in te loggen in de backoffice.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van PrestaShop-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 5 min lezen
Waarom verschijnt een opgeslagen wijziging niet in de webshop?
Omdat er tussen de database en het scherm van de klant meerdere plekken zitten die kant-en-klare pagina’s en bestanden onthouden, zodat de webshop sneller werkt. Een wijziging die je in de backoffice opslaat, gaat meteen naar de database. De kant-en-klare versie van de pagina in de cache weet daar nog niets van.
Hoe dichter een wijziging bij het ontwerp zit, hoe meer lagen ervan moeten horen. Een nieuwe productbeschrijving is meestal meteen zichtbaar. Een verbetering in het CSS-bestand van het thema gaat door elke laag, dus juist die “werkt” het vaakst “niet”.
Vijf lagen: waar je de oude versie zoekt
| Laag | Wat hij onthoudt | Hoe je hem herkent | Hoe je hem leegt |
|---|---|---|---|
| 1. Browser | CSS, JS, afbeeldingen | de wijziging is zichtbaar in een privévenster | opnieuw laden zonder cache (Ctrl+F5, op een Mac Cmd+Shift+R) |
| 2. CDN, zoals Cloudflare | hele pagina’s en bestanden | nog steeds de oude versie op een telefoon met mobiele data | leeg hem in het CDN-paneel |
| 3. Smarty en CCC in PrestaShop | gecompileerde templates, samengevoegde CSS en JS | een wijziging in een .tpl- of .css-bestand is nergens zichtbaar | de knop in Geavanceerde parameters > Prestaties |
| 4. Symfony (var/cache) | configuratie, routes, delen van de backoffice | wijzigingen in module- of backoffice-instellingen werken pas laat | dezelfde knop, of de inhoud van var/cache verwijderen |
| 5. Server (OPcache, Varnish, cache van de host) | gecompileerde PHP, hele antwoorden | niets hierboven hielp | het hostingpaneel of de support van je host |
De PrestaShop-documentatie beschrijft de instellingen voor laag 3 en 4 op de pagina Prestaties: geforceerde compilatie van templates, de Smarty-cache en het samenvoegen van CSS en JS.
In welke volgorde controleer je?
- Open de pagina in een privévenster van de browser. Zie je de wijziging? Dan is het laag 1, en opnieuw laden zonder cache is genoeg.
- Open de pagina op een telefoon, zonder wifi. Nog steeds de oude versie? Staat de webshop achter een CDN? Leeg het CDN.
- Leeg de cache in de backoffice, in Geavanceerde parameters > Prestaties.
- Controleer of je het juiste bestand hebt gewijzigd: dat van het actieve thema, niet van het bovenliggende thema of een back-upkopie. Dat gebeurt vaker dan je denkt.
- Hielp niets, vraag je host dan om de cache aan de serverkant te legen.
Wanneer liegt de knop cache legen?
Als PrestaShop geen rechten heeft om de bestanden te verwijderen. De knop toont een succesmelding, maar een deel van de bestanden in de map var/cache of de map met samengevoegde CSS en JS blijft staan, omdat ze van een andere servergebruiker zijn. Dat gebeurt na een verhuizing van de webshop, na een update vanaf de opdrachtregel en na het handmatig uploaden van bestanden via FTP.
Het symptoom: je leegt hem meerdere keren, de melding is groen en de pagina is nog steeds oud. Vergelijkbare verhalen komen steeds terug op het PrestaShop-forum over CSS-bestanden (in het Pools). In deze situatie kan alleen iemand met toegang tot de server helpen, door de eigenaar en de rechten van de bestanden te herstellen. Een overzicht van andere veelvoorkomende fouten na serverwijzigingen vind je in de handleiding van Zenbox (in het Pools).
Hoe de chat helpt als wijzigingen niet zichtbaar zijn
Je chat (Claude of ChatGPT) zoekt eerst uit waar het probleem zit, en leegt pas daarna iets. In TellMyShop Free toont de technische controle van de webshop de instellingen van de Smarty-cache en het samenvoegen van bestanden, de debug mode en fouten van de afgelopen dagen. De chat kan ook een pagina van de webshop ophalen zoals een browser dat doet en controleren wat die teruggeeft: status, redirects, titel en koppen.
Jij: Ik heb de knopkleur in custom.css gewijzigd, maar de webshop toont nog de oude. Zoek uit waar het probleem zit.
Je chat: In je thema staat het samenvoegen van CSS aan, dus de webshop stuurt één samengevoegd bestand dat voor de wijziging is opgeslagen. Het bestand custom.css in het actieve thema heeft de nieuwe kleur al.
Ik stel voor de cache van templates en samengevoegde bestanden te legen. De eerste bezoeken na het legen zijn trager.
Jij: Doe maar.
Je chat: Geleegd. Bij het eerste bezoek maakt de webshop een nieuw samengevoegd bestand, met de nieuwe kleur. Zie je nog de oude, laad je browser dan opnieuw zonder cache en controleer daarna of de webshop achter een CDN staat.
Cache legen werkt in TellMyShop Pro met de schakelaar Thema aan. De cache bouwt zichzelf weer op, dus deze actie staat niet in de wijzigingsgeschiedenis en er valt niets ongedaan te maken. Een voorbeeldverzoek vind je in de use case pagina’s in de cache verversen.
Zat de wijziging in de footer, lees dan ook hoe je “Powered by PrestaShop” verwijdert, zodat de wijziging een thema-update overleeft. En zie je in plaats van de oude versie een lege pagina of een foutmelding, lees dan ons bericht over de PrestaShop 500 error.
Vragen en antwoorden
Waar zit de knop om de cache te legen in PrestaShop?
Ga in de backoffice naar Geavanceerde parameters en dan Prestaties. De knop om de cache te legen staat rechtsboven op de pagina. Hij verwijdert gecompileerde templates, de Smarty-cache en samengevoegde CSS- en JS-bestanden. De browser van de klant en de caches van de server en het CDN, die buiten PrestaShop werken, leegt hij niet.
Kan cache legen mijn webshop schaden?
Er worden geen gegevens van de webshop verwijderd. De eerste bezoeken na het legen zijn trager, omdat PrestaShop de templates en bestanden opnieuw klaarmaakt. In een grote webshop doe je het liever buiten de drukke uren. Doe het niet tijdens een productimport.
Waarom verandert er niets nadat ik de CSS heb bewerkt?
Meestal staat het samenvoegen van CSS en JS aan, waardoor de browser het oude samengevoegde bestand krijgt. Leeg de cache in de backoffice en laad de pagina daarna opnieuw zonder browsercache. Zie je nog steeds niets, controleer dan of je het bestand van het actieve thema hebt bewerkt, niet van het bovenliggende thema of een kopie.
Helpt de debug mode om wijzigingen te zien?
Hij zet een deel van de cache uit en toont fouten, dus de diagnose wordt een tijdje makkelijker. Laat hem niet aanstaan in een live webshop, want hij maakt de site trager en kan klanten technische meldingen tonen. Zet hem na het controleren uit en leeg de cache.
Kan de chat de cache legen?
Ja, in TellMyShop Pro met de schakelaar Thema aan. Je zet hem in het modulepaneel aan voor 24 uur, en hij vereist een databaseback-up van dezelfde dag. In de gratis versie TellMyShop Free controleert de chat de cache-instellingen en laat hij zien welke laag verdacht is, maar leegt hij niets.
PrestaShop is een geregistreerd handelsmerk van PrestaShop SA. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.