Twig Caching, Collection Filtering, and Plugin Conflicts Causing Issues on My Texas Roadhouse Menu Website

I’m running into several Grav-related issues that are starting to disrupt development on my Texas Roadhouse menu website, and I’m hoping someone here might recognize these symptoms. The site uses Grav 1.7 with a custom theme, modular pages for menu categories, and a fairly large amount of structured FrontMatter data for each menu item. Everything worked smoothly for months, but recently I’ve noticed that Twig template changes are not consistently appearing even after clearing cache from the admin panel and via CLI. Sometimes the changes load instantly, but other times Grav keeps serving stale fragments until I manually delete the /cache and /twig folders. I’m unsure whether this is related to OPcache, Grav’s internal cache, or something misconfigured in my system.yaml.

Another problem involves page collections and filtering. For my Texas Roadhouse menu categories, I use collections that filter menu items by taxonomy (like “steaks,” “sides,” “drinks,” etc.). Lately, the filtering has become unreliable. Some items appear in the wrong categories, and occasionally entire sections load empty even though the FrontMatter is correct. When I dump the collection in Twig, the data appears inconsistent between refreshes. I’m not sure if this is due to caching, an indexing issue, or a conflict between taxonomy definitions and modular page structures.

I’ve also been struggling with image processing. Grav’s built-in media pipeline is usually great, but my menu images which are fairly large—sometimes fail to generate resized versions. Instead, the page displays the original full-size image or, worse, a broken placeholder. Looking at the logs, I occasionally see errors related to ImageMagick or GD depending on which processor is active. The issue only started recently, so I’m not sure if a plugin update caused it or if my server configuration changed without me noticing. For a food-focused site, unreliable image resizing is a big problem.

Another odd issue I’ve noticed is that markdown content inside modular pages doesn’t always update properly. When editing descriptions for menu items or adjusting nutritional information, the updates sometimes don’t show on the front end until I resave the parent modular page. This makes me think something in the modular page hierarchy or caching layer is not refreshing child modules properly. I’ve checked all YAML files and blueprint structures, and nothing appears malformed.

I’m also experiencing plugin conflicts specifically with the Pagination and TaxonomyList plugins. When both are enabled, my menu category pages occasionally throw errors like “call to member function… on null” or fail to render pagination controls entirely. Disabling either plugin makes the pages render correctly, but I need both for the layout I’m building. I’ve checked plugin versions, updated everything, and tested with default themes, but the behavior is inconsistent across page structures.

Overall, I’m trying to determine whether these issues stem from caching misconfigurations, taxonomy inconsistencies, plugin conflicts, or something deeper in Grav’s modular architecture. I’ve already cleared caches, disabled OPcache temporarily, rebuilt the site from a fresh install, and even tested on a staging server with the same results. If anyone has dealt with unreliable Twig caching, inconsistent taxonomy filtering, or image-processing failures, I’d really appreciate some guidance. The Texas Roadhouse menu website depends on these dynamic features, and I’m trying to get Grav back to its usual stable and predictable state. Sorry for long post!

Hello,
here is what i would think:
cache problem > is CDN from server active?
filtering problem > is it done by javascript? if so first check that.
Image processing problem > consider compress images before uploading
markdown update is not done properly > again is CDN from server active?
pagination and taxonomy plugins > i would just dont use those and do that work with flex

Good call on the CDN angle. I do have a server-level cache/CDN in front of the site, so I’ll double-check how aggressively it’s caching dynamic pages and whether it’s interfering with Grav’s own cache invalidation. That could definitely explain why Twig and markdown updates sometimes lag behind until I manually clear folders.

The filtering is handled server-side via Grav collections, not JavaScript, but your comment still helps narrow things down — it reinforces that I should focus more on caching and indexing rather than front-end logic. I’ll also revisit my image pipeline and make sure the originals are better optimized before upload to reduce processing stress.

As for Pagination and TaxonomyList, I hadn’t seriously considered replacing them with Flex Objects yet, but that’s a good suggestion. If Flex gives me more predictable behavior and fewer conflicts, it may be worth refactoring that part of the site.

i think cdn is good for you actually. i guess your page is something like qr menu, if so i also started a new project for qr menu recently after a long development. since qr menu would not need frequent updates i enabled cdn for it too. though idk much about real field problems yet so im not sure about that…
btw if filtering is done by twig, that means it needs server side rendering, right? if so cdn or static page or cache plugins may stop that filtering i guess.
im waiting for results.