- What does the filament-page-cache plugin actually do?
- It adds a Page cache settings page inside your Filament admin panel that lets you watch the full-page cache hit ratio, flush the entire cache, forget one specific URL, and pause or resume caching. The caching itself is done by laravel-page-cache; this package is the admin control surface on top of it. It is an admin-panel integration, not a request-pipeline middleware, so it does not intercept requests itself.
- How do I install and register the plugin in a Filament panel?
- Install it with Composer using composer require jeffersongoncalves/filament-page-cache, then register PageCachePlugin::make() in the plugin() array of your panel provider. There is no migration or manual service provider registration involved; registering the plugin is the main step. You should also make sure laravel-page-cache is installed and configured, since that package performs the actual caching.
- Which Filament, PHP and Laravel versions does it support?
- The navigationGroup() closure signature added in 3.1.0 is a Filament v3-era API, which strongly suggests a v3 target, but the package does not publish a fully documented compatibility matrix in its overview. Check the composer.json constraints in the repository for the exact Filament major, PHP floor and Laravel range before adopting. That is the safest way to confirm it matches your application's versions.
- Do I need the laravel-page-cache package installed as well?
- Yes. This plugin only provides the Filament UI for watching and controlling the cache; the full-page caching behaviour comes from laravel-page-cache. Install and configure that package first, confirm it is caching responses, and then add this plugin to manage it from the admin panel. Treating the two as a pair avoids confusion when diagnosing cache behaviour.
- How do I move the page cache page into my own navigation group?
- Version 3.1.0 adds a navigationGroup() method that accepts a closure returning a string, for example PageCachePlugin::make()->navigationGroup(fn (): string => __('admin.navigation.settings')). Resolving the label at render time is useful for multi-locale panels and for standardising all plugin pages under one translated group. If you never call navigationGroup(), the page keeps the plugin's default translated Settings group.
- Is upgrading to 3.1.0 a breaking change for existing panels?
- No. The release is a semver-minor, additive change that only affects where the menu item renders in Filament's navigation tree and leaves the caching behaviour untouched. Existing installations that do not call navigationGroup() keep the current behaviour, so the upgrade is effectively a no-op for them. You can add navigationGroup() later as an independent change.
- How do I flush the entire cache or forget just one URL?
- Both actions live on the Page cache page inside your admin panel: a flush action clears everything, and a forget action removes a single cached URL. Forget-one-URL is the safer option when a single page has stale content and you do not want to cold-start the whole site. After either action, the hit ratio figures will reflect the new state as traffic returns.
- How does cache invalidation work when content changes, and can I exclude pages or logged-in users?
- The plugin is a control surface and does not document its own invalidation or exclusion rules; those semantics belong to laravel-page-cache. Before relying on it, review that package's configuration for automatic invalidation on model saves, exclusion patterns, and handling of authenticated or personalised responses. Full-page caching of personalised pages is the main thing to test carefully in staging.
- Can I pause and resume caching, and what happens when it is paused?
- Yes, the Page cache page includes pause and resume controls so you can temporarily stop caching without uninstalling anything. Pausing is useful during deployments, debugging, or while you fix a page that should not be cached, but expect database and render load to return to uncached levels while it is off. Remember to resume it afterwards so the performance benefit comes back.
- Are there alternatives to using this plugin?
- If you want a Filament UI specifically for laravel-page-cache, this package is the direct option. Alternatives for full-page caching in Laravel more broadly include spatie/laravel-responsecache and JosephSilber/page-cache, both of which you would manage without this admin page. You could also use laravel-page-cache on its own with artisan commands or custom tooling instead of a panel UI.