Pricing: licensed per site. Never locked out.
One per-site ladder covers both engines. Production needs a license; the software never locks you out.
Run it unlicensed and it optimizes every request, adding one
X-PageSpeed-Warn: unlicensed
response header. On day 1000 the behavior is identical to day 1; the warning never escalates. We
never degrade your site to push you toward a purchase.
A license changes what use is permitted and what support you get, not what the software does. Every tier applies to mod_pagespeed 1.15 (Apache, nginx, IIS) and ModPageSpeed 2.0 (worker and ASP.NET Core) alike.
Plans
Unlicensed
$0
Fully functional without a key, adds an X-PageSpeed-Warn: unlicensed response header.
No key, no signup. Covers evaluation, development, and testing on any number of servers.
Community
$0
Self-attested, renew every 365 days.
Production use for non-commercial sites and registered not-for-profits; the warning header clears.
Starter
$12 /site/month or $8 /mo billed yearly save 31% $99
One site, up to two servers.
Commercial production use for one site. Community-level support.
Business
Recommended
$99 /site/month or $79 /mo billed yearly save 20% $948
Unlimited servers per site.
Autoscaling, containers, and HA replicas all covered. Priority email support.
Enterprise
from $5,000/year
Organization-wide: unlimited sites, servers, and engines.
Service-level agreement, invoicing under a master services agreement, SBOM and signed-artifact attestations, and a direct support line.
Hoster
about $35 /host/month
For hosting providers, billed per host, contact sales.
Covers every site on the host. How the Hoster tier works →
What counts as a site: one registrable domain — example.com and its subdomains together are one site. Servers, containers, and instances don't change the price. The one fence is Starter, which covers a site on up to two servers; Business removes the fence with unlimited servers per site. Full license terms: we-amp.com/licensing/.
Starter and Business prices localize at checkout. VAT or GST is included where FastSpring, our Merchant of Record, is registered to collect it; elsewhere local tax is added at checkout. FastSpring handles checkout and billing. The license is granted by We-Amp B.V., registered in The Netherlands (KvK 57898138). Enterprise and Hoster figures shown in a local currency are approximate conversions of the USD anchors; final pricing for those tiers is set in the agreement.
You're licensing the optimization core behind 231,341 live sites (BuiltWith, May 2026), developed and supported by We-Amp, which helped build ngx_pagespeed, maintained mod_pagespeed, and drove the project's Apache incubation.
Comparing against a CDN or image-optimization service? Run your numbers in the savings calculator or read Image Optimization Cost: Self-Hosted vs CDN.
What if I cancel?
It keeps optimizing when your license expires; it never locks you out. The installation
returns to the unlicensed state, marked by the X-PageSpeed-Warn: unlicensed
response header. Production use then needs a license. Your cache and config are untouched,
so re-activating later picks up where you left off.
Will it break my site?
Transforms are deliberately conservative: JS minification strips whitespace and comments without renaming variables. When an optimization step fails, the design falls back to your original content. Test on staging first, and switch off any path or transform with one line of config. More in the FAQ.
One small company — what's the risk?
Source publication under the Business Source License 1.1 is on our roadmap; each release converts to Apache 2.0 four years after publication. License validation runs offline, with no kill switch in the request path. How licensing works.
How to get started
Install it, run it, and watch it optimize. License it when you go to production.
-
Step 1
Install
Server module — Apache on Debian/Ubuntu:
curl -fsSL https://packages.modpagespeed.com/install.sh | sudo sh sudo apt install mod-pagespeednginx, IIS, or Envoy — see the install guide.
ModPageSpeed 2.0 — the combined Docker image runs the worker and nginx in front of your origin:
docker run --rm -p 80:80 \ -e BACKEND_HOST=host.docker.internal -e BACKEND_PORT=8081 \ -e ACCEPT_EULA=Y \ ghcr.io/we-amp/pagespeed-combined:latestOn ASP.NET Core, add the NuGet package instead:
dotnet add package WeAmp.PageSpeed.AspNetCore -
Step 2
Run it unlicensed
It fully optimizes out of the box — nothing is gated. Unlicensed responses simply carry an
X-PageSpeed-Warn: unlicensedheader, with a matching notice in the admin console and a startup-log line. Evaluate it against your real traffic for as long as you need. -
Step 3
License for production
Production use requires a commercial license — but the software never locks you out. Buy one from the admin console or the ladder above, paste the key, and the warning header clears. You're charged immediately for the term you pick.
Choosing between 1.15 and 2.0
Choose 1.15 if…
For a native in-process module on Apache, nginx, IIS, or Envoy: the same mod_pagespeed directives, the classic filter set, and a built-in admin console, with no extra worker or proxy hop. Drop-in for an existing open-source mod_pagespeed install, and a clean fit for a new one.
Choose 2.0 if…
For new deployments and teams that want the reverse-proxy / worker model: a C++23 worker with variant-aware caching and zero-copy serving. Two integrations: a Docker / nginx reverse proxy in front of any HTTP origin, and an ASP.NET Core middleware.
The license is the same either way — one tier covers both engines, so you can switch or mix without buying twice.
Frequently asked questions
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?
Which integrations are supported?
How does the nginx integration work?
Does it work with Apache?
BACKEND_HOST at your origin, and all optimizations apply automatically. If you need an in-process Apache module instead, that's mod_pagespeed 1.15.Does it work with Kubernetes?
Does it add latency?
Can it break my site?
pagespeed_disallow skips a URL pattern, pagespeed off disables a location, worker flags like --disable-js turn off a transform type, and a PURGE drops cached variants immediately. See configuration.Why not just use Cloudflare or another CDN?
Running mod_pagespeed 1.15? See the 1.15 FAQ →