入口頁的作用是让蜘蛛顺利發現連結,不是用来展示的。所以判断入口頁做得好不好,除了看連結结构和响應速度,還有一個常被忽略的维度:頁面本身的重量。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 节点數達到几萬,就值得回头精简。目标不是追求极致的小,而是让頁面结构简單、响應稳定、連結位置靠前,這样在批量執行时才更容易保持一致性。