silber/page-cache
Silber/page-cache gives Laravel apps fast full-page caching by saving rendered responses as static HTML files that the web server serves before the framework boots. Includes cache tags, automatic invalidation, middleware support, and configurable storage for dramatically faster page loads.
Consider it when:
Look elsewhere when:
spatie/laravel-responsecache) or HTTP-level caching is a better fit than a file-based page cache.0 dependents figure reads as understated relative to the package's real-world footprint; validate adoption empirically rather than trusting that metric.For executives (one paragraph): We can cut server response time on our public, non-logged-in pages by serving pre-rendered HTML directly from disk, before PHP even starts. It's an MIT-licensed Laravel package with no new infrastructure, no vendor contract, and a small integration surface — a low-risk, low-cost performance win that improves Core Web Vitals and SEO and can defer a hosting upgrade. The current release (v1.1.2) adds Laravel 13 support, so adopting it won't lock us out of our next framework upgrade. It is explicitly not for logged-in or personalized pages, and it requires a small web server configuration change plus a disciplined cache-invalidation story, both of which we control.
For engineering (the honest version): Middleware writes response bodies to disk and serves them on subsequent requests; Eloquent model events handle invalidation, with TTL as a backstop. Full benefit requires nginx/Apache to serve the cache directory directly via try_files/rewrite; otherwise Laravel serves the file and you still skip rendering but lose the early-exit. Main risks are (1) per-node cache divergence in multi-server deploys, (2) invalidation correctness for any page that varies by user or session, and (3) cache poisoning if cache keys don't account for all relevant request variance. Mitigations are straightforward — restrict caching to a known-anonymous route allowlist, key on full URL plus relevant query params, and start with a short TTL. Rollout is reversible by removing the middleware. v1.1.2 confirms Laravel 13 compatibility, so this is safe to introduce alongside an upcoming framework bump — but treat the release as a compatibility signal, not a guarantee of long-term maintenance; pin the version and watch the repo through at least one upgrade cycle before making it load-bearing.
How can I help you explore Laravel packages today?