Direct answer: the 36 article pages hold 4.22 MB of raw HTML. Recompressed locally, gzip -9 gives 663 KB (15.7%) and brotli -q11 gives 493 KB (11.7%). A live probe of one article URL per site across the same 10 sites found 10/10 returning gzip and 0/10 using brotli; the median wire/decoded ratio was 26.9% (14.4%–45.8%).

So the 4.22 MB in study 89 is document size, not transfer size. But "gzip is on" does not mean the better codec is in use: in this probe no site returned brotli.

15.7%
gzip / raw
11.7%
brotli / raw
10/10
live responses with gzip
0/10
live responses with brotli

Method: local recompression plus live encoding probe

Local: the 36 cached article pages from study 83 (the same files as study 89) are compressed with gzip.compress(data, 9) and brotli.compress(data, quality=11), then raw, gzip and brotli sizes are compared. This is a laboratory ceiling, not a server default.

Live: for the 10 sites that own those 36 pages, one status-200 article URL per site was requested once with Accept-Encoding: gzip, br. We recorded HTTP status, Content-Encoding, Content-Type, wire bytes, decoded bytes, errors and time; 1.5 s between sites and a 25 s timeout.

ItemLocal recompressionLive probe
Sample36 cached HTML pagesOne URL per site, 10 sites
Comparedraw / gzip / brotli byteswire / decoded bytes
Levelgzip 9, brotli quality 11Server's actual choice
Represents the site?No; only this HTML's compressibilityNo; one URL is a probe

Result: gzip 15.7%, brotli 11.7%

CodecRawCompressedOf rawSaved
gzip -94,220,772663,07515.7%84.3%
brotli -q114,220,772493,18711.7%88.3%
brotli vs gzip663,075493,18774.4%25.6%

Per page, the median gzip share was 15.9% (10.0%–34.9%) and the median brotli share 11.3% (7.1%–27.4%). The best compression came from pages dominated by SVG/template markup; the weakest from pages with more text and less repetition.

Compressed sharegzip pagesbrotli pages
Below 12% (brotli below 9%)611
12%–16% (brotli 9%–12%)128
16%–20% (brotli 12%–16%)109
Above 20% (brotli above 16%)88

Live: all 10 sites use gzip, none use brotli

SiteStatusContent-EncodingWire bytesDecoded bytesWire/decoded
E03200gzip14,85955,49426.8%
E06200gzip10,89037,68228.9%
E09200gzip16,63985,42319.5%
E14200gzip13,67372,14319.0%
E16200gzip8,71619,02645.8%
E19200gzip5,03422,16022.7%
E22200gzip22,530156,70114.4%
E23200gzip83,342308,34027.0%
E26200gzip11,81637,10031.8%
E28200gzip8,57326,92831.8%

Live pages may differ from the 2026-11-03 cache (for example, E03 decoded to 55,494 bytes while the cached raw was 155,211 bytes), so this table compares wire and decoded within the same response and never subtracts live bytes from the cached raw.

Across the 10 URLs, wire totalled 196,072 bytes and decoded 820,997 bytes, or 23.9%. Those are current live pages, not the cached 4.22 MB; the two sets must not be mixed.

More SVG, better compression

Pairing the inline-SVG share from study 89 with this study's gzip share on the same page gives a Pearson correlation of -0.568 across 36 pages: a higher SVG/template share goes with a lower gzip share. This is an association, not causation; it fits the intuition that repeated structure compresses well, but it does not make SVG free — it still adds parsing, memory and bytes before compression.

Why local 15.7% differs from live 26.9%

The two numbers are not directly comparable. Local uses gzip -9 / brotli -q11 on the cached document; live uses whatever level the server picks for the current page, whose content and size may differ from the 3 November cache. The higher live median could come from a lower gzip level, different content or dynamic pages, but this study did not inspect server configuration and does not attribute a cause.

What this means for acceptance

  1. Record document size and transfer size separately. 4.22 MB of HTML becomes about 663 KB under gzip; reporting raw size alone overstates transfer pressure.
  2. Check Content-Encoding, not just page size. All 10 sites returned gzip and none returned brotli; enabling a codec is a server/CDN decision.
  3. Ask about brotli as an option. In this sample it was 25.6% smaller than gzip; the real gain depends on content and server level.
  4. One URL is not the whole site. Paths, content types and edge nodes can differ; acceptance should cover the home page, article pages and key landing pages.
  5. Compression is not a performance score. This study does not measure TTFB, LCP, parsing or CrUX; it is one transfer-size proxy.

Limits

  • Local is a ceiling: gzip 9 / brotli 11 are not server defaults; the result only shows compressibility.
  • Only 10 live URLs: one per site; not the whole site or all paths.
  • Content may have changed: live decoded bytes differ from the 2026-11-03 cache and are not subtracted from it.
  • HTML only: images, CSS, JS, fonts and HTTP headers are excluded.
  • One time window: 2026-11-06 20:42; no cross-day recheck.
  • Pilot: 10 sites, 36 pages; not an industry estimate.

Data and reproduction

Local: equipment-article-html-compression-2026.csv (36 rows × 9 columns: raw/gzip/brotli bytes and shares, saved percentage). Live: equipment-live-content-encoding-2026.csv (10 rows × 10 columns: status, Content-Encoding, Content-Type, wire/decoded bytes and shares, error, time). In-repo copies: docs/research/2026-11-article-html-compression.csv and 2026-11-live-content-encoding.csv.

Probe: scripts/article_html_compression_probe.py (local and live subcommands); tests: scripts/test_article_html_compression_probe.py (no network, 7 tests covering gzip/brotli compression, decoding, percentages and unknown encodings). Run:

python -m unittest scripts.test_article_html_compression_probe

Related: the article HTML weight composition pilot, the article image-delivery pilot, and the homepage resource inventory.

Sources and definitions

  1. Cached pages: study 83, 10 sites and 36 pages (2026-11-03 08:40–08:41).
  2. Local compression: 2026-11-06, gzip -9 and brotli quality 11 on UTF-8 raw bytes.
  3. Live probe: 2026-11-06 20:42, one URL per site, Accept-Encoding: gzip, br.
  4. Statuses and encodings are recorded as returned; no inference is made about unreturned codecs.

Related: the article inline-SVG duplication pilot.

Related: the homepage HTML weight composition pilot.

Related: the homepage HTML compression and encoding pilot.

About the author

Lingyi Information Official (delivery team) works on requirements, proposals and acceptance for corporate websites, brand and smart-manufacturing projects. This article reports local recompression and live Content-Encoding separately, does not treat a laboratory level as a server setting or one URL as the whole site, and uses 10 sites and 36 pages as a pilot only.

Large HTML does not mean large transfer

4.22 MB of HTML, about 663 KB under gzip; 10/10 live sites gzip, 0/10 brotli.

Request a recheck plan