Performance Optimisation has four configuration surfaces: dashboard settings, bounded WP-CLI commands, an authenticated REST namespace, and developer hooks. The pages in this section describe the current 2.4.0 contracts rather than historical setting names.
Settings storage
Plugin-owned settings are stored in the serialized wppo_settings option and grouped by the canonical tab names: cache_settings, file_optimisation, preload_settings, image_optimisation, database_cleanup, object_cache, performance_audit, litespeed_integration, llms_txt, od_integration, bfcache, perf_translations, ai_adaptive, and edge_cache.
REST and WP-CLI writes pass through the same allowlist, recursive sanitizer, and snapshot path. A settings export strips secret-shaped values; do not put API keys or passwords in an export file.
Configuration pages
- Settings reference — keys, defaults, scopes, and safety notes.
- Hooks reference — actions and filters discovered in the current source.
- WP-CLI commands — cache, database, image, settings, object-cache, PageSpeed, system-info, and verify workflows.
- REST API reference — namespace, authentication, route groups, and response conventions.
Settings rollout
- Change one tab and save it.
- Review the returned settings payload and activity entry.
- Clear the relevant page cache or derived CSS cache.
- Verify the frontend and editor preview before enabling another change.
Dashboard saves update the shared wppoSettings response only after a successful server response. Unsaved-change guards and the sandbox workflow prevent a tab switch or stale response from silently replacing edits.
External integrations
PageSpeed, Google Fonts, Cloudflare, Bunny, Varnish, LiteSpeed, Redis, and the public RUM beacon have separate contracts. The relevant feature page explains when a request is made, what data is sent, and how to disable it. Do not copy credentials into documentation, screenshots, exports, or issue reports.