Caching and page speedPro
SQLite Object Cache MCP: one database file, one flush
SQLite Object Cache keeps WordPress's persistent object cache in a single SQLite database file, a good fit for one-server sites without Redis. A SQLite object cache MCP session through GoBuildWP can report an active SQLite-labelled backend and request a flush, and read the plugin's sqlite_object_cache option rows. Its tuning constants and the file itself sit outside what the cache abilities touch.
Use a single-server installation; detector status does not certify the SQLite cache file.
sqlite_object_cache- Layer
- object
- Declared purge scopes
all- Shared keys
- None
- Detected by
- plugin folder sqlite-object-cache
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
A cache that is a file next to wp-content
The cache is wp-content/.ht.object_cache.sqlite, together with its -wal and -shm companions, written through an object-cache.php drop-in that the plugin removes when it is deactivated. It needs PHP's SQLite3 extension, with igbinary and APCu as optional accelerators. The vendor is plain that it is for a single server: no load-balanced setups and no network drives.
Tuning happens in constants: WP_SQLITE_OBJECT_CACHE_DB_FILE for the path, plus the _APCU, _SERIALIZE, _TIMEOUT (5000 by default), _JOURNAL_MODE (WAL by default) and _MMAP_SIZE variants, and the shared WP_CACHE_KEY_SALT. GoBuildWP reads none of them; they are PHP definitions, not rows.
The options the plugin does store begin with sqlite_object_cache, and that single prefix is what GoBuildWP's driver owns. check-setup names the backend sqlite when the SQLite_Object_Cache class exists and WordPress reports an external object cache in use.
Option name prefixes
sqlite_object_cache
Object-cache drop-in with no page-cache settings to map. Its options are readable and writable by name.
Questions
SQLite Object Cache questions
Should I back up the SQLite object cache file?
The vendor says there is no need: it is a cache, rebuilt from the database as pages load.
Does the agent delete .ht.object_cache.sqlite when it flushes?
No. GoBuildWP only calls wp_cache_flush(); how the plugin empties its tables is its own business.
Will SQLite Object Cache work on a load-balanced host?
Not according to the vendor, who limits it to a single server and warns against network drives.
Can an AI agent move the cache file somewhere else?
No. The location is WP_SQLITE_OBJECT_CACHE_DB_FILE, a constant in wp-config.php, which the cache abilities do not edit.
SQLite Object Cache persists WordPress objects through the SQLite3 PHP extension, with optional igbinary and APCu integration. Its storage is separate from the WordPress MySQL or MariaDB content database. Confirm the SQLite extension, database file access and active drop-in in the plugin interface before interpreting a cache miss. Purging this object store is different from deleting generated page HTML or clearing a CDN. SQLite Object Cache documentation
Abilities
Cache abilities meeting a SQLite object cache
| Ability | What it does here | Undo and limits |
|---|---|---|
cache-check-setupcache-measure-page | check-setup lists sqlite_object_cache as an object layer and reports object_cache.backend sqlite once the drop-in is loaded. measure-page's repeated runs are where a faster uncached build would show. | Neither reports cache hit rates or file size; the plugin's own statistics screen is the place for those. |
cache-purgecache-warm | The flush is wp_cache_flush(), for any scope, with the widening noted; warming afterwards repopulates the file with the objects the home page or listed URLs need. | GoBuildWP deletes no files. It calls the flush and leaves the file's handling to the plugin. |
cache-get-settingscache-set-native | Show every sqlite_object_cache row and change one by exact name after reading it back, with confirm=true. | Pass driver sqlite_object_cache when a mapped page cache is also active, or the call reads that page cache. |
cache-set-settingscache-apply-presetcache-list-presetscache-list-actionscache-run-action | Have nothing to set or run: no canonical key applies, no preset key is supported, and no action is declared for this driver. | Changing journal mode, timeouts or APCu use means editing constants. |
cache-begin-experimentcache-revert-experimentrollback-change | Capture and restore the option rows under the sqlite_object_cache prefix. | The cache file is not snapshotted, and does not need to be. |
cache-verify-in-browser | Useful here only for the page-level layers in front; an object cache cannot lazy-load a logo or shift a layout. | Its checks say nothing about the SQLite layer itself. |
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.
Limits
What the SQLite integration leaves alone
- Constants control the file path, timeout, journal mode, memory map and serialiser, and none is readable or writable through a cache ability.
- A flush is always of the whole cache. GoBuildWP queues automatic purges for eligible writes and coalesces them at request shutdown unless the wppilot_cache_auto_purge option or filter disables that.
- Single-server only, per the vendor. A load-balanced host needs a networked object cache instead.
- Option writes are undoable with rollback-change; flushes are not, and need not be.
Worked example
Reset the object cache after a plugin update
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
The admin now reads fresh values from the database. If check-setup had shown object_cache.active false, the external object cache was not reported active; inspect the drop-in and configuration rather than assuming it is missing; restoring it is done from the plugin itself, not from GoBuildWP.
The detector reports an active SQLite-labelled backend, not file health. Revisit the stale admin or dynamic request after flush; homepage timing cannot prove SQLite refill. Review temporary rebuild load and the single-server prerequisite; purges batch within the request.
After updating a plugin, some admin settings look stale. Flush the SQLite object cache.
wppilot/cache-check-setupReadConfirms object_cache.active true with backend sqlite, and lists any page cache that will be purged too.
wppilot/cache-purgeWriteScope all; the SQLite layer result names wp_cache_flush().
wppilot/cache-warmWriteRequests the home page so WordPress can cache objects again.
wppilot/cache-measure-pageReadCompares a few runs as timing context. Timings alone cannot prove the SQLite cache is refilling; object_cache.active and backend from check-setup are the evidence that it is in use.
A suggested sequence from the ability reference, not a recorded run.
Other plugins
Sharing the site with other caches
- Only one persistent object cache can run at a time, per the vendor. If check-setup also lists Redis Object Cache or Docket Cache, only one of them owns object-cache.php.
- With Performance Lab installed, the vendor says to activate SQLite Object Cache first.
- Page caching is a separate job the vendor expects to be compatible, and one cache-purge covers the page cache and the SQLite flush together.
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.
SQLite Object Cache is a separate product; no partnership or endorsement is implied.