很多站点在浏览器里看着正常,但蜘蛛拿到的 HTML 里却没什么内容。原因通常不是“蜘蛛不抓”,而是頁面依赖 JavaScript 在浏览器端拼装,首屏關键信息没有出現在初始响應中。對站点运营来说,這不只是技術問题,它會直接影响 URL 被發現後的内容判断和索引效率。
先分清三種常见渲染方式
服務端渲染(SSR):服務器返回的 HTML 已经包含主要内容,蜘蛛和用戶拿到的是同一份基础頁面。客戶端渲染(CSR):初始 HTML 接近空壳,内容靠 JS 請求接口後再填充。混合渲染或预渲染:部分内容服務端輸出,部分交互後再加载。三種方式没有绝對好坏,但运营需要知道自己的重要頁面属于哪一種。
自查点一:首屏關键内容是否在源碼里
用浏览器查看網頁源代碼,而不是只看审查元素。搜尋頁面标题、核心段落、主要連結,看它們是否存在于原始 HTML 中。如果源碼里只有挂载点和一堆脚本,正文要等 JS 执行後才出現,就要评估蜘蛛执行 JS 的能力和等待成本。
- 重要栏目頁、文章詳情頁、产品頁優先检查。
- 列表頁的分頁連結、詳情連結是否直接可点。
- 導航和面包屑是否在初始 HTML 中。
自查点二:懒加载與交互後才出現的内容
图片懒加载、点击展開、滚動加载本身不一定是問题,問题在于關键内容被藏在交互後面。比如正文折叠在“展開全文”按钮後,或者規格參數要切換标簽才顯示。蜘蛛可能不會触發這些交互,導致頁面被判断為内容稀薄。
能直接輸出的内容,不要為了视觉效果强行藏起来;确實需要交互的,至少保留可抓取的文本或連結。
自查点三:JS 报错與资源阻塞
渲染依赖脚本,脚本一旦报错或加载超时,頁面就可能停在空壳狀態。自查时打開控制台看是否有报错,检查關键 JS 文件是否被 robots.txt 屏蔽、是否返回 404 或被缓存策略挡住。另外,同步阻塞脚本過多會拖慢首屏,蜘蛛等待時間也有限。
自查点四:缓存與 CDN 返回的版本
有时源站已经改成服務端渲染,但 CDN 或頁面缓存還在返回舊版空壳。核對缓存刷新记錄,用不同 UA 或不同节点請求同一 URL,看返回的 HTML 是否一致。更新上线後,別只刷新首頁,重要栏目和詳情模板也要覆盖。
怎么做一次低成本的渲染自查
- 挑選 5 到 10 個代表性 URL,覆盖首頁、栏目、詳情、列表和搜尋頁。
- 用“查看源代碼”確認關键文本和連結是否存在。
- 關閉浏览器 JavaScript,再看頁面是否還有可讀内容。
- 對比服務器日誌中蜘蛛抓取记錄與頁面實际返回的 HTML。
- 把發現的問题按模板归類,優先修影响面大的類型頁。
頁面渲染自查不需要一次覆盖全站,但需要形成固定检查項。每次改版、換模板、調整前端框架後,都重新看一遍重要頁面在源碼层面的样子。蜘蛛拿到什么,决定了它怎么理解你的站点。