Caching and page speedPro
Clear one NitroPack page while keeping cloud settings separate
NitroPack supports a targeted purge through GoBuildWP: nitropack_purge() accepts a URL, so an agent can clear a single page instead of the whole site. The optimisation itself, from critical CSS to image conversion, is configured in the NitroPack dashboard and carried out by NitroPack's service, so what an agent can change inside WordPress is limited to local option rows.
nitropack- Layer
- page
- Declared purge scopes
allurl- Shared keys
- None
- Detected by
- plugin folder nitropack
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
Optimisation in NitroPack's cloud, connection in WordPress
NitroPack needs a nitropack.io account, and the plugin connects to it with an API key and secret; the WP-CLI command wp nitropack connect takes the same pair. Page optimisation is performed on NitroPack's side, and the settings that shape it (critical CSS, minification, image and font handling, lazy loading, its Cloudflare-powered CDN) are held in the NitroPack dashboard.
Locally the plugin keeps option rows, and GoBuildWP's driver claims every name beginning with nitropack. That short prefix is the entire boundary: rows under it are listed by cache-get-settings with include_native and writable individually, and anything outside it is refused.
Current cache source redacts recognized credential keys and reports redacted_keys with include_native. Review other returned values and minimize what goes to the client/provider; this is not a guarantee that arbitrary sensitive text is removed. NitroPack's cloud configuration remains separate from locally stored settings.
Option name prefixes
nitropack
The optimisation settings that matter live in the NitroPack dashboard, not in WordPress; only its local option rows are readable and writable here.
Worked example
Clear one product page after a price edit
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
Only that page is invalidated at NitroPack, while any other layer on the site is purged for the same URL or, lacking a per-URL entry, in full. If the old price still shows, the rebuild may not be finished; wp nitropack purge --purge-url does the same job from a shell.
After purge and warm, check the expected content marker and provider completion status. If cloud status is unavailable, report cloud completion unverified rather than inferring it from the request.
I changed the price on /product/blue-mug/. Clear NitroPack for just that page.
wppilot/cache-check-setupReadConfirms the nitropack layer reports purge_scopes.url true on this install.
wppilot/cache-purgeWriteScope url with the product address. The NitroPack result names nitropack_purge() without any widening note.
wppilot/cache-warmWriteRequests the product URL, which gives NitroPack a reason to rebuild it; the response does not show whether the optimised copy is ready.
wppilot/cache-measure-pageReadFetches it again and reports headers and time to first byte across runs.
A suggested sequence from the ability reference, not a recorded run.
Other plugins
NitroPack does not share the job
- NitroPack's support article says it cannot be used alongside another caching plugin that has page caching, image lazy loading, CSS optimisation or JavaScript optimisation enabled, and names WP Rocket, W3 Total Cache, LiteSpeed Cache, WP Super Cache, Hummingbird, Jetpack Boost, Perfmatters and Autoptimize.
- If cache-check-setup lists NitroPack next to one of those, the overlap is the finding. Purging both will not resolve a conflict that the vendor says should not exist.
Limits
NitroPack boundaries
- Optimisation settings are dashboard-only. GoBuildWP cannot change a NitroPack optimisation mode, exclusion or CDN option.
- A post-scoped purge becomes a full nitropack_purge() call, so prefer scope url with the permalink when only one page changed.
- Native writes need confirm=true every time and can be undone with rollback-change; purges cannot.
- Treat the native dump as possibly sensitive, since current source redacts recognized credential keys and reports redacted_keys with include_native. Review remaining returned values and minimize data sent to the client/provider.
Abilities
NitroPack and the cache abilities
| Ability | What it does here | Undo and limits |
|---|---|---|
cache-check-setup | Lists nitropack as a page layer from the nitropack plugin folder. purge_scopes.all and purge_scopes.url turn true when nitropack_purge() exists on the install; post is always false. | Dashboard settings are not part of anything check-setup reports. |
cache-purge | Scope all calls nitropack_purge() with no arguments; scope url passes the address through. Scope post has no entry of its own and falls back to the whole-cache call, noting the widening. | The url must belong to this site. GoBuildWP's map comment records that the two function names guessed before this one existed on no install. |
cache-warmcache-measure-pagecache-verify-in-browser | Warm requests up to ten URLs so NitroPack has a reason to rebuild them; measure-page reports timing and any cache headers; the browser checks look for render damage from optimisation. | Optimised copies are produced by NitroPack's service, so numbers taken straight after a purge may describe a page still being rebuilt, a stale copy or a bypassed request rather than the settled page; the timings alone cannot tell which. |
cache-get-settingscache-set-native | List and change rows whose names start with nitropack; every write needs confirm=true and a successful read-back first. | Changing a local row does not change NitroPack's optimisation settings. |
cache-set-settingscache-apply-presetcache-list-presets | Return every canonical key as unsupported, and presets skip everything. | NitroPack's own optimisation modes, chosen in its dashboard, are the equivalent. |
cache-list-actionscache-run-action | Show no NitroPack action. Its warmup and invalidate operations exist as WP-CLI commands, not as GoBuildWP actions. | Run wp nitropack warmup from a shell if you need the vendor's own warm-up. |
cache-begin-experimentcache-revert-experimentrollback-change | Snapshot and restore the nitropack rows, then purge. | Nothing held by NitroPack's service is captured or restored. |
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.
NitroPack purges at the right size
Choosing between a page purge and a full NitroPack purge
Because NitroPack rebuilds optimised pages on its own service, every purge has a cost: the pages it clears are slower for the next visitors until NitroPack has produced fresh copies. A full purge after changing one price spends that cost on the whole site. The rule an agent should follow is simple. Content that lives on known pages, such as a product's price, a post's text or one landing page, gets a url-scoped purge for each affected address. Changes that touch every page, such as the header, footer, menu or a global stylesheet, justify the full purge.
Bulk edits sit between the two. After an agent updates twenty product prices, it knows the twenty permalinks, so twenty url purges followed by cache-warm on the most visited of them, ten at a time, keeps the rest of the site's optimised pages intact. cache-check-setup also says whether automatic purge-after-write is on; when it is, targets from the writes in one request are collected and purged together at the end of it, so check the per-layer results rather than adding a second manual purge out of habit.
- Category and shop archive pages show prices too; include them in the list of URLs to purge.
- A post-scoped purge request widens to everything on NitroPack, so pass the permalink as a url instead.
- Numbers taken right after a purge may reflect a page still being rebuilt, a stale copy or a bypassed request, not the settled page; measure again later.
Retiring an overlapping optimiser before relying on NitroPack
When cache-check-setup lists NitroPack beside a plugin NitroPack says it cannot share a site with, the fix is to remove the overlap, not to tune around it. Start an experiment so the other plugin's settings can be restored, read them with cache-get-settings, and turn off the overlapping features there, or deactivate that plugin if NitroPack is taking over completely. Then purge NitroPack in full, because pages optimised while two layers were rewriting the same assets are the ones most likely to be broken.
Questions
NitroPack questions
Can an AI agent change NitroPack's optimisation mode?
No. Optimisation settings live in the NitroPack dashboard, and GoBuildWP reaches only the plugin's local nitropack option rows.
Does GoBuildWP purge one page or the whole NitroPack cache?
Either. Scope url hands the address to nitropack_purge(); scope all calls it with nothing. A post scope has no dedicated entry and becomes the full purge.
What is the WP-CLI equivalent of the agent's purge?
NitroPack's support documentation lists wp nitropack purge, and wp nitropack purge --purge-url=<URL> for one page.
Can the agent read my NitroPack API credentials?
Only if the plugin stores them in a row whose name starts with nitropack; current source masks recognized credential keys and reports redacted_keys. Arbitrary sensitive text may remain. Restrict who can call cache-get-settings with include_native if that matters to you.
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.
NitroPack is a separate product; no partnership or endorsement is implied.