Why it matters
Long cache lifetimes make repeat visits and multi-page sessions much faster, which improves real-user Core Web Vitals.
How to fix it in WordPress
- Enable browser caching in your caching plugin or hosting panel.
- Set a cache lifetime of at least 1 year for versioned static files (CSS, JS, fonts, images).
- If the flagged files come from third parties (analytics, chat widgets), you can't change their headers — delay or remove those scripts instead.
Plugin-specific steps
Already using one of these plugins? Follow the exact steps for your setup.
WP Rocket
- 1On Apache, WP Rocket adds browser caching rules to .htaccess automatically.
- 2Deactivate and reactivate WP Rocket to rewrite the rules if they're missing.
- 3On Nginx, ask your host to add 'expires 1y' for static assets.
LiteSpeed Cache
- 1Go to LiteSpeed Cache → Cache → Browser.
- 2Turn on 'Browser Cache' and set 'Browser Cache TTL' to 31557600 (1 year).
- 3Save and purge all caches.
W3 Total Cache
- 1Go to Performance → Browser Cache.
- 2Check 'Set expires header' and 'Set cache control header' for CSS & JS, media and other files.
- 3Set the expires lifetime to 31536000 seconds and save.
How to verify the fix
- In DevTools → Network, click a CSS or image file and check 'cache-control' shows a long max-age.