Speed · medium impact

Static files have a short browser cache

Images, CSS, JavaScript or fonts on your site are served with short or missing cache headers, so returning visitors download them again.

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

  1. Enable browser caching in your caching plugin or hosting panel.
  2. Set a cache lifetime of at least 1 year for versioned static files (CSS, JS, fonts, images).
  3. 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

  1. 1On Apache, WP Rocket adds browser caching rules to .htaccess automatically.
  2. 2Deactivate and reactivate WP Rocket to rewrite the rules if they're missing.
  3. 3On Nginx, ask your host to add 'expires 1y' for static assets.

LiteSpeed Cache

  1. 1Go to LiteSpeed Cache → Cache → Browser.
  2. 2Turn on 'Browser Cache' and set 'Browser Cache TTL' to 31557600 (1 year).
  3. 3Save and purge all caches.

W3 Total Cache

  1. 1Go to Performance → Browser Cache.
  2. 2Check 'Set expires header' and 'Set cache control header' for CSS & JS, media and other files.
  3. 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.

Find out which of these your site has.

Free scan with real Google data. Exact fixes for your plugins.