Page Cache
What it does
Page Cache stores anonymous HTML so logged-out visitors get a fast response before WordPress fully rebuilds the page. Nitro’s cache is Theme Builder–aware and understands many Divi Engine plugins.
A successful cache hit can send an X-Nitro-Cache response header (useful in Page Cache troubleshooting).
If LiteSpeed Cache, WP Rocket, WP-Optimize, or another HTML cache is active, leave Nitro Page Cache off. See Working with other performance plugins.
Watch the walkthrough
Starts at 14:55 in the Divi Nitro 5.0 walkthrough.
Where to find it
Divi Engine → Nitro Settings → Page Cache
Tabs: Settings and Cached pages.
Cache modes
| Mode | Best for | Notes |
|---|---|---|
| Smart (recommended) | Most Divi sites | Theme Builder–aware regions; product/post body stays per URL |
| Full page | When Smart looks wrong | One HTML file per URL; simpler fallback |
Switching mode clears the page cache on save so Smart and Full entries are never mixed.
Core settings
| Setting | Type | Default | What it does |
|---|---|---|---|
| Enable page cache | Toggle | Off | Serve cached HTML to anonymous visitors |
| Cache mode | Radio | Smart | Smart vs Full (see above) |
| Homepage TTL | Number (seconds) | 86400 (1 day) | Hard expiry; soft refresh starts around 80%. Quick badges: 1 hour, 1 day, 1 week, 30 days |
| Posts & pages TTL | Number (seconds) | 604800 (1 week) | Singular content. Edits still purge related tags |
| Archives & terms TTL | Number (seconds) | 2592000 (30 days) | Category, tag, and other archives |
| Paths never to cache | Text | /cart/*, /checkout/*, /my-account/*, /wc-api/* | One path per line; * wildcards. Cart, checkout, account, admin, REST, and the Visual Builder are always skipped |
| Cookies that skip page cache | Text | empty | One cookie name (or part of a name) per line. Protect de_protect_* cookies are included automatically |
| Do not cache filtered Ajax Filter URLs | Toggle | Off | Off (recommended): separate cache per ?filter=true URL. On: skip caching those URLs if they fill the cache |
| Warm after purge | Toggle | On | Queue regenerated URLs (and the homepage) after a smart purge |
| Purge all / Warm now / Refresh stats | Buttons | — | Clear the whole cache, warm important URLs, or refresh hit-rate stats |
Cart, checkout, account, admin, REST, and the Divi Visual Builder are always skipped. Logged-in visitors are skipped unless logged-in page variants are enabled. POST form submissions are never stored.
Native Divi Contact Forms can stay on cached pages. Nitro refreshes the form security nonce in the browser. If a third-party form still misbehaves, add its path under Paths never to cache.
Multi-layer store and edge purge
Nitro does not replace WordPress object-cache.php. Prefer host Redis object cache for admin speed; Nitro Redis is only for page HTML.
| Setting | Type | Default | What it does |
|---|---|---|---|
| Cache store | Radio | Filesystem | Filesystem (wp-content/cache/divi-nitro-page) or Redis (phpredis). Falls back to files if Redis is unreachable. Switching store clears the cache |
| Redis host / port / password / database / prefix | Text / number | 127.0.0.1, 6379, empty, 0, nitro_pc: | Connection details. Password is never shown in stats |
| Purge Cloudflare on Nitro purge | Toggle | Off | Purges matching URLs (or everything on purge-all) via the Cloudflare API. Keep Cloudflare APO off |
| Cloudflare Zone ID / API token | Text | empty | Token needs Cache Purge permission |
| Purge Nginx cache on Nitro purge | Toggle | Off | Optional FastCGI/proxy purge |
| Nginx purge URL template | Text | empty | Use {path}, {url}, or {host} — for example http://127.0.0.1/purge{path} |
| Nginx purge method | Radio | PURGE | HTTP PURGE or GET |
| Logged-in page variants | Toggle | Off | Advanced. Caches one generic logged-in HTML variant (not per role). Skip if pages show personalized logged-in content |
Dynamic regions (Smart cache)
These areas stay live on cached pages (hole-punched after load).
| Setting | Type | Default | What it does |
|---|---|---|---|
| Keep mini cart dynamic | Toggle | On | WooCommerce mini cart and Divi cart indicators are not frozen |
| Always dynamic (CSS selectors) | Text | empty | One class or ID per line; those elements refresh per visitor when possible |
| Always dynamic canvas / layout IDs | Text | empty | Comma-separated Divi layout IDs that should never be stored as Smart regions |
| Cache these canvas / layout IDs as regions | Text | empty | Optional IDs wrapped with data-nitro-canvas="ID" (or id="nitro-canvas-ID") stored as separate Smart regions |
Cached pages tab
Search URLs, see Fresh/Stale status, and clear one page at a time.
Divi Engine awareness
When other Divi Engine plugins are active, Page Cache applies safer defaults:
- Ajax Filter URLs can cache separately
- Protect unlock cookies skip cache
- Membership account paths are excluded
- Mega Menu Ajax Loaded URLs bypass cache
- Form Builder edit/payment URLs skip cache
How to enable safely
- Confirm no other HTML page cache is active.
- Enable Page Cache in Smart mode.
- Purge, then Warm cache (or visit key pages logged out twice).
- Check hit rate and the Cached pages list.
- Test homepage, shop, filters, forms, and locked/member pages.
Balanced and Aggressive presets can enable Page Cache automatically when no competing cache plugin is detected.