网站收录

懒加载、折叠面板与 Tab:抓取端能看到的正文有多少

浏览器里内容完整、源代码里却只有一句“加载中”,是收录环节最常见的落差之一。本文拆解图片懒加载、折叠面板、Tab、无限滚动这几类内容在抓取与渲染中的不同表现,并给出一套从查看网页源代码到核对索引状态的自查顺序,以及不需要大改架构的调整方向。

网站收录

懒加载、折叠面板与 Tab:抓取端能看到的正文有多少

很多页面的正文在浏览器里是完整的,但抓取端拿到的 HTML 里只有一句“加载中”。这类问题在收录环节很常见:页面既没有被屏蔽,也不是质量不够,而是关键内容一开始就不在初始 HTML 里。

先分清两件事:源码和渲染结果

抓取到一段 HTML 之后,搜索引擎通常会做一次渲染,把 JavaScript 执行完再取 DOM。理论上,渲染后的内容也能进入索引,但渲染排期有延迟、有资源上限,也更容易因为脚本报错或接口超时而失败。所以一个实用的判断标准是:这段内容在“查看网页源代码”里能不能直接搜到。搜得到,问题不大;搜不到,就要做好它可能被漏掉的准备。

另外要区分抓取与收录:抓取只是把 HTML 取回来,之后还要经过处理、去重、质量评估,才决定是否建立索引。渲染失败会卡在靠前的环节,后面的步骤也就无从谈起。

三类常见的“伪隐藏”内容

图片与 iframe 的原生懒加载

图片上使用原生的懒加载属性,只影响浏览器什么时候去下载图片,地址依然写在 HTML 中,图片本身仍能被发现。iframe 也是同样的道理。真正有问题的是把地址留空、等滚动到位置再用脚本赋值,这种做法会让图片和嵌入页面的 URL 在抓取阶段完全消失。

Tab、折叠面板、弹窗里的正文

如果这些内容从一开始就写在 HTML 中,只是用 CSS 控制显示与否,抓取端通常能看到。但不少实现走的是“点击后再请求接口、把返回结果插进 DOM”的路径,那么不点击就等于不存在。

  • 产品参数放在“更多参数”折叠里,默认不请求;
  • FAQ 的答案在点击时才拉取;
  • 评论区、用户问答走接口加载,且每条内容没有可点开的独立 URL。

这几类内容往往包含长尾词和用户真实提问,丢掉它们,页面能匹配的查询就少了一大截。

无限滚动与“点击加载更多”

如果滚动只往同一个 URL 里追加卡片,后面的内容就没有自己的地址,也没有内链入口。更稳妥的替代做法是保留分页 URL,用可抓取的链接串起来,滚动加载只作为体验层的增强。

按这个顺序自查

  1. 用“查看网页源代码”,搜一段只在折叠或懒加载区域出现的关键句;
  2. 用抓取测试或渲染测试工具,看渲染后的 HTML 里这句是否出现;
  3. 如果渲染后才有,检查控制台是否报错、接口路径是否被 robots.txt 挡住;
  4. 再看这条 URL 有没有内链或 sitemap 入口,确认它能被发现;
  5. 最后核对索引状态,确认页面是否真的进了索引,而不是停在“已发现”。
渲染能让 JavaScript 生成的内容进入索引,但它不是把内容推迟到点击之后的理由。关键正文最好在初始 HTML 里就有。

调整方向

  • 折叠内容默认输出在 DOM 中,用 CSS 控制可见性,而不是等点击再取;
  • 图片保留原生懒加载属性,但地址必须写在 HTML 中,别用脚本后置;
  • 评论区、问答区至少把前若干条服务端输出,或给每条内容独立 URL;
  • 列表页保留分页链接,避免只靠无限滚动;
  • 把接口路径一并检查,确认没有在 robots.txt 里被误屏蔽。

判断标准其实很简单:把 JavaScript 关掉,页面还剩多少正文?剩下的那部分,才是收录最稳的部分。