Caching and page speedPro
Cache Enabler MCP: a small disk cache with a small, honest map
Cache Enabler MCP support in GoBuildWP Pro is short because the plugin is short. KeyCDN's disk page cache has a handful of switches, so an agent can set the lifetime, separate mobile caching and WebP URL rewriting, and clear everything, one URL or one post. Asking for CSS or JavaScript optimisation, a CDN or a preloader returns unsupported, meaning this GoBuildWP driver does not expose it. That does not establish that the vendor has no such feature or API.
cache_enabler- Layer
- page
- Declared purge scopes
allurlpost- Shared keys
- 3
- Detected by
- constant CACHE_ENABLER_VERSION
Installed class, method or listener checks and per-layer results determine whether a purge ran. Neither a declaration nor a returned ran flag proves public freshness.
- Edition
- Pro
- Abilities
- 16
- Requires
- WordPress 6.9+, PHP 8.0+
Before changing cache settings, inspect captured drivers and not_captured. After reverting, inspect restored, deleted, not_restored, verified and purged_layers. Use a separate cache-purge result when you need details for each layer. Storage verification checks captured values; it does not establish functional recovery or public freshness. Revert may overwrite later settings, and vendor configuration regeneration or a re-save can still be required.
Check each measurement run’s fetched_via before treating it as public-path evidence. cache-verify-in-browser supplies checks and does not operate a browser. Automatic purge coalesces targets within the request and runs on shutdown; it is not necessarily one immediate flush per call. Verify generated files, object/page/edge caches and actual visitor behavior separately.
Data model
One option, one cache folder
All settings are in the cache_enabler option. KeyCDN's documentation places cached HTML in wp-content/cache/cache-enabler/ and serves it through an advanced-cache.php drop-in with WP_CACHE, alongside Gzip and Brotli pre-compressed copies and optional HTML minification.
Two storage details shape what GoBuildWP does. cache_expiry_time is kept in hours while the shared page_cache.ttl is seconds everywhere else, so values are converted both ways, and a lifetime under an hour rounds up rather than becoming zero. Page exclusions are a single regular expression, excluded_page_paths, not a list, so they stay out of the map; treating a regex as a list of paths would corrupt it on the first write.
Mapped values are converted to Cache Enabler's units, booleans to integers, and merged into the cache_enabler option, so its other keys survive.
Shared key → Cache Enabler setting
page_cache.ttl → cache_expiry_timepage_cache.mobile_separate → mobile_cacheimages.next_gen → convert_image_urls_to_webp
Option rows
cache_enabler
Abilities
Cache abilities on Cache Enabler
| Ability | What it does here | Undo and limits |
|---|---|---|
cache-purgecache-warm | Calls Cache_Enabler::clear_complete_cache(), clear_page_cache_by_url() or clear_page_cache_by_post_id(), whichever scope was asked for, then warms the pages to be measured. | Nothing to undo. |
cache-get-settingscache-set-settings | Three keys: page_cache.ttl on cache_expiry_time with hour conversion, page_cache.mobile_separate on mobile_cache, images.next_gen on convert_image_urls_to_webp. | None of them is gated. Rollback-change restores the cache_enabler row. |
cache-set-native | Reaches the rest of the row, including excluded_page_paths, where the native read shows expiry in the plugin's own hours. | Confirm required, and a regex written here is not validated by GoBuildWP. |
cache-list-presetscache-apply-preset | Conservative sets the lifetime; balanced and aggressive both set the lifetime and WebP URLs, because nothing riskier maps. | Even aggressive needs no confirm on this plugin. |
cache-check-setupcache-measure-pagecache-verify-in-browsercache-list-actionscache-run-actioncache-begin-experimentcache-revert-experiment | Setup checks WP_CACHE and the drop-in; measurement and browser checks as usual. No actions are declared. Experiments capture the single row. | Revert needs confirm. |
Reference: /docs/reference/cache
Shared cache module; do not add this count across drivers. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.
Worked example
A 30-minute lifetime that becomes an hour
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
Pages expire hourly, the shortest lifetime Cache Enabler can store, and the owner is told why. For fresher news pages, GoBuildWP's purge-after-write already clears posts the agent edits.
TTL is site-wide, not limited to news pages. Inspect the installed HTML-minification behavior before changing it; WebP rewriting requires compatible converted WebP files.
Pages on the news section go stale too slowly. Set Cache Enabler to expire cached pages after 30 minutes.
wppilot/cache-get-settingsReadReports page_cache.ttl in seconds, converted from the hours stored in cache_expiry_time.
wppilot/cache-set-settingsWrite1800 seconds is written as one hour, rounded up so expiry is not switched off, and the cache is cleared.
wppilot/cache-get-settingsReadReads back 3600, the true stored value, so the agent can report the difference instead of claiming 30 minutes.
wppilot/cache-purgeWriteScope url on the news index if it needs refreshing ahead of the new lifetime.
A suggested sequence from the ability reference, not a recorded run.
Questions
Cache Enabler questions
Can the agent change Cache Enabler's page exclusions?
Only as a native write of excluded_page_paths, which is one regular expression. Read it first and change it carefully; a broken pattern can exclude too much or nothing.
Does Cache Enabler optimise CSS or JavaScript?
It minifies HTML and can optionally minify the CSS and JavaScript written inline in that HTML. It does not inline, combine or minify separate CSS or JS files, so those keys report as unsupported.
Is there a WP-CLI route?
KeyCDN documents wp cache-enabler clear with ids, urls or sites options for you to run; the agent uses the plugin's static PHP methods.
Limits
Small surface, stated plainly
- Only three shared keys exist for this plugin; everything else is native or in its screen.
- Lifetimes are whole hours, rounded up.
- Purges are immediate and permanent; settings writes can be rolled back.
Other plugins
Pairing Cache Enabler
- KeyCDN states it is compatible with Autoptimize, the usual way to add CSS and JS optimisation to it. check-setup then lists both layers and cache-purge clears both.
- Cache Enabler clears related pages on publish and update by itself; GoBuildWP's purge-after-write covers the same ground for its own edits.
Where these facts come from
GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.
Cache Enabler is a separate product; no partnership or endorsement is implied.