Getting Started

Up and running
in under 5 minutes.

Six steps from install to edge-cached HTML. No Nahnu account. No complex configuration. Just your Bunny API key and a pull zone.

Before you begin
A Bunny.net account -- your WordPress site must be proxied through a Bunny pull zone, not just using Bunny as a CDN for assets only
Your Bunny API key -- found in the Bunny dashboard under Account, then API. This is your account-level key, not a pull zone token
A cache plugin installed -- WP Bunny Connector handles the Bunny edge layer. You still need a WordPress cache plugin for server-side caching and purge events
01
Step 1
Install and activate the plugin

Install WP Bunny Connector directly from your WordPress dashboard or from WordPress.org. Search for WP Bunny Connector or Nahnu Cache Connector in the plugin search.

Once activated, a new WP Bunny Connector menu item appears in your WordPress admin sidebar under Settings.

WordPress 7.0+ required. The plugin is tested up to WordPress 7.0 and requires PHP 7.4 or higher.
No conflict with your cache plugin. This plugin handles the Bunny edge layer only. Keep your existing cache plugin active.
WP Bunny Connector
By Nahnu Plugins · Free · GPL-2.0+
Slug: nahnu-cache-connector-bunny-net
Download Free on WordPress.org
Or search nahnu-cache-connector-bunny-net in WP Admin, Plugins, Add New
02
Step 2
Add your Bunny API key

The plugin needs your Bunny account-level API key to communicate with the Bunny API; fetching your pull zones and DNS zones, deploying edge rules, and sending purge requests. You have two ways to provide it.

wp-config.php constant Recommended

Define the constant in your wp-config.php file. The key is never stored in the WordPress database and never exported with your site. Best for production environments.

wp-config.php
// Add before "That's all, stop editing!" line define( 'WPBC_API_KEY', 'your-bunny-api-key-here' );
When this constant is defined, the Settings UI field is locked and shows the key is set via config.
Settings UI

Enter the key directly in the plugin settings screen. Stored in the WordPress database as an encrypted value. Suitable for managed hosts where wp-config.php access is limited.

Settings, General
Bunny API Key
Save
03
Step 3
Connect your pull zone and DNS zone

Once the API key is saved, the plugin fetches your Bunny account's pull zones and DNS zones automatically. Select the pull zone that is proxying your WordPress site, and optionally select your DNS zone if you want DNS stats in the dashboard.

The plugin stores the pull zone ID, not the zone name, so changes to your zone name in Bunny don't break the connection.

Pull zone must be in proxy mode. The plugin deploys edge rules that only fire when Bunny is acting as a reverse proxy for your domain, not just as a CDN for static assets.
Settings, Connection
Pull Zone Required
Select the pull zone that is proxying your WordPress domain. The plugin will deploy edge rules to this zone.
DNS Zone Optional
Used for DNS analytics in the live stats dashboard. Not required for edge caching to work.
Connection status
Connected, Pull zone verified
04
Step 4
Configure settings before deploying

The plugin has five settings panels. Most have sensible defaults, but review these before your first deploy. Changes to purge triggers and WAF role bypass take effect immediately. Cache-Control mode and rule-related settings apply on the next deploy.

Purge triggers
Post publish and update
Purge on post/page save, classic editor and REST-based editors (Gutenberg, Bricks Builder)
Plugin and theme updates
Purge on plugin/theme/core updates, theme switch, plugin activate/deactivate
Admin bar purge button Optional
Adds a Purge Bunny button to the WordPress admin bar
Enable debug logging Optional
Log API errors to PHP error_log (requires WP_DEBUG_LOG). Successful purges are not logged.
Cache-Control mode Review this
Controls how Bunny interprets the Cache-Control headers your server sends. Applied to the Pull Zone on next Deploy.
Respect origin headers
Bunny obeys the Cache-Control header your server sends. Use this if your cache plugin sends a public, cacheable header.
Force cache (override origin headers) Active
Bunny ignores the origin Cache-Control header and caches for the TTL set in Edge Rules. Use this if your origin sends no-cache or no-store.
Changes take effect on next Save and deploy in the Edge Rules tab.
Cache warmer
Enable cache warmer
After every full purge, crawls your sitemap via WP-Cron to pre-populate the CDN edge. Detects Yoast, Rank Math, AIOSEO, SEOPress, SlimSEO, The SEO Framework, and WP core sitemap automatically.
Batch size
URLs per WP cron batch (1 to 50)
Delay between batches
Seconds between each batch run (5 to 300)
05
Step 5
Deploy the edge rules

Go to WP Bunny Connector, Edge Rules and click the Deploy Rules button. The plugin sends all enabled rules to your Bunny pull zone via the API. The full deploy takes around 10 to 20 seconds.

The deploy log shows exactly what happened, which rules were created, updated, or skipped. Rules for plugins not detected on your site are skipped automatically.

Safe to redeploy anytime. Every rule is tracked by its Bunny GUID. Redeploying updates rules in place, no duplicates, no orphaned rules.

Your existing pull zone rules are untouched. The plugin only manages rules it created. Any custom rules you've added in the Bunny dashboard remain unchanged.
WP Bunny Connector, Edge Rules
Deploy Rules
Rule 01: Force SSL created (GUID: a1b2c3d4)
Rule 02: WAF bypass: wp-admin created
Rule 04: Bypass: logged-in users created
Rule 11: Cache HTML: anonymous visitors created
WooCommerce detected: deploying ecommerce rules 13 to 22
Rules 13 to 22: WooCommerce bypass rules created
-Rules 44 to 52: No LMS plugin detected, skipped
Rules 59 to 66: Static file caching created
Rules 67 to 70: Security headers created
Deploy complete: 58 rules active on pull zone mysite-proxy
58
Created
16
Skipped
0
Errors
0
Duplicates
06
Step 6
Verify edge caching is working

After deploying, confirm edge caching is active using any of these three methods. The most reliable is the response header check, it shows exactly what Bunny's edge did with the request.

Check response headers

Open browser DevTools, Network tab. Load a public page, click the document request, and look for the CDN-Cache-Control and X-Cache headers from Bunny.

CDN-Cache-Control:max-age=86400 X-Cache:HIT Age:3842 Server:BunnyCDN-DE1-855
HIT = served from edge. MISS = origin was fetched (first request, or cache was purged).
Check live stats

Go to WP Bunny Connector, Stats. After a few minutes of traffic, the cache hit rate will appear. A freshly deployed site may start at 0% and climb as the edge warms up.

Cache hit rate:94.3% Total requests:12,483 Origin requests:714 Bandwidth saved:94.3% from edge
Stats update every few minutes. A hit rate above 85% is healthy for most WordPress sites.
Measure TTFB

Use WebPageTest, GTmetrix, or browser DevTools to measure time to first byte on a public page. On a cache HIT, TTFB from a nearby Bunny PoP should be well under 100ms.

// Before -- origin serving HTML TTFB:743ms // After -- Bunny edge cache HIT TTFB:38ms
First visit to a cold page will still show origin TTFB. Test the same URL twice -- second request should be a HIT.
FAQ

Common questions

Things people ask after installing.

Not usually. Edge rules are deployed once and stay active until you change them. You should redeploy if you install or remove a plugin that has an integration, for example, adding WooCommerce to a site that didn't have it before, or switching from one membership plugin to another.
No. The plugin tracks every rule it created by its Bunny GUID. On redeploy it only touches those rules, updating them in place. Any custom rules you've added manually in the Bunny dashboard are completely untouched.
The edge rules remain active in your Bunny pull zone, deactivating the plugin does not remove them. Purge sync stops working, but the deployed rules stay in place. To remove the rules entirely, use the Remove Rules button in the Edge Rules tab before deactivating.
First check whether most of your traffic is from logged-in users, if so, a lower hit rate is expected and correct. If traffic is mostly anonymous, check the X-Cache response header on a few pages. A persistent MISS usually means a bypass rule is matching incorrectly, or a cookie is being set on responses that shouldn't have one.
Yes, with a caveat. Edge HTML caching will work, anonymous visitors will be served from Bunny's edge. But the purge sync feature relies on your cache plugin's purge hooks to know when content has changed. Without a cache plugin, you'll need to manually trigger purges from the Purge tab when you publish or update content.
No. WP Bunny Connector is an independent third-party plugin developed by Nahnu Plugins. It uses Bunny's public API. It is not affiliated with, endorsed by, or officially supported by Bunny.net.

The edge cache your
Bunny setup is missing.

Free. One click to deploy 74 edge rules. Works with 15 cache plugins. No account, no configuration files.

active installs  •  Tested with WordPress 7.0  •  v1.0.0

This website uses cookies to enhance your browsing experience and ensure the site functions properly. By continuing to use this site, you acknowledge and accept our use of cookies.

Accept All Accept Required Only