Canonical settings defaults live in PerformanceOptimise\\Inc\\Settings_Store::get_default_settings(). REST, WP-CLI, activation, and the dashboard use the same schema. Values marked runtime/UI are normalized or derived by the current WordPress capability set and may vary by host.
cache_settings
| Key | Default | Purpose |
|---|---|---|
enableCache | true | Enables the static page-cache layer. |
enableLoggedInCache | false | Enables separately keyed logged-in variants. |
loggedInCacheRoles | [] | Roles eligible for logged-in variants. |
cacheLife | 0 | Global lifetime in hours; zero has cache-owner-specific meaning. |
ttlOverrides | {} | Per-post-type lifetime overrides. |
wooSafeMode | true | Keeps dynamic WooCommerce routes out of shared cache. |
stampedeGuard, stampedeLockTtl | true, 5 | Bound concurrent cache generation. |
cacheMaxSizeMB, cacheSizeWarnRatio, cacheSizeEnforce | 512, 0.8, true | Capacity warning and enforcement policy. |
cacheMaxFiles | 5000 | Maximum file-count guard. |
cacheRandomizedQueryGuard | true | Rejects unsafe randomized query keys. |
file_optimisation
Aggressive transforms are opt-in. Important defaults include enableServerRules: false, all minify/defer/delay/combining flags false, removeHTMLComments: true, delayJSSafeMode: true, delayJSPreset: safe, elementorSafeMode: true, builderPurgeWatcher: true, and builderPurgeDriftLog: true.
The tab also owns CSS/CCSS budgets and retry limits, Google Fonts hosting, block-asset behavior, CDN mappings, delay presets, exclusion lists, sandbox-staged values, core WordPress removals, font subsetting, and purge-fallback controls. Use the dashboard, generated REST schema, and source reference when changing a field.
preload_settings
| Key | Default |
|---|---|
enablePreloadCache | false |
excludePreloadCache | my-account, cart, and checkout patterns |
enableSpeculationRules | false |
speculationMode | prefetch |
speculationEagerness | conservative |
speculationRumGating | true |
speculationTopUrlsLimit | 2 |
speculationPrerenderList | false |
preloadSitemap | false |
autoLcpPreload, autoDiscoverFonts | false |
image_optimisation
Fresh defaults use lazyLoadImages: false with lazyLoadNative: true, avifFirst: true, smartQuality: true, lcpHeroPreload: true, lcp_guardrails: true, lcp_first_n: 3, maxLongestEdgePx: 2560, and hardenCommentImages: true. Conversion, advanced placeholder modes, client-side MIME overrides, field LCP overrides, and background-image lazy loading remain explicit choices.
performance_audit
pagespeed_api_key defaults to an empty string, high_value_urls to an empty array, auto_fix_enabled and server_timing_enabled to false, auto_rescan to an empty schedule, rum_enabled to false, and rum_sample_rate to 100. PageSpeed sends the administrator-selected URL and strategy; RUM stores bounded, anonymized field metrics locally.
database_cleanup and object_cache
database_cleanup starts with autoloadThreshold: 1024 and purgeFailedActions: false. The canonical object-cache option is intentionally empty; connection settings and secrets are handled by the dedicated object-cache policy and drop-in boundary, not by a broad settings export.
litespeed_integration
Defaults are mode: auto, purgeSync: true, enableNextGenRewrite: false, enableBrotli: false, all vary groups false, crawler concurrency 2 with load limit 0, blacklist threshold 3, and ESI disabled.
Other tabs
llms_txt:enabled: false,source: both.od_integration: enabled when Optimization Detective is available.bfcacheandperf_translations: disabled by default.ai_adaptive: disabled; remote AI use and speculation autotune are separate opt-ins with sample and cooldown gates.edge_cache: disabled until a provider and safe purge configuration are supplied.
Writing and exporting settings
Use the dashboard, update_settings, or WP-CLI. The server validates top-level tab names, recursively sanitizes values, keeps a one-click snapshot, and rejects unsupported import shapes. Exported files redact secret-shaped keys; treat an export as a configuration artifact and review it before sharing.