Filter Selection
Choose which mod_pagespeed 1.1 filters to enable. RewriteLevel presets, CoreFilters defaults, EnableFilters, DisableFilters, and tuning thresholds.
mod_pagespeed 1.1 applies a set of filters to optimize your pages. You control which filters run through the RewriteLevel directive and per-filter enable/disable directives.
RewriteLevel
The RewriteLevel directive sets the baseline set of filters. Three levels are available:
CoreFilters (default)
A production-safe set of filters enabled by default. This level balances optimization impact with broad compatibility. Most deployments should start here and add or remove individual filters as needed.
pagespeed RewriteLevel CoreFilters;
ModPagespeedRewriteLevel CoreFilters
pagespeed RewriteLevel CoreFilters
PassThrough
No filters are enabled by default. Use this level when you want full control over exactly which filters run. You then enable individual filters with EnableFilters.
pagespeed RewriteLevel PassThrough;
ModPagespeedRewriteLevel PassThrough
pagespeed RewriteLevel PassThrough
OptimizeForBandwidth
Optimizes resources in place without altering HTML structure. Images are recompressed, CSS and JavaScript are minified, but no URLs are rewritten and no HTML is changed. This level is safe for environments where URL stability is critical.
pagespeed RewriteLevel OptimizeForBandwidth;
ModPagespeedRewriteLevel OptimizeForBandwidth
pagespeed RewriteLevel OptimizeForBandwidth
CoreFilters
When RewriteLevel is set to CoreFilters (the default), the following filters are enabled:
add_head— adds a<head>element if one is missingcombine_css— combines multiple CSS files into onecombine_javascript— combines multiple JavaScript files into oneconvert_meta_tags— converts<meta http-equiv>tags to response headersextend_cache— extends cache lifetime of resources by content-hashing URLsfallback_rewrite_css_urls— rewrites URLs in CSS even when CSS parsing failsflatten_css_imports— inlines@importrules in CSSinline_css— inlines small CSS files into HTMLinline_import_to_link— converts CSS@importto<link>tagsinline_javascript— inlines small JavaScript files into HTMLrewrite_css— minifies CSSrewrite_images— recompresses and resizes imagesrewrite_javascript— minifies JavaScriptrewrite_style_attributes_with_url— rewrites URLs instyleattributes
Enabling and disabling filters
EnableFilters
Adds filters on top of those already active from the RewriteLevel. Accepts a comma-separated list of filter names.
pagespeed EnableFilters collapse_whitespace,remove_comments;
ModPagespeedEnableFilters collapse_whitespace,remove_comments
pagespeed EnableFilters collapse_whitespace,remove_comments
DisableFilters
Removes filters from the active set. Use this to turn off specific CoreFilters you do not want.
pagespeed DisableFilters combine_css,combine_javascript;
ModPagespeedDisableFilters combine_css,combine_javascript
pagespeed DisableFilters combine_css,combine_javascript
ForbidFilters
Blocks filters from being enabled by any means, including query parameters and .htaccess overrides. Use this to lock down your configuration in multi-tenant or shared-hosting environments.
pagespeed ForbidFilters inline_javascript,inline_css;
ModPagespeedForbidFilters inline_javascript,inline_css
pagespeed ForbidFilters inline_javascript,inline_css
ForbidAllDisabledFilters
Automatically forbids every filter that is not currently enabled. This prevents users from enabling additional filters via query parameters or .htaccess.
pagespeed ForbidAllDisabledFilters on;
ModPagespeedForbidAllDisabledFilters on
pagespeed ForbidAllDisabledFilters on
Checking your filter configuration
Open the admin page at /pagespeed_admin/config in your browser to see the full list of active filters and their current settings. This page reflects the running configuration after all directives are applied.
Tuning parameters
Several directives control size thresholds and quality levels for filter behavior. The table below lists commonly adjusted parameters with their defaults.
| Parameter | Default | Description |
|---|---|---|
CssInlineMaxBytes | 2048 | Maximum size (bytes) of a CSS file to inline into HTML |
JsInlineMaxBytes | 2048 | Maximum size (bytes) of a JavaScript file to inline into HTML |
ImageInlineMaxBytes | 3072 | Maximum size (bytes) of an image to inline as a data URI |
ImageRecompressionQuality | 85 | Quality level (0-100) for recompressed JPEG images |
CssFlattenMaxBytes | 102400 | Maximum size (bytes) of CSS after flattening @import rules |
Set these in your server configuration:
pagespeed CssInlineMaxBytes 4096;
pagespeed ImageRecompressionQuality 75;
ModPagespeedCssInlineMaxBytes 4096
ModPagespeedImageRecompressionQuality 75
pagespeed CssInlineMaxBytes 4096
pagespeed ImageRecompressionQuality 75
URL preservation
By default, mod_pagespeed 1.1 rewrites resource URLs to include content hashes for cache extension. If you use a CDN or other infrastructure that requires stable, unchanged URLs, enable URL preservation for the affected resource types:
pagespeed EnableFilters image_preserve_urls;
pagespeed EnableFilters css_preserve_urls;
pagespeed EnableFilters js_preserve_urls;
ModPagespeedEnableFilters image_preserve_urls
ModPagespeedEnableFilters css_preserve_urls
ModPagespeedEnableFilters js_preserve_urls
pagespeed EnableFilters image_preserve_urls
pagespeed EnableFilters css_preserve_urls
pagespeed EnableFilters js_preserve_urls
With URL preservation enabled, mod_pagespeed still optimizes the resource content (recompression, minification) but serves it at the original URL. The optimized variant is loaded on the first request and served on subsequent requests via the in-place resource optimization flow.
Links
- Filters overview — catalog of all available filters
- Filter reference — complete filter table with descriptions
- Configuration — general configuration directives