Skip to main content
sitewarm
Rank 8 of 10 on caching criteria

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, MISS or BYPASS) and CDN-PullZone; the Server header 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-Tag header, 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 MISS in 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: MISS

If 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.

Bunny.net documentation

  1. Bunny.net: CDN Accelerationhttps://bunny.net/docs/cdn/cdn-acceleration
  2. Bunny.net: PoP routinghttps://bunny.net/docs/cdn/frequently-asked-questions/pop-routing
  3. Bunny.net: Smart Cachehttps://bunny.net/docs/cdn/smart-cache
  4. Bunny.net: Perma-Cachehttps://bunny.net/docs/cdn/perma-cache
  5. Bunny.net: Origin Shieldhttps://bunny.net/docs/cdn/performance/origin-shield
  6. Bunny.net: Request Coalescinghttps://bunny.net/docs/cdn/request-coalescing
  7. Bunny.net: Purge cachehttps://bunny.net/docs/cdn/purge-cache
  8. Bunny.net: Edge Scriptinghttps://bunny.net/docs/scripting
  9. 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.