直接答案:36 个文章页的 HTML 合计 4.22 MB,其中可见文字只有 0.19 MB(4.6%);按页看,可见文字占比中位 4.0%,最低 1.4%、最高 31.6%。最大的单块是内联 SVG:合计 1.72 MB(40.7%),30/36 页含 SVG,27/36 页的 SVG 占 HTML 的 20% 以上。
这不是“正文不重要”,而是说:文章页的 HTML 字节主要花在模板、图标、属性和空白上。本期只拆字节,不测压缩后的传输体积,也不把 HTML 大小当性能评分。
方法:从缓存 HTML 拆字节
复用第 83 期缓存的 36 个文章页原始 HTML(10 个公开装备制造企业站点,2026-11-03 08:40–08:41 抓取),零网络。按顺序移除并计量注释、脚本块、样式块、内联 SVG,再计量剩余标签与文本节点;字节一律按 UTF-8 计算。各行百分比以该页 HTML 字节数为分母,保留 1 位小数。
| 桶 | 包含 | 边界 |
|---|---|---|
| 可见文字 | 移除脚本/样式/SVG/注释/标签后的文本,压缩连续空白 | 含导航、页脚文字,不是纯正文 |
| 内联 SVG | <svg>…</svg> 整块 | 不区分图标、Logo 或插图 |
| 脚本 / 样式 | <script> 与 <style> 整块 | 含 JSON-LD 与外链标签 |
| markup | 其余标签(含 class/style/data 属性) | 属性开销以 class_attr_bytes 单列 |
| 空白/其他 | 文本节点中的空白、doctype、未归类余量 | 不逐字符归类 |
结果:文字 4.0%,SVG 30.8%,markup 39.2%
| 桶 | 中位占比 | 最小–最大 | 合计占比 |
|---|---|---|---|
| 可见文字 | 4.0% | 1.4%–31.6% | 4.6% |
| 内联 SVG | 30.8% | 0%–74.1% | 40.7% |
| markup | 39.2% | 14.0%–62.5% | 33.9% |
| 空白/其他 | 16.5% | 3.1%–18.9% | — |
| 脚本 | 4.1% | 2.3%–22.3% | — |
| 样式 | 0.0% | 0%–7.3% | — |
| 注释 | 0.9% | 0.4%–7.5% | — |
SVG 的分布很集中:6 个页面完全没有 SVG,3 个页面低于 20%,其余 27 个页面在 20% 以上。最大的两页都来自 E23,HTML 分别为 308,587 与 309,205 字节,SVG 占 74.1% 与 74.0%,可见文字只有 1.6% 与 1.8%。
可见文字占比分布
| 可见文字占比 | 页面数 | 占 36 |
|---|---|---|
| 低于 5% | 20 | 55.6% |
| 5%–10% | 9 | 25.0% |
| 10%–20% | 4 | 11.1% |
| 20% 以上 | 3 | 8.3% |
29/36 页的可见文字不到 HTML 的 10%。占比最高的 E16(31.7%)、E19(19.4%)、E26(15.9%)都没有内联 SVG,HTML 也更小(18–36 KB)。这更像是模板差异,而不是内容量差异。
按站点:同一模板内差异也很大
| 站点 | 页数 | HTML 中位(字节) | 文字占比中位 | SVG 占比中位 |
|---|---|---|---|---|
| E03 | 5 | 155,211 | 6.4% | 40.4% |
| E06 | 5 | 149,640 | 2.9% | 44.6% |
| E09 | 5 | 87,354 | 5.5% | 29.2% |
| E14 | 5 | 90,421 | 5.3% | 25.4% |
| E16 | 3 | 18,619 | 31.5% | 0.0% |
| E19 | 1 | 21,663 | 19.4% | 0.0% |
| E22 | 5 | 155,239 | 3.1% | 43.8% |
| E23 | 5 | 80,089 | 2.5% | 14.0% |
| E26 | 1 | 36,379 | 15.9% | 0.0% |
| E28 | 1 | 26,485 | 10.0% | 0.0% |
站点内部并不稳定:E23 的 HTML 中位只有 80 KB,但两页超过 300 KB,说明同一模板下也可能因为某个页面嵌入大块 SVG 而膨胀。因此只看站点中位数会漏掉长尾。
为什么内联 SVG 值得单独看
内联 SVG 直接写在 HTML 里,不能像独立图片或脚本那样被浏览器单独缓存;同一组图标在每一页重复出现时,会重复计入每个页面的 HTML。本期 30/36 页含 SVG,合计 1.72 MB,占 36 页 HTML 总量的 40.7%。这只是一个字节事实,不能据此判断图标是否必要、是否重复或是否应改成外部 sprite。
对验收的启示
- 先量 HTML 体积,再谈优化。 36 页中位 106 KB,最大 309 KB;不含压缩后的传输体积。
- 把内联 SVG 单列。 它可能是最大的一块,且无法单独缓存;验收时可要求复用 sprite 或外部文件。
- 文字占比不是内容质量分。 导航、页脚、图标都会稀释占比;它只回答“HTML 里文字占多少字节”。
- 同时看压缩后体积。 本期未测 gzip/brotli;HTML 大不等于传输大,反之亦然。
- 按页看长尾。 站点中位数会掩盖 300 KB 的单页;验收应抽最大页。
局限
- 缓存快照:2026-11-03 抓取的 36 页,未复测改版。
- 非传输体积:未计 gzip/brotli、HTTP/2 头压缩或 CDN 改写。
- 非渲染指标:不测 TTFB、LCP、解析时间或 CrUX。
- 文字含模板:可见文字包含导航与页脚,不等于正文。
- pilot:10 站 36 页,不外推行业;同模板站点可能聚集。
数据与复算
匿名数据:equipment-article-html-weight-2026.csv(36 行 × 23 列:HTML 字节、文字字符/字节/占比、脚本/样式/SVG/注释/markup/空白字节与占比、标签计数、class 属性字节)。仓库内为 docs/research/2026-11-article-html-weight.csv。
解析:scripts/article_html_weight_probe.py;单元测试 scripts/test_article_html_weight_probe.py(无网络,9 项,覆盖脚本/样式/SVG/注释分离、空白压缩、占比与标签计数)。运行:
python -m unittest scripts.test_article_html_weight_probe
配套:文章页图片交付 pilot、文章页正文结构 pilot、首页静态资源清单。
数据来源与口径
- 页面缓存:第 83 期 10 站 36 页(2026-11-03 08:40–08:41)。
- 字节:UTF-8;百分比分母为该页 HTML 字节数。
- 统计时间:2026-11-06,零网络请求。
相关:文章页作者信号 pilot。