页面体积检测:有没有踩到 Googlebot 的 2MB 抓取上限
Google 官方文档写得很明确:Googlebot 抓取网页时只处理每种文件类型的前 2MB 解压后内容(PDF 为 64MB),超出部分不参与索引,也不会被用于渲染。注意关键词是「解压后」——也就是说,开启 gzip 或 brotli 压缩对这条限制毫无帮助,必须真正把页面瘦下来。
这件事对 SEO 的杀伤容易被低估:超出的那部分内容不是「没那么重要」,而是彻底不存在。正文后半段里的关键词、页面底部的内链、尾部的结构化数据,Google 和依赖 Google 索引的 AI 全都看不到。
| 内容类型 | 体积 | 占比 | 说明 |
|---|
哪些东西最容易把页面撑大
- 内联 JavaScript——最常见也最致命。把整个前端框架、埋点脚本、组件配置直接写进 HTML,动辄几百 KB 到 1 MB。
- 内联 CSS——为了追求首屏速度把全站样式塞进
<style>,代价是每页 HTML 都背上同样的体积。 - 超大的 JSON-LD——结构化数据本身是好东西,但把整站商品列表或历史文章全量写进 JSON-LD 就会失控。
- data URI 内嵌资源——base64 编码会让体积膨胀约 1.33 倍,还无法单独缓存。
- 构建残留与注释——调试标记、未清理的注释、重复的 source map 引用,都会被计入 2MB。
怎么判断自己是否踩线
不要凭感觉,也不要看浏览器开发者工具里的传输大小——那里显示的是压缩后的值。要判断有没有超 Googlebot 的上限,必须看解压后的 HTML 字节数。一般建议把页面控制在 1.5MB 以内,给内容增长留出余量;逼近 2MB 时就该动手瘦身了。
常见问题
2MB 限制是按压缩前还是压缩后算的?
按解压后的未压缩数据计算,不是服务器发出的 gzip 或 brotli 压缩内容。这意味着开启传输压缩无法绕过这个限制,必须真正减少页面体积。本工具抓取时已让程序自动解压,因此显示的数值就是 Googlebot 实际计入的大小。
什么情况会导致页面体积超标?
常见有四类:一是把大量 JavaScript、CSS 直接内联在 HTML 里;二是嵌入超长文本或数据块,比如把整站数据写进 JSON-LD;三是内容以 base64 data URI 形式内嵌图片或字体,体积会膨胀约 1.33 倍;四是构建工具或调试插件留下的冗余代码与注释。
超出 2MB 会有什么后果?
Googlebot 只处理每种文件类型的前 2MB 解压后内容,超出部分不参与索引与渲染。后果是页面尾部的内容、链接和结构化数据全部失效——正文后半段抓不到,页面底部的内链也发现不了,进而影响整站的抓取覆盖。
sitemap 的 XML 文件也受这个限制吗?
不受。Sitemap 的 XML 有独立规则:单个未压缩文件上限为 50MB 或 50000 个 URL,远高于网页 HTML 的 2MB 限制。本工具检测的是网页 HTML,不适用于 sitemap。