网站收录

折叠面板和懒加载里的内容,蜘蛛能读到吗

页面在浏览器里看着内容很足,搜索引擎拿到的可能只有一半。折叠面板、选项卡、懒加载容器、需要点击才展开的区块,都属于内容可见性问题。本文按抓取和索引两个环节,说明哪些写法蜘蛛能读到、哪些读不到,并给出一份从查看源代码到对照索引的自查顺序。

网站收录

折叠面板和懒加载里的内容,蜘蛛能读到吗

同一个页面,在浏览器里看着内容很足,搜索引擎拿到的版本却可能只有上半截。问题常常不在整站渲染,而在几个具体的位置:折叠面板、选项卡、懒加载容器、需要点击或滚动才出现的区块。抓取和收录是两个环节,先要能把内容拿到,再判断这段内容值不值得进索引。可见性出问题的页面,大多卡在前一个环节。

抓取到的是 HTML,不是屏幕

搜索引擎抓取时首先拿到的是服务器返回的 HTML,之后才可能执行 JS 补全内容。所以判断一段内容能不能被读到,第一步是看它在初始 HTML 里有没有。

  • HTML 里就有文字,且没有被刻意隐藏:一般能读到。
  • HTML 里没有,要等 JS 请求接口再插入:取决于渲染是否执行到那一步,不够稳定。
  • HTML 里只有占位符,真实内容放在属性里,例如 data-src:很多时候读不到。

懒加载:影响最大的是图片,其次才是文字

图片懒加载现在很常见,做法是 src 留空或给一张占位图,真实地址放在 data-src,等元素进入视口再替换。文字内容通常不受影响,但如果整个商品列表、文章段落都是滚动到底部才由 JS 追加的,就要留意。

  • 图片:尽量让 src 或 srcset 指向真实资源,或保留 noscript 里的回退写法。
  • 列表:首屏之外的条目最好有对应的分页 URL,而不是只有无限滚动。
  • 一个粗略的评测办法:临时关掉 JS,看还剩多少正文,这个残量大致反映最低限度的可读内容。

折叠面板和选项卡:多数能读到,但别赌

如果折叠区域的内容本来就写在 HTML 里,只是靠 CSS 或一段脚本控制展开,那它通常存在于 DOM 中,能被读到。两种情况例外:一是点击后才去请求接口、把内容动态插进来的,本质就是懒加载;二是内容用图片或画布渲染的,可读性更差。

自查方法很直接:打开查看网页源代码,搜一段只出现在折叠区里的文字。能搜到,说明至少进入了 HTML;搜不到,就要按懒加载的思路处理。

CSS 隐藏与视觉隐藏

display 为 none、visibility 为 hidden 的元素一般还留在 DOM 中,可能被抓取程序读到,但不要指望它被当成正文参与判断。用隐藏文字堆关键词属于老式做法,收益低、风险高。屏幕阅读器专用的隐藏类只要用在该用的地方,没有额外问题。

登录墙、付费墙和强制弹窗

  • 需要登录才能看到的正文,蜘蛛得到的是登录页或提示语,收录的也往往是那个版本。
  • 付费墙要区分开:可公开的标题、首段和摘要尽量放在 HTML 里,剩下的再谈限制。
  • 打开页面就整屏覆盖的弹窗和插屏,会影响内容提取,能延后或减少就减少。

一份可执行的自查顺序

  1. 用查看源代码,搜索正文中的独有关键词。
  2. 临时关闭 JS,看页面还剩哪些内容。
  3. 检查图片是否为空 src,有没有 noscript 回退。
  4. 确认无限滚动是否有对应的分页地址可供抵达。
  5. 用搜索平台的 URL 检查工具查看渲染后的 HTML,与源代码对比。
  6. 把服务器日志里该 URL 的抓取记录,和索引状态对照,看断在哪一步。
内容可见性不是玄学:先保证正文在 HTML 里,再保证它没有被遮住,最后才考虑怎么让它被索引。顺序颠倒,后面的努力容易被前面卡住。