网站收录

折叠面板、Tab 和轮播里的正文:收录时算不算页面内容

页面正文写在 Tab、折叠面板或轮播第二屏里,用户点开才看得到,索引里可能就没有。这篇梳理三种常见实现方式的差别,以及怎么自查和取舍,避免核心内容只存在于交互之后。

网站收录

折叠面板、Tab 和轮播里的正文:收录时算不算页面内容

不少页面的正文并不直接铺在页面上:产品参数放在“规格”Tab 里,常见问题折叠起来,图文介绍做成轮播,只有第一屏可见。用户点一下就能看到,但搜索引擎那边,这些文字算不算页面内容,取决于一个更基础的问题——它有没有出现在抓取时拿到的 HTML 里。

先分清:抓取到的 HTML 和用户看到的页面

讨论收录时,第一步不是判断内容“好不好”,而是确认这段文字是否进入了渲染后的文档。爬虫先取原始 HTML,再执行页面脚本,得到一份渲染结果,后续的质量评估和索引处理用的是这份结果。所以同样一句“保修两年”,写在不同位置,命运可能完全不同。

三种常见实现方式的差别

1. 文字本来就在 HTML 里,只是被 CSS 隐藏

折叠面板用 display:none、Tab 的非激活项用 visibility:hidden、轮播把其他几张图放在容器外——这类情况下,文字确实在原始 HTML 中。它通常会进入渲染结果,只是可见性要打折扣。需要注意反过来的一种情况:在页面里塞一段用户永远看不到、只给爬虫看的文字,这属于另一类问题。

2. 点击后才由 JS 插入 DOM

有些组件在首次渲染时只输出空容器,点击 Tab 或展开按钮时才把内容写进页面。这种写法对用户没影响,但爬虫不会去点你的按钮。渲染结果里如果没有触发这一步,那段文字就相当于不存在。

3. 依赖接口异步返回

更彻底的情况是内容来自一次接口请求,页面加载后才填充。这类内容能否被看到,取决于渲染时是否执行了那次请求、请求是否成功、返回是否够快。它在索引里的稳定性明显弱于直接写在 HTML 中的文字。

“隐藏内容会不会被降权”要分开看

关于隐藏内容,常见的误解是把两件事混在一起:一是页面本来就有的正文,因为交互设计被折叠;二是为了堆词而刻意隐藏、与用户看到的内容不一致的文本。前者是排版和交互问题,后者才是质量层面的问题。真正需要警惕的是后者。

判断标准可以很简单:这段文字对用户是“点一下就能看到的内容”,还是“只有爬虫才会看到的内容”。

自查顺序

  1. 在浏览器里查看源代码,搜索一个只出现在 Tab 或折叠区域里的关键词。搜不到,说明它不在原始 HTML 中。
  2. 禁用 JavaScript 重新加载页面,看看正文还剩多少。剩余过少,说明主要内容依赖脚本。
  3. 用抓取测试工具查看渲染后的 HTML,对比原始源码,确认脚本执行后内容有没有补上。
  4. 分别在移动端和桌面端测试。移动端常把内容折叠得更狠,部分文字可能只在桌面版本输出。
  5. 检查轮播和列表是否只输出第一项。只输出第一张的轮播,后面几张的文案基本等于没有。

内容该放在哪里

  • 核心正文、关键参数、结论性内容尽量直接写在 HTML 中,交互只负责控制显示与否,而不是控制内容是否存在。
  • Tab 里的信息如果是用户决策需要的,尽量在首次渲染时就输出,隐藏状态交给 CSS。
  • 轮播不要承载唯一的核心内容,第一张之外的信息,最好在页面下方以文字形式再出现一次。
  • 页码、展开全文、评论区这类内容不必强求,它们的价值本身就低,抓取与否影响有限。
  • 改版或重构组件时,把“内容是否还在 HTML 里”列为验收项之一,比事后排查省事。

小结

交互形式影响的是用户怎么看到内容,HTML 里有没有这段文字才影响索引能不能看到。把重要内容放进渲染结果的文档中,是相对可控的一步;至于最终是否收录、收录后如何展示,还受页面整体质量和站点情况影响,没有哪一步能单独保证结果。