See why it cleared
A plain-English log: what was saved, how many pages cleared, and which ones.

Speedy Cache saves your Craft pages as static files and clears only the ones that change. No database tables, no template changes, and Cloudflare and CloudFront built in. Save something below and see what clears.
In the control panel
Your site’s cached pages
Choose a change on the left.
Our store locator page, measured on our test site. Your times will vary; the gap won’t.

A plain-English log: what was saved, how many pages cleared, and which ones.

Pages and what they depend on are files. Speedy adds no tables, so backups and deploys stay quick.
web/speedy/
example.com/news/index.html
storage/speedy/
meta/example.com/news.json
tags/3f/3f2a…e9.txt
log.jsonlCached pages get a fresh CSRF token as they load. No template changes, no “Bad request” on submit.
{# Your template, unchanged #}
<form method="post">
{{ csrfInput() }}
…
</form>Logged-in visitors, carts, pages that set cookies and pages with query strings are never cached.
X-Speedy: HIT
X-Speedy: SKIP logged in
X-Speedy: SKIP cart
X-Speedy: SKIP query string
X-Speedy: STATICDrafts and autosaves are ignored. Imports of thousands of entries make one clear, not thousands.
$ php craft resave/entries --section=news
Done resaving entries.
→ 1 clear job queuedOn, and URLs to never cache. CDN keys if you have one. Everything else has a sensible default.

Your site is behind CloudFront
3 paths sent, not 38 · 214 of 1,000 free paths used this month
Speedy spots your CDN from its headers. Add a token and the CDN keeps your pages too, at the edge, close to visitors. When content changes, Speedy clears it there as well.

For more than a century, Prague’s pneumatic post sent letters through tubes under the city. Nobody walked them across town: they were sealed, sent and there. A cached page works the same way. It’s built once, ahead of time, and goes straight out to every visitor without Craft lifting a finger.


Install it.
composer require suprim/speedy
php craft plugin/install speedyPages are cached from the next visit. That’s it for most sites.
Add the server rules, if you can.
php craft speedy/server-rulesOptional. Pages are already cached. Paste the rules into Nginx or Apache and cached pages skip PHP too: 1 ms instead of 30.
Add your CDN, if you have one.
A Cloudflare token or CloudFront key in Settings → Plugins → Speedy Cache.
composer require suprim/speedyInstallation guide →