Caching & URL Filters
Configure cache extension and URL management filters in mod_pagespeed 1.15. Cache-extended URLs, domain rewriting, and resource instrumentation.
On this page
Overview
mod_pagespeed 1.15 includes filters for extending browser cache lifetimes and managing resource URLs across domains. These filters let browsers cache resources for a year while still picking up updated content when a resource changes. The extend_cache
filter is a CoreFilter. It sets a 1-year cache lifetime on CSS, JS, and image URLs.
Quick reference
| Filter | Core | On-by-default | Description | Safe |
|---|---|---|---|---|
| Yes | Yes | Content-hashed URLs with 1-year TTL | Yes | |
| No | No | Same cache extension for PDF links | Yes | |
| No | No | Applies domain mappings to resource URLs | Test first | |
| No | No | localStorage-based caching for inlined resources | Experimental |
IIS syntax
On IIS, use the same filter names with the pagespeed
prefix in pagespeed.config
(no semicolons):
pagespeed EnableFilters extend_cache
See IIS Configuration for the full file format reference.
extend_cache
Core filter.Rewrites resource URLs (CSS, JS, images) to include a content hash, then serves the optimized resource with a 1-year Cache-Control: max-age
header. When the original resource changes, the hash changes, generating a new URL that bypasses the browser cache.
Resources that previously had short or no cache lifetimes gain a 1-year cache lifetime. Because the URL carries the content hash, a changed resource gets a new URL and is never served stale.
The sub-filters extend_cache_css
, extend_cache_images
, and extend_cache_scripts
are included when you enable extend_cache
, which turns on all three. Each can also be enabled individually with EnableFilters
(for example, extend_cache_images
alone).
extend_cache_pdfs
Not a CoreFilter.Applies the same content-hash-based cache extension to PDF file links. Enable this filter if your site serves PDFs that change infrequently.
ModPagespeedEnableFilters extend_cache_pdfs
rewrite_domains
Not a CoreFilter. Test before deploying.Rewrites resource URLs to use domains specified by MapRewriteDomain
or ShardDomain
directives. Useful for CDN integration or domain sharding.
ModPagespeedEnableFilters rewrite_domains
This filter only affects resources that mod_pagespeed does not otherwise optimize. Resources already rewritten by other filters ( rewrite_css
, rewrite_images
, etc.) already have their domains set by those filters.
See Domain Configuration
for MapRewriteDomain
and ShardDomain
setup.
local_storage_cache
Experimental.Stores inlined CSS and JavaScript in the browser’s localStorage
on first visit, then loads from localStorage
on subsequent visits instead of re-inlining. This reduces HTML payload on repeat views at the cost of JavaScript complexity and reliance on localStorage
availability.
ModPagespeedEnableFilters local_storage_cache
Not recommended for most deployments. Browser localStorage
has size limits (typically 5-10 MB per origin) and can be cleared by the user at any time. Sites with many inlined resources may exceed these limits.
See also
- Caching — server-side caching configuration (Cyclone Cache, memcached, Redis)
- Filter Selection
- Filter Reference

