vormkracht10/laravel-static
A Laravel package for generating and serving static HTML versions of your routes. Cache pages as flat files to reduce server load, speed up responses, and deploy static content while preserving your existing Laravel routing and Blade views.
?utm_source=… and ?fbclid=… becomes its own permanent file) is the main operational objection to full-page static caching. static:status converts that objection into a measurement: 35% of cached pages being query-string variants of 11 distinct URLs is a concrete number a PM can act on rather than a theoretical risk.static:clear --only-with-query-strings, or to argue for a scheduled job that does it.utm_source/fbclid tops the parameter table, the real fix is not pruning but normalizing or rejecting tracking parameters before they reach the cache key. This data tells you whether that work is worth a sprint.--json plus --disk= means disk-usage alerts can be wired into existing monitoring, turning an ad-hoc "the server filled up" incident into a threshold with an owner.du-and-parse script is cheap to write but couples you to the package's on-disk layout and breaks on upgrade. Given this release, buying the package also buys the diagnostic.Adopt when:
laravel-static for a mostly-GET, publicly cacheable Laravel site and need production-grade observability before you commit.--json is explicitly intended for disk-usage alerts.Look elsewhere or down-scope when:
static:clear.For executives: our page cache grows forever — nothing is ever removed except by a full clear — and the usual cause is not the pages but their variants, so a single newsletter link can leave a file on disk indefinitely. This release adds one command that shows exactly where the space went and what to do about it, and can feed a disk alert automatically. It is a capacity-risk reduction, not new infrastructure: no schema change, no migration, no new service to run or pay for.
For engineering: additive release, no breaking changes to the caching behaviour. php artisan static:status is read-only and reports query-string vs non-query-string storage, cumulative directory sizes with pass-through levels collapsed, top URLs by variant count and most common query parameters, per-host and per-file-type breakdowns, age distribution, largest files, and the governing config values. --disk= and --limit= scope the walk, --json gives machine-readable output. Compressed siblings count toward size but not page count, so enabling gzip never looks like cache growth, and memory scales with distinct URL paths rather than files so it stays usable on the multi-million-file caches it is meant to diagnose. Limitation to note in the runbook: local disks only.
How can I help you explore Laravel packages today?