Most sites need no configuration after install. Defaults are tuned for typical WordPress installs with Elementor, GeneratePress, Astra, or Hello base themes. When you need to override, here is every dial.
Feature flags
Toggled per site from the site detail page. Each flag corresponds to one optimization layer.
pageCachepage cache enabled (default on)jsDelaydelay third party JS until interaction (default on)criticalCssper template critical CSS (default on)unusedCsscoverage based unused CSS removal (default on)imgProxyroute image URLs through self hosted imgproxy (default off; turn on once your CDN is configured)webpAvifserve WebP and AVIF when supported (default on)fontOptfont preconnect, swap, subsetting (default on)
Per site SLO targets
Defaults: 85 mobile, 90 desktop. Self heal triggers when an audit drops more than 5 points below target. Override per site to be more or less strict.
# in the dashboard, site detail page, Settings tab Target mobile PSI: 90 Target desktop PSI: 95
JS delay overrides
The default delay list covers GTM, gtag, Pixel, Hotjar, Clarity, chat widgets. Add or remove via WordPress filter:
add_filter('hbm_rocket_delay_keywords', function ($list) {
$list[] = 'klaviyo';
$list[] = 'segment.com';
return array_diff($list, ['hotjar']);
});Cache exclusions
By default we bypass cache for logged in users, WooCommerce cart and checkout, AJAX, REST API. Add custom paths:
add_filter('hbm_rocket_cache_exclude_paths', function ($paths) {
$paths[] = '/booking/*';
$paths[] = '/quote/*';
return $paths;
});Critical CSS template detection
Out of the box we detect home, page, post, archive. Custom post types are auto added on first heartbeat. To force a specific template kind on a URL, use:
add_filter('hbm_rocket_template_kind', function ($kind) {
if (is_singular('floor_plan')) return 'floor-plan';
return $kind;
});Manually purge cache
# WP-CLI wp hbm-rocket purge # Or from PHP HBM_Rocket_Frontend::purge_all();