JavaScript 能改善购物体验、促进互动并提升网站性能,但在 SEO 方面需谨慎使用。
Googlebot 负责抓取超 130 万亿网页,即便每页仅加载一秒也需四年多处理。幸运的是,它能同时抓取大量页面并渲染 JavaScript。
这个网络爬虫负责抓取超过 130 万亿个网页。
正如 Google 的 Martin Splitt 所言:“JavaScript 在抓取和索引过程中需要额外的渲染阶段。由于渲染成本高昂,无法总是立即完成。将索引与渲染分离,可先快速索引纯 HTML 内容,稍后再补充需 JS 渲染的内容。”
JS 内容索引存在延迟,意味着其在搜索结果中出现较晚。这对长期稳定的产品详情页影响不大,但对时效性强的促销页或节日指南可能不利。
抓取、渲染、索引
2019年7月,Google 发布《JavaScript SEO 指南》,详解其处理流程。需注意:Googlebot 会直接读取并索引常规 HTML,额外步骤仅针对 JS 动态添加的内容。
此图表展示了 Googlebot 解析和渲染页面内容的步骤,该过程是迭代进行的;每次 Googlebot 发现新 URL 时,都会将其加入抓取队列。来源:Google。
抓取器:Googlebot 从队列获取 URL(如分类页),若未被 robots.txt 屏蔽则进行解析。此阶段发现的新链接会被送回队列,HTML 内容可能被收录。
处理(渲染):URL 进入渲染队列等待处理。Splitt 指出:“渲染耗时取决于多种因素,无法保证即时完成。”渲染完成后,新发现的 URL 被加入抓取队列,JS 生成的内容作为已执行 HTML 推进至索引。
索引:将 HTML 及 JS 提供的内容纳入索引,以便用户搜索时展示。
JavaScript 搜索引擎优化
了解 JS 渲染机制及索引延迟后,可更合理地决定电商网站的 JS 使用策略。
例如,产品分类页常用 JS 实现图片懒加载:首屏图片立即加载,“首屏下方”内容随滚动触发。这提升了加载速度和体验,但实现方式影响 SEO。
如果在该商品分类页面上使用了 JavaScript 懒加载,则只会加载出现在可见屏幕上的图片(或商品)(包括部分显示的图片)。当购物者滚动或滑动时,会加载其他图片和商品信息。
若 JS 仅加载图片,Googlebot 初始解析即可看到链接;若需调用数据库获取商品信息,链接则在渲染后才被发现。理解这一基础原理,有助于进一步探索 JS 与 SEO 的深层关系。
JavaScript SEO 资源
- Google Webmaster 的 JavaScript SEO YouTube 系列
- Google 撰写的《了解 JavaScript SEO 基础知识》
- Adam Audette 撰写的《我们测试了 Googlebot 如何抓取 JavaScript 以及我们的收获》
- Google 出品的视频《JavaScript:破除 SEO 迷思》
- Google 撰写的《确保 Google 能看到懒加载内容》
- Martin Splitt 的演示文稿《面向 JavaScript 开发者的技术 SEO 入门》
- Google 的 Tom Greenaway 和 John Mueller 的演示文稿《提供对搜索引擎友好的 JavaScript 驱动网站》

