入口页的作用是让蜘蛛顺利发现链接,不是用来展示的。所以判断入口页做得好不好,除了看链接结构和响应速度,还有一个常被忽略的维度:页面本身的重量。HTML 体积和 DOM 规模会直接影响蜘蛛下载、解析、提取链接的成本,在批量入口页的场景下,这个成本会被明显放大。
体积大,影响的是解析环节
先明确一点:搜索引擎不会因为页面 HTML 大就判定页面质量差,也不会因为页面小就给排名加成。真正的影响在过程——页面越大,下载耗时越长,解析占用的资源越多,蜘蛛在单个页面上停留的时间也越久。当入口页成千上万时,这些零散的时间会累积成可观的抓取效率差异。
另外,部分搜索引擎对单页解析的字节数存在上限,超出部分可能不再参与解析。入口页如果在前几十 KB 里没能把关键链接放出来,后面被截断也就不奇怪了。
值得盯住的三个指标
- 传输体积:对比未压缩和 gzip/br 压缩后的大小。纯 HTML 入口页压缩后通常可以控制在几十 KB 以内。
- DOM 节点数:几千个节点属轻量,几万个节点就该考虑精简了。
- 外链资源数量:CSS、JS、字体、统计脚本、图片,每一个都可能带来一次额外请求。
入口页里哪些东西可以砍掉
入口页通常只需要三样东西:一个与主题相关的标题、少量可读的文字、若干条目标链接。其余元素多数是负担。
- 大尺寸图片、轮播图、背景视频:对链接发现没有帮助,还拖慢加载。
- iframe 嵌入:内容往往不参与主页面解析,还会引入不可控的第三方响应。
- 第三方统计与广告脚本:外部域名一旦响应慢或失败,可能把整个页面拖住。
- 多套字体文件、图标库:为了几个图标加载几百 KB,并不划算。
外链资源是入口页最常见的隐患
入口页的 HTML 本身可能很小,但如果 head 里挂了五六个外部 CSS 和 JS,实际抓取时就会产生多次跨域请求。这些请求不会给蜘蛛带来新链接,却增加了失败点:对方服务器超时、证书过期、网络不通,都可能让页面加载不完整。
对入口页来说,比较稳妥的做法是:把必要的样式直接内联在 head 里,少量关键脚本内联或者干脆不用。这样整页只有一个请求,行为可预测。需要提醒的是,别用 base64 把大图塞进 HTML,那只是把体积从外部搬到了内部。
一套简单的自查流程
- 用命令行工具或浏览器“查看源代码”拉取原始 HTML,确认拿到的不是渲染后的结果。
- 记录未压缩体积和开启压缩后的体积,确认压缩是否生效。
- 统计 DOM 节点数量,粗略看看有没有大量重复的包裹层。
- 数一数 head 和 body 里引用了多少个外部资源。
- 确认关键链接在 HTML 源码中出现的位置,尽量靠前。
- 对比移动端和桌面端返回的 HTML,避免两套差异过大的模板。
两个常见误区
页面写得越长,蜘蛛越喜欢;图片和动效越多,页面看起来越“正常”。这两种想法在入口页上都不成立。蜘蛛关心的是能不能快速拿到链接,而不是页面好不好看。
最后给一个粗略的参考:如果入口页的 HTML 压缩后长期在几百 KB 以上,或者 DOM 节点数达到几万,就值得回头精简。目标不是追求极致的小,而是让页面结构简单、响应稳定、链接位置靠前,这样在批量运行时才更容易保持一致性。