# The state of the PageSpeed installed base, 2026

HTTP Archive data on the PageSpeed installed base in 2026: adoption since 2020, versions, servers, networks, and what no longer receives fixes.

Published: 2026-10-10
Updated: 2026-10-22
Canonical URL: https://modpagespeed.com/blog/pagespeed-installed-base-2026/

In the September 2026 crawl, HTTP Archive saw PageSpeed answering on **39,564 origins**. 20,625 of them report a version; 18,939 send the header with the version hidden. PageSpeed-serving origins are 0.245% of the root pages in the crawl, down from 0.935% in December 2020, the first crawl in this census.

## What this census is

The census counts origins. One origin is the root page of a site: scheme, host and `/`. Every number comes from the monthly HTTP Archive crawl, which loads the root pages of the sites in Chrome's popularity data and records what each server sends back. An origin counts as PageSpeed-serving when HTTP Archive's technology detection finds PageSpeed on its root page. The version is the value of the response header the module sends. The headline and the series combine the desktop and mobile crawls per origin; the server, detection and network tables use the desktop crawl only.

The dataset publishes aggregates only. It names no origin, no hostname and no IP address, and neither does this post. The queries, the tables and the method are in the [pagespeed-census repository](https://github.com/We-Amp/pagespeed-census), with the details in its [methodology](https://github.com/We-Amp/pagespeed-census/blob/main/METHODOLOGY.md). We maintain the current mod_pagespeed line, so we have an interest in these numbers. That is why everything is public: you can rerun it and check our reading.

## Adoption since December 2020

Figure: PageSpeed-serving origins per monthly crawl, by build era

| Crawl          | Google-era | Incubator-era | Current line | Version hidden | Total   |
| -------------- | ---------- | ------------- | ------------ | -------------- | ------- |
| December 2020  | 61,334     | 131           | 0            | 11,939         | 73,404  |
| January 2021   | 60,935     | 156           | 0            | 11,994         | 73,085  |
| January 2022   | 53,520     | 546           | 0            | 13,340         | 67,406  |
| January 2023   | 62,085     | 2,174         | 0            | 38,027         | 102,286 |
| January 2024   | 43,751     | 3,028         | 0            | 28,924         | 75,703  |
| January 2025   | 31,396     | 5,016         | 0            | 23,157         | 59,569  |
| January 2026   | 23,341     | 4,939         | 0            | 21,145         | 49,425  |
| September 2026 | 16,421     | 4,182         | 22           | 18,939         | 39,564  |

Unreleased trunk builds that report `1.15.0.0-<revision>` are counted as incubator-era. The current line appears from the June 2026 crawl on.

The count moves with the crawl as well as with the web.

HTTP Archive's crawl grew from 8,388,540 root pages in June 2022 to 15,586,166 in August 2022; the jump in the chart that year follows it.

Counts across crawls are not directly comparable because the crawl grew, so the share of root pages is the trend to read. The split between versioned and hidden origins also shifts between some crawls, so read the buckets as trends. Since early 2023 the count has fallen in most crawls.

Google-era builds are still the largest group of origins that report a version, and they account for most of the decline. Incubator-era builds grew until late 2025 and have eased since. A large cohort sends the header with the version hidden. In earlier crawls some origins report `1.15.0.0-<revision>`, the version string of the unreleased incubator trunk. No 1.15 release existed until June 2026. The census counts those builds as incubator-era. The current line is still a small group.

## Who runs it today

Figure: Origins per reported version, latest crawl

| Reported version | Era            | Origins |
| ---------------- | -------------- | ------- |
| (hidden)         | Version hidden | 18,939  |
| 1.13.35.2        | Google-era     | 12,725  |
| 1.14.36.1        | Incubator-era  | 4,182   |
| 1.4.26.5         | Google-era     | 2,073   |
| 1.11.33.4        | Google-era     | 1,011   |
| 1.9.32.14        | Google-era     | 343     |
| 1.11.33.2        | Google-era     | 71      |
| 1.12.34.2        | Google-era     | 42      |
| 1.9.32.3         | Google-era     | 37      |
| 1.11.33.5        | Google-era     | 24      |
| 1.15.0           | Current line   | 21      |
| 1.8.31.4         | Google-era     | 14      |

Two builds dominate: `1.13.35.2`, the last Google-era release, and `1.14.36.1`, the incubator release. Below them sits a long tail of older Google-era versions.

The module's header name tells the engines apart. `X-Mod-Pagespeed` comes from the Apache module and `X-Page-Speed` from the nginx module. The `Server` header names the front-most server, which is often not the one running the module.

On the desktop crawl, 21,662 origins send `X-Mod-Pagespeed`, the Apache module's header, and 13,849 send `X-Page-Speed`, the nginx module's header. The Apache module answers behind an nginx front on 6,549 origins and behind Cloudflare on 2,774.

So a Server header of nginx or Cloudflare does not mean the nginx module. Read the Server family in the table below as context, not as the engine.

| Module header                     | Server header family | Origins |
| --------------------------------- | -------------------- | ------- |
| Apache module (`X-Mod-Pagespeed`) | Apache               | 11,061  |
| Apache module (`X-Mod-Pagespeed`) | nginx                | 6,549   |
| Apache module (`X-Mod-Pagespeed`) | Cloudflare           | 2,774   |
| Apache module (`X-Mod-Pagespeed`) | Other                | 662     |
| Apache module (`X-Mod-Pagespeed`) | Not sent             | 608     |
| Apache module (`X-Mod-Pagespeed`) | LiteSpeed            | 7       |
| Apache module (`X-Mod-Pagespeed`) | IIS                  | 1       |
| nginx module (`X-Page-Speed`)     | nginx                | 11,156  |
| nginx module (`X-Page-Speed`)     | Cloudflare           | 2,363   |
| nginx module (`X-Page-Speed`)     | Other                | 232     |
| nginx module (`X-Page-Speed`)     | Not sent             | 79      |
| nginx module (`X-Page-Speed`)     | IIS                  | 18      |
| nginx module (`X-Page-Speed`)     | LiteSpeed            | 1       |

## Where it runs

Figure: PageSpeed share within each exclusive rank band

| Rank band | PageSpeed origins | All origins | Share |
| --------- | ----------------- | ----------- | ----- |
| top 1k    | 0                 | 772         | 0.00% |
| 1k–5k     | 9                 | 3,060       | 0.29% |
| 5k–10k    | 5                 | 3,814       | 0.13% |
| 10k–50k   | 54                | 30,373      | 0.18% |
| 50k–100k  | 86                | 38,526      | 0.22% |
| 100k–500k | 888               | 318,986     | 0.28% |
| 500k–1M   | 1,146             | 412,641     | 0.28% |
| 1M–5M     | 9,939             | 3,472,144   | 0.29% |
| 5M–10M    | 11,537            | 4,504,092   | 0.26% |
| 10M–50M   | 15,900            | 7,366,216   | 0.22% |

Detection finds no PageSpeed origin in the top 1k. Below that the share is small and roughly flat: a few origins in every thousand, in every band. The bands come from HTTP Archive's rank buckets, which start with the March 2021 crawl; each origin falls in exactly one band. The latest crawl has no unranked origins, so the table leaves that row out.

| Segment                   | WordPress share |
| ------------------------- | --------------- |
| PageSpeed-serving origins | 49.5%           |
| All origins               | 31.3%           |

About half of the PageSpeed-serving origins also run WordPress, a clearly higher share than across all origins. We also tried to measure cPanel, a common shared-hosting control panel. Technology detection finds no cPanel install among the PageSpeed origins, against a small number across the whole crawl, so cPanel cannot be measured this way. That is a limit of the detection, not a finding about hosting.

## The ten largest networks

Figure: Ten largest networks by share of PageSpeed-serving origins

| Network                              | Share of header-bearing desktop pages |
| ------------------------------------ | ------------------------------------- |
| CLOUDFLARENET - Cloudflare, Inc., US | 14.5%                                 |
| XSERVER - Xserver Inc., JP           | 9.4%                                  |
| Ukraine-AS - Hosting Ukraine LTD, UA | 9.2%                                  |
| HETZNER-AS - Hetzner Online GmbH, DE | 7.8%                                  |
| NETARTGROUP - Nazwa.pl Sp.z.o.o., PL | 6.1%                                  |
| GMO-I-R1 - GMO Internet, Inc., JP    | 6.0%                                  |
| AMAZON-02 - Amazon.com, Inc., US     | 5.0%                                  |
| GMO-I-R2 - GMO Internet, Inc., JP    | 3.7%                                  |
| AMAZON-AES - Amazon.com, Inc., US    | 2.9%                                  |
| IDCF - IDC Frontier Inc., JP         | 2.6%                                  |

The shares are of header-bearing desktop root pages with an IP address the routing data could attribute, which is nearly all of them. The address is the front-most one the crawler connected to, so a site behind a CDN counts toward the CDN. That is why the largest entry is a CDN: the table shows where sites are served from, not where they are hosted. The dataset publishes shares, not per-network counts, and no per-network version split.

## What no longer receives fixes

99.9% of the origins that report a version run a build that no longer receives fixes: 79.6% a Google-era build last updated in 2018, 20.3% an incubator-era build last updated in 2020. 22 origins report the current line. Update recommended.

The buckets follow the release history. Google-era builds run up to `1.13.35.2-stable`, released on 5 February 2018, the last Google-era release. Incubator-era builds are the 1.14 line, last published as `1.14.36.1` in July 2020 from the [Apache Incubator repository](https://github.com/apache/incubator-pagespeed-mod), which was archived in 2023, plus unreleased trunk builds from that repository. The current line starts at `1.15.0`, released by We-Amp in June 2026. Origins that hide their version are not counted as out of date, so the true share across all PageSpeed origins is unknown in either direction.

This post lists no vulnerabilities. Builds before 1.15.0 no longer receive fixes; update recommended. Advisories and how to report a problem are on the [security page](https://modpagespeed.com/security/).

## How to get current

The census counts three-number versions from 1.15.0 on as the current line. It installs from the signed repository below.

```sh
curl -fsSL https://packages.modpagespeed.com/install.sh | sudo sh
```

Then install the module for your server; the [download page](https://modpagespeed.com/download/) has the per-server steps and the other channels. Later updates arrive through `apt-get upgrade` or `dnf upgrade`.

Open source under the Apache License 2.0.

If you run PageSpeed for customers, the [hosting partner program](https://modpagespeed.com/hosting-partners/) adds fleet support and a direct channel. If you want a support agreement for your own sites, the [pricing page](https://modpagespeed.com/pricing/) lists the support tiers.

## Method and data

In the September 2026 desktop crawl, 35,511 root pages send a PageSpeed header. Technology detection flags 28,743 pages, one of them without the header.

| Signal                          | Root pages |
| ------------------------------- | ---------- |
| Header and technology detection | 28,742     |
| Header only                     | 6,769      |
| Technology detection only       | 1          |

Detection misses roughly one in five pages that send the header. The headline and the series count detected origins, so those counts are floors. The cross-check covers the latest crawl only; earlier crawls were not checked. The full method is in [METHODOLOGY.md](https://github.com/We-Amp/pagespeed-census/blob/main/METHODOLOGY.md), and the queries and tables are in the repository linked above.

The limits, in short:

- HTTP Archive covers the sites in Chrome's popularity data. The census measures that sample, not the whole web.
- Hidden or altered headers and incomplete detection both make the counts floors on the real base.
- Network shares describe the front-most address, not the hosting provider.

## Where PageSpeed comes from

mod_pagespeed is an open-source project originally developed at Google. mod_pagespeed 2.1.0 and later is developed by We-Amp B.V. and is not affiliated with or endorsed by Google.
