Bunny.net CDN caching guide
BunnyWay d.o.o. · reviewed against the vendor documentation listed below
How Bunny.net caches: the CDN-Cache header, origin Cache-Control and Smart Cache, Perma-Cache, Origin Shield, request coalescing and tag purges.
Part of the Top 10 CDNs in 2026 comparison. New to the topic? Start with why cache warming matters.
Caching at a glance
- Cache status on the response
CDN-Cache(HIT,MISSorBYPASS) andCDN-PullZone; theServerheader names the PoP (BunnyCDN-<PoP>-<id>).- TTL controls
- By default Bunny caches any origin response with cacheable headers and follows
Cache-Control. Smart Cache is opt-in and restricts caching to static file extensions and MIME types; it is on by default for Pull Zones accelerated by Bunny DNS. - Purge
- Purge a whole Pull Zone, by tag (
CDN-Tagheader, up to 1024 bytes) or, through the API, by URL or prefix. The dashboard offers full and tag purges. - Tiering and origin protection
- Origin Shield routes requests through a single shield location, and Perma-Cache keeps files in geo-replicated storage.
- Edge compute
- Edge Scripting (JavaScript and TypeScript) and Magic Containers.
Strengths for caching
- Origin Shield and Request Coalescing together keep concurrent misses from reaching the origin one by one.
- Perma-Cache keeps files in storage so an evicted or purged edge refills from Bunny storage instead of the origin.
- Purge by tag.
Watch-outs
- Bunny documents that a new or just-purged zone shows a low hit rate until traffic warms the cache, usually within a day, and that files not requested for 5 to 7 days may be evicted.
- Perma-Cache hits are reported as
MISSin CDN metrics. - Bunny does not monitor the origin for changes; updates need a purge or short TTLs.
- Serving stale content is not described in the pages we reviewed.
Cache warming on Bunny.net
Bunny's documentation describes the cold start in plain terms: a brand-new or just-purged zone has a low cache hit rate until traffic warms the cache, usually within a day. Cache warming shortens that window by making the first requests yourself.
Enable Origin Shield before warming, so each PoP's misses go to one shield location rather than the origin, and keep Request Coalescing on for pages that many visitors request at once. Check CDN-Cache and the PoP in the Server header on each warming request.
curl -sI https://example.b-cdn.net/ | grep -iE '^(cdn-cache|cdn-pullzone|server)'
# server: BunnyCDN-<PoP>-<id>
# cdn-cache: MISSIf Smart Cache is on, HTML is not cached, so warming HTML pages has no effect. Check the zone's caching settings first. The Top 10 CDNs comparison shows where Bunny.net lost points.
Frequently asked questions
Does Bunny.net cache HTML?
By default Bunny caches any origin response with cacheable headers and follows Cache-Control. With Smart Cache enabled, it caches only static file types, so HTML is not cached.
How long does a new Bunny.net zone take to warm up?
Bunny says a new or just-purged zone shows a low hit rate until traffic warms the cache, usually within a day. Warming requests shorten that for the pages you request.
Related terms
Bunny.net documentation
- Bunny.net: CDN Accelerationhttps://bunny.net/docs/cdn/cdn-acceleration
- Bunny.net: PoP routinghttps://bunny.net/docs/cdn/frequently-asked-questions/pop-routing
- Bunny.net: Smart Cachehttps://bunny.net/docs/cdn/smart-cache
- Bunny.net: Perma-Cachehttps://bunny.net/docs/cdn/perma-cache
- Bunny.net: Origin Shieldhttps://bunny.net/docs/cdn/performance/origin-shield
- Bunny.net: Request Coalescinghttps://bunny.net/docs/cdn/request-coalescing
- Bunny.net: Purge cachehttps://bunny.net/docs/cdn/purge-cache
- Bunny.net: Edge Scriptinghttps://bunny.net/docs/scripting
- Bunny.net: Magic Containershttps://bunny.net/docs/magic-containers
Warm your cache after every deploy
sitewarm requests the pages in your sitemap after a deploy and reports the cache state the CDN returns for each one, with the vantage point it was measured from.