SEO 百科
可抓取的 JavaScript
本页目录
可抓取的 JavaScript
可抓取的 JavaScript 指网页里由脚本执行后生成、又处在爬虫能看到的位置上的内容和链接[3]。它和普通的 JavaScript 区别在于,爬虫不用先点一下、滚一下,就能拿到同一份结果。做不到这一点,脚本生成的内容就进不了索引。
内容进不了初始 HTML 的原因
搜索引擎抓取一个网址时,第一步拿到的是服务器直接返回的 HTML。脚本生成的内容,要等页面渲染之后才出现。常见的三种情况会让内容错过第一步:
让引擎执行到内容的做法
Google 把 JavaScript 分成三步处理:抓取、渲染、编入索引[3]。要让内容依次经过这三步,常用下面几招:
Yandex 提供了开关,站点可以选择让爬虫执行或不执行 JavaScript;不执行时,只有初始 HTML 里的内容会进索引[1]。
渲染队列与等待
脚本网站的内容不是立刻进索引的。网页返回 200 时,Googlebot 会把它放进渲染队列,等资源有空再渲染[3]。等待时间可能是几秒,也可能更长,取决于队列当时的负载[3]。
Google 说明,无头 Chromium 渲染完页面后,会再次解析渲染后的 HTML,把新发现的链接加入抓取队列,并用渲染后的 HTML 给页面建索引[3]。Bing 也提示,把关键内容藏在客户端渲染之后,可能导致内容无法进入索引[2]。
百度在抓取诊断里给了同类提醒:不少商品详情页的价格由 JavaScript 输出,对百度蜘蛛不友好,价格就很难在搜索中应用[4]。诊断工具能看到爬虫实际拿到的那一份内容[4]。
常见误用
只在内链里用脚本跳转,是第一种。爬虫拿不到真实链接,页面就成了孤岛。
另一种是把整站交给客户端渲染,正文、标题、结构化数据全在脚本里生成。渲染队列一慢,新内容进索引的时间就跟着拉长[3]。
还有一种是内容放在交互之后才出现,例如点击展开才显示正文。爬虫不会模拟这些操作,展不开的部分就等于不存在[3]。
附录
参见
参考资料
官方(境外)
- 《Indexing pages with JavaScript (β)》,Yandex,2026-10-08 访问。
- 《Bing Webmaster Guidelines》,Microsoft Bing,2026-10-08 访问。
- 《了解 JavaScript SEO 基础知识》,Google 搜索中心,2026-10-08 访问。
官方(国内)
- 《平台工具使用手册(抓取诊断)》,百度搜索资源平台,2020-08-14 更新。
外部链接
无。