mod_pagespeed 1.15
mod_pagespeed, maintained again.
Google open-sourced mod_pagespeed; its last open-source release shipped in 2020. We picked it up. mod_pagespeed 1.15 is a drop-in replacement — same config, same filters, same behavior — with ongoing security patches, the new Cyclone Cache, and support from the people who know the codebase best.
New: the ASP.NET Core
sidecar is now GA — one
dotnet add package WeAmp.PageSpeed.Sidecar.
See the guide →
Five web servers and ASP.NET Core. One optimized codebase.
mod_pagespeed 1.15 runs as a native in-process module on Apache, nginx, and IIS, and ships an ASP.NET Core sidecar for .NET apps. Envoy and Apache Traffic Server are experimental.
Apache
GADrop-in replacement for the Google/Apache module
nginx
GADynamic module — prebuilt apt/dnf package for Debian 11/12/13, Ubuntu 22.04/24.04, AlmaLinux/RHEL/Rocky 9 (x86_64 + aarch64) and 10 (x86_64)
IIS
GANative Windows Server support
ASP.NET Core
GAMiddleware for .NET apps — the bundled-nginx Sidecar (NuGet)
Envoy
ExperimentalHTTP filter for Envoy proxy
Apache Traffic Server
ExperimentalPlugin for the Apache Traffic Server proxy cache
Install on Debian, Ubuntu, or AlmaLinux/RHEL/Rocky 9 or 10
curl -fsSL https://packages.modpagespeed.com/install.sh | sudo sh
# nginx
sudo apt install nginx-module-pagespeed # Debian / Ubuntu
sudo dnf install nginx-module-pagespeed # AlmaLinux/RHEL/Rocky 9 or 10
# Apache
sudo apt install mod-pagespeed # Debian / Ubuntu
sudo dnf install mod-pagespeed # AlmaLinux/RHEL/Rocky 9 or 10 Prebuilt and signed for Debian 11/12/13 and Ubuntu 22.04/24.04 (amd64 + arm64), plus AlmaLinux/RHEL/Rocky 9 (x86_64 + aarch64) and 10 (x86_64) — no compiling. Each nginx module is pinned to its distro's stock nginx, so if you run a different nginx version, contact us for a matching build.
Related reading: ngx_pagespeed won't build on modern nginx? and the nginx image optimization module.
ASP.NET Core
Add it with one NuGet package.
WeAmp.PageSpeed.Sidecar adds mod_pagespeed 1.15 to your ASP.NET Core app as middleware, with a bundled nginx optimizer
on loopback behind it — no separate nginx to install or configure. Linux, and now GA.
dotnet add package WeAmp.PageSpeed.Sidecar What's changed since Google's last release
We picked up where Google left off. Everything below ships in 1.15 — see how it stacks up against the original open-source mod_pagespeed.
Maintained and supported
Regular updates, security patches, and direct support from the team that knows the codebase best.
Drop-in replacement
Same configuration directives, same filters, same behavior. Swap the binary and you're done.
Cyclone Cache
New cache backend shared with ModPageSpeed 2.0. Fixed-size file, lock-free reads, memory-mapped I/O.
Bazel build system
Rebuilt with Bazel for reproducible builds. Prebuilt, signed packages for Apache and nginx across Debian, Ubuntu, and AlmaLinux — no more recompiling the nginx module against each upstream release.
Security fixes
All known CVEs from the open-source project patched. Ongoing security maintenance included.
Multi-platform
One source tree, five ports. Apache, nginx, and IIS ship today; Envoy and Apache Traffic Server are experimental. ASP.NET Core gets the bundled-nginx Sidecar.
Two products. Both maintained.
Chosen by deployment fit, not recency. Pick the one that matches how you serve your site.
In-process module
mod_pagespeed 1.15
Best for teams already running mod_pagespeed who want a supported, maintained release without changing their setup.
- ✓ Drop-in compatible with open-source config
- ✓ Apache, nginx & IIS today; Envoy & Apache Traffic Server experimental
- ✓ In-process — no sidecar needed
Out-of-process worker
ModPageSpeed 2.0
Ground-up rewrite in C++23. An async worker behind an nginx reverse proxy. Best for new deployments and teams that want the reverse-proxy or middleware model.
- ✓ AVIF, SVG, and Jpegli image pipeline
- ✓ ASP.NET Core middleware + Docker / nginx reverse proxy
- ✓ Worker process + web console
Frequently asked questions
1.15-specific questions below. For the 2.0 architecture and integrations, see the 2.0 FAQ →
What counts as a site?
example.com — together with all of its subdomains. www.example.com and shop.example.com are the same site; example.co.uk is a different one. Licensing is per site on every tier and every engine — mod_pagespeed 1.15 and ModPageSpeed 2.0 share one ladder. A multi-domain storefront or a white-label setup serving many customer domains needs one license per registrable domain; if your setup doesn't map cleanly onto domains, talk to us about Enterprise terms.What happens if I run unlicensed?
X-PageSpeed-Warn: unlicensed response header, show a notice in the admin console, and write a warning to the startup log. Production use requires a commercial license.Does the unlicensed warning escalate over time?
X-PageSpeed-Warn: unlicensed response header, the same admin-console notice, the same startup-log line. Nothing throttles and nothing expires. Production use requires a commercial license — but the software never locks you out.If it never locks me out, what does a license actually buy?
X-PageSpeed-Warn header, admin-console notice, and startup-log warning all clear. Support: community-level on Starter, priority email on Business, an SLA and a direct line on Enterprise. And security patches and version upgrades, which every paid subscription includes. The software itself is identical on every tier — we sell the license, not the features.Do I need a license for development, staging, or CI?
What happens after I cancel?
X-PageSpeed-Warn: unlicensed header, an admin-console notice, and a startup-log warning). Re-activate any time — your cache contents and configuration aren't touched.Is there a $0 tier?
X-PageSpeed-Warn: unlicensed header. Production use requires a commercial license. Starter, Business, and Enterprise license a site, not a server; Hoster is priced per host for multi-tenant platforms. See the pricing ladder.How does the Community tier work?
Do containers, replicas, or autoscaling count against my license?
How does the license key work?
How do I attach my site domain to a paid license?
The original mod_pagespeed costs nothing. Why should I pay?
What's your refund policy?
Where do the license terms live?
Is mod_pagespeed still maintained?
Are the known CVEs against Google's last release patched?
Will my existing pagespeed.conf keep working?
pagespeed directives work unchanged — swap the binary, keep your config.How is 1.15 different from Google's last open-source release?
Which web servers does 1.15 support?
What happens when my license expires?
X-PageSpeed-Warn: unlicensed response header (plus an admin-console notice and a startup-log warning). Your web server continues to function normally — no downtime, no data loss. Production use requires a commercial license.Should I run 1.15 or ModPageSpeed 2.0?
Is the license heartbeat the same as 2.0?
Can I run mod_pagespeed 1.15 under ASP.NET Core?
WeAmp.PageSpeed.Sidecar NuGet package adds mod_pagespeed 1.15 to your Kestrel app via middleware, with a bundled nginx + ngx_pagespeed optimizer running on loopback behind it — AddPageSpeed() / UsePageSpeed() wire it in, and a single dotnet add package pulls the bundled native binaries. It is Linux-only (linux-x64, linux-arm64). See the ASP.NET Core sidecar guide. For cross-platform, in-process optimization with WebP and AVIF, use the ModPageSpeed 2.0 middleware instead.Your mod_pagespeed. Maintained again.
Install and run it unlicensed — it fully optimizes and adds an
X-PageSpeed-Warn: unlicensed header. Same config, same filters
— swap the binary and you're optimizing again. Production use requires a commercial license
— but the software never locks you out.