What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
To leverage browser caching in WordPress, send long-lived Cache-Control headers for versioned first-party files such as images, CSS, JavaScript and fonts, then change each file’s URL when its contents change. Keep dynamic and personalized responses on shorter, carefully controlled policies. Configure the headers at the layer that actually serves the file—WordPress plugin, Apache, Nginx, IIS, host, reverse proxy or CDN—and purge every relevant cache after a deployment.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
Browser caching does not make a visitor download a file less often by magic. The browser follows the response headers from your server. A good policy prevents repeat downloads for unchanged assets, lowers requests and server work, and allows conditional requests to receive a 304 Not Modified response. A bad policy can leave visitors with stale CSS or JavaScript, cache private content, or appear ineffective because the file is hosted on a third-party domain.
As an Amazon Associate I earn from qualifying purchases.
What “leverage browser caching” means
When a browser requests a stylesheet, script, image or font, your server can describe how long that response may be reused locally. The browser stores the response and, while it is considered fresh, uses the local copy instead of requesting the same bytes again. This is especially useful on repeat page views and return visits, where the same theme files, logos and font files would otherwise be downloaded repeatedly.
The policy applies to the response for an individual resource, not automatically to every page on the site. A full-page cache, a reverse proxy and a browser cache solve different problems: a page cache stores generated HTML for reuse by the server or proxy, while browser caching stores the files in the visitor’s browser. You can use both, but they must not be configured as though they were the same feature.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
The headers that matter
- Cache-Control: The modern directive.
max-agespecifies freshness in seconds. Directives such aspublic,no-cache,no-storeandimmutablefurther define how the response may be reused or revalidated. - Expires: An older absolute-date header. It can remain useful for compatibility with older clients, but
Cache-Controlshould be the primary policy. - ETag: An entity tag that identifies a particular representation. When a cached response is stale, the browser can send the tag in a conditional request; if the file is unchanged, the server can return
304 Not Modifiedwithout sending the full body again. - Last-Modified: A timestamp that can support conditional validation with
If-Modified-Since. It is helpful, but it does not replace an intentional freshness policy.
A typical static-file response might use a long max-age when the URL is versioned, retain an Expires value for compatibility, and preserve ETag or last-modified validation. The exact header set depends on your web server and CDN; inspect the response rather than assuming that a WordPress setting reached the visitor.
Decide what is safe to cache
Start with first-party static assets: files served from your own domain that are identical for all visitors. Images, compiled CSS, JavaScript bundles, icon files and web fonts are usually good candidates. HTML pages, account areas, shopping carts, personalized dashboards and responses containing private data need a separate policy.
Free tools Windows power users keep installed
One-click scans. No signup required.
| Resource | Suggested starting policy | Why | How to invalidate |
|---|---|---|---|
| Hashed or otherwise versioned CSS and JavaScript | Long freshness, commonly an example of max-age=31536000 with public; use immutable only when the URL can never serve different bytes. |
The URL changes when the file changes, so a long-lived copy is safe. | Publish a new filename or query-string version. |
| Theme images, logos and icons with stable filenames | Moderate to long freshness; choose a period that matches how often you replace files. | These files are static but are sometimes overwritten in place. | Rename the file, add a version, or purge caches after replacement. |
| Web fonts | Long freshness when the font URL is versioned and the appropriate cross-origin policy is present. | Fonts rarely change during a release, and repeat downloads are expensive. | Change the URL when replacing the font. |
| HTML pages | Short or conditional caching unless the page is intentionally public and compatible with a full-page cache. | HTML may contain fresh posts, cookies, login state or personalization. | Purge the page cache and proxy when content must change immediately. |
| Authenticated or personalized responses | Usually private or no-store, according to the application’s privacy requirements. |
A shared cache must not serve one visitor’s content to another. | Do not place sensitive responses in a shared cache. |
| Third-party scripts, advertisements and analytics | Controlled by the external host, not by your domain’s server rules. | Your .htaccess or Nginx configuration cannot change another company’s headers. |
Use the provider’s policy or accept that the warning remains. |
The durations in the table are policy examples, not performance measurements. Select them according to your release process. A site that overwrites app.css several times a day should not give that unchanged URL a year of freshness; a build system that emits a new content-hashed filename for every release can safely use a much longer lifetime.
Check your current stack before changing anything
Several layers may answer a request before WordPress does. A local browser cache can reuse a file without contacting the site. A CDN may serve it from an edge location. A host-level cache, Varnish or another reverse proxy can respond before PHP runs. A caching plugin may create page files or add headers. If two layers set different policies, the response that reaches the browser is the one that matters.
- Open the site in a desktop browser and launch Developer Tools.
- On the Network panel, reload the page and select a first-party CSS, JavaScript, image or font request.
- Read the response headers. Record
Cache-Control,Expires,ETag,Last-Modified, the response status and the request URL. - Repeat the check with a private window or a cleared cache so that an existing local copy does not hide the server response.
- Ask the host which reverse proxy, CDN and server software are active. Do not add Apache rules to an Nginx or IIS site and expect them to work.
Keep a note of where each policy is defined. This prevents a plugin from fighting a CDN rule or a host from silently replacing the values you set in WordPress.
Option 1: Configure a WordPress caching plugin
A plugin is the most approachable route when you do not control the web-server configuration. WordPress documentation identifies W3 Total Cache, WP Super Cache and Cache Enabler as examples that create cached files and can integrate browser-cache support. Names and settings change between releases, so use the plugin’s current documentation and inspect the resulting headers.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
A safe plugin workflow
- Make a backup of the site and note the current response headers for representative assets.
- Install one caching plugin from the WordPress administration area. Do not activate multiple plugins that perform the same page-cache and header functions.
- Open the plugin’s browser-cache or client-cache settings. Enable browser caching for static resources, then choose a policy for CSS, JavaScript, images and fonts.
- Leave dynamic, logged-in and personalized responses outside the shared static policy unless the plugin explicitly handles those cases safely.
- Save the settings, purge the plugin’s generated files and reload the site in a private window.
- Inspect the network response again. Confirm that the expected
Cache-ControlorExpiresvalue is actually present.
A plugin cannot override a CDN or host that rewrites headers later in the request path. If the headers do not change, ask the host where the authoritative rule is configured. If pages become stale or users see broken layouts, disable the new setting, purge all layers and test the server-level configuration before re-enabling it.
Option 2: Add rules for Apache with .htaccess
Apache can set cache headers in the site’s .htaccess file when the host permits the required modules and overrides. The WordPress.org “Leverage Browser Caching” plugin is designed to write Apache rules, but it cannot control files served from third-party domains and has no effect on Nginx or Windows IIS.
Example Apache policy
Place an equivalent rule in the appropriate virtual-host configuration when possible; use .htaccess only where that is the supported control point. The following is an example policy for common static extensions. Adjust the durations to your versioning process.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/png "access plus 6 months"
ExpiresByType image/jpeg "access plus 6 months"
ExpiresByType image/webp "access plus 6 months"
ExpiresByType font/woff2 "access plus 1 year"
</IfModule>
<IfModule mod_headers.c>
<FilesMatch ".(css|js|svg|png|jpe?g|webp|gif|woff2?)$">
Header set Cache-Control "public, max-age=31536000"
</FilesMatch>
</IfModule>
This example is suitable only when the matching files are replaced under a new URL or you are prepared to purge caches after replacing them. Do not apply a year-long rule blindly to HTML, feeds, APIs or private responses. Existing WordPress rewrite rules should remain intact; make a copy before editing and verify the site after saving.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Apache failure modes
- Internal server error: A directive or module may be unavailable. Remove the new block, restore the backup and ask the host which modules are enabled.
- No header change: The request may be served by a CDN or reverse proxy, or the file may not match the extension pattern.
- Stale assets after deployment: The URL was reused. Rename the file or change its version, then purge the plugin, host, CDN and browser copies as appropriate.
Option 3: Configure Nginx
Nginx does not read Apache .htaccess files. Set headers in the server or location block that serves static files, usually in the host’s Nginx configuration. A representative pattern is:
location ~* .(css|js|svg|png|jpe?g|webp|gif|woff2?)$ {
add_header Cache-Control "public, max-age=31536000";
try_files $uri =404;
}
Have the administrator validate and reload the configuration with the host’s approved procedure. Ensure that an upstream CDN is not replacing the header. If your build does not version URLs, select a shorter lifetime or use a deployment step that purges the edge and proxy caches whenever an asset changes.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Option 4: Configure Windows IIS
IIS also ignores .htaccess. Use the site’s HTTP Response Headers feature or the equivalent web.config configuration to set Cache-Control and, if needed, an Expires value for static file types. The exact interface depends on the IIS version and hosting control panel, so confirm the resulting response in Developer Tools rather than relying on the control-panel label.
Apply the same separation used on Apache and Nginx: long-lived rules for versioned static URLs, conservative rules for HTML and private responses, and an explicit purge or URL-change procedure for deployments.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Option 5: Use a host, reverse proxy or CDN
Many WordPress sites have a cache hierarchy: the visitor’s browser, a CDN, a Varnish or Nginx reverse proxy, and a WordPress full-page cache. This layering can reduce origin traffic, but it also makes stale content harder to diagnose. Ask which layer is active and which one is authoritative for each asset type.
When a CDN is serving the file
- Inspect the browser response and identify CDN-specific headers or an edge cache status.
- Check the CDN’s cache rule for the file extension or path. Make sure it does not cache authenticated responses or cookies intended to bypass caching.
- Set the browser-facing
Cache-Controlpolicy deliberately. An edge TTL and a browser max-age are related but not identical settings. - After a release, purge the changed paths or publish new versioned URLs. Purging only the WordPress plugin does not remove an old copy already stored at the edge.
Do not add another plugin simply because a PageSpeed report still lists a CDN-hosted script. Your domain cannot change headers sent by an analytics, advertising or other external provider.
Version CSS and JavaScript so long caching stays safe
Long freshness is practical only when a changed file receives a changed URL. WordPress’s enqueue functions support a version value that is commonly emitted as a query string. When that value changes, the browser requests the new URL instead of trusting the old cached response.
function freedom251_enqueue_assets() {
$theme_version = wp_get_theme()->get('Version');
wp_enqueue_style(
'site-style',
get_stylesheet_directory_uri() . '/assets/css/site.css',
array(),
$theme_version
);
wp_enqueue_script(
'site-script',
get_stylesheet_directory_uri() . '/assets/js/site.js',
array(),
$theme_version,
true
);
}
add_action('wp_enqueue_scripts', 'freedom251_enqueue_assets');
For a production build, a content hash or an explicit release identifier is usually more precise than changing every asset on every theme revision. Whichever method you use, verify that the generated URL really changes and that both the old and new files are available during rollout. A version query string is part of the URL for cache purposes; a server that strips query strings can undermine this strategy, so test it at the CDN and origin.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Purge caches when a change must appear immediately
Changing a header does not retroactively erase copies already stored in browsers. When a logo, stylesheet or script must update immediately, perform the purge at every relevant layer:
- Clear or purge the WordPress caching plugin.
- Purge the host’s page cache or reverse proxy if it maintains one.
- Purge affected paths at the CDN.
- Use a private window or clear the local browser cache for verification.
- Publish a new asset URL so visitors with an unexpired old copy request the replacement.
For routine releases, URL versioning is more reliable than asking every visitor to clear their cache. Reserve broad purges for emergencies or changes that cannot be represented by a new URL.
Fixing a “leverage browser caching” warning
Performance tools often flag resources that lack a long freshness lifetime. Treat the report as a list of response URLs, not as proof that every file needs the same rule.
- Separate first-party and third-party URLs. Fix first-party files you control. A warning for an externally hosted script may remain because your server cannot set that provider’s headers.
- Check the actual response. Confirm whether
Cache-Control,Expires, ETag or last-modified is present. A report may have captured a cached or redirected response that differs from the current one. - Classify the content. Keep static assets and dynamic or personalized responses on separate policies.
- Find the serving layer. Determine whether the browser, plugin, host, reverse proxy or CDN delivered the response.
- Set a policy at that layer. Use a plugin for supported WordPress-managed cases, Apache directives for Apache, server configuration for Nginx or IIS, and CDN rules for edge-served content.
- Version the URL. Do this before adopting a long lifetime for a file that changes.
- Purge and retest. Test with a private window, check the status code and inspect the final response headers.
A warning may still appear after a correct configuration because the test includes third-party resources, because the scanner follows a redirect, or because the file is intentionally dynamic. The goal is a safe policy for resources you control, not a forced score of zero warnings.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsCommon mistakes and how to recover
Applying static rules to HTML
A blanket rule for every response can cache a page containing a logged-in user’s name, cart contents or security token. Restrict long-lived directives to static paths or extensions and test anonymous, logged-in and personalized requests separately.
Running overlapping cache plugins
Two plugins may both rewrite files, add headers or purge caches. Disable duplicate features and keep one documented owner for page caching and one clear owner for browser headers. If behavior becomes unpredictable, restore the previous configuration, purge all layers and re-enable one feature at a time.
Best Value
Changing a file without changing its URL
Overwriting style.css while advertising a year of freshness is the classic stale-CSS problem. Use a new version value or filename. If an emergency replacement must keep the URL, shorten the policy temporarily and purge the host, CDN and plugin caches.
Editing the wrong server configuration
An Apache rule cannot configure Nginx or IIS. Likewise, editing origin headers will not help if a CDN serves an older object with its own policy. Identify the response path first.
Recommended Free Tools
Expecting browser caching to fix slow first visits
Browser caching mainly benefits repeat requests. It does not remove the initial download for a new visitor, reduce the size of an unoptimized image or replace compression, responsive images, code splitting and sensible font loading.
How to test a deployment
- Choose one CSS file, one JavaScript file, one image and one font that are served from your domain.
- Load the page in a clean private window and record the status, size and response headers.
- Reload it and check whether the browser reuses the response or makes a conditional request that returns
304 Not Modified. - Deploy a deliberately versioned change to one asset. Confirm that the page requests the new URL and receives the new content.
- Test an anonymous page, a logged-in page and any personalized endpoint. Verify that private data is not stored in a shared cache.
- Repeat the checks through the production CDN or proxy, not only against a local development server.
Keep these checks in your release checklist. Header regressions are easy to introduce when a host changes its proxy, a plugin is replaced or a build process starts emitting unversioned files.
Choosing the right implementation
| Approach | Best fit | Control | Main limitation |
|---|---|---|---|
| WordPress caching plugin | Site owners who need an administration interface. | Convenient integration with WordPress cache files and purge controls. | May conflict with host or CDN rules; cannot control third-party domains. |
| Apache configuration | Sites actually served by Apache with permitted overrides. | Precise file matching and server-level headers. | .htaccess has no effect on Nginx or IIS and can cause errors if unsupported directives are used. |
| Nginx or IIS configuration | Managed servers where administrators control the web server. | Direct control over static locations and response headers. | Requires server access or host assistance; Apache plugins do not apply. |
| Host, reverse proxy or CDN | Sites whose origin is shielded by an infrastructure cache. | Edge delivery, centralized purging and control over the layer visitors actually reach. | Multiple TTLs and purge systems can make stale content difficult to trace. |
Choose one primary place to define the browser-facing policy, document the other layers and verify the final response. The safest setup is not necessarily the one with the most caching features; it is the one whose ownership, invalidation process and privacy boundaries are clear.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




