SEO 百科

JavaScript SEO

本页目录

JavaScript SEO 指的是围绕 JavaScript 网页,让搜索引擎能正确抓取、渲染和收录的相关考量[2]。

处理流程

Google 处理 JavaScript 网页,要经过三个阶段[2]:

  1. 抓取
  2. 呈现
  3. 编入索引

抓取工具用无头浏览器运行 JavaScript[2]。网页会先进入抓取队列,等资源允许时才会渲染,渲染结果还会重新解析,从中找出的网址会回到抓取队列[2]。

渲染的前提

JavaScript 运行起来,有一个前提:这个网址得先被抓取[2]。

如果 robots.txt 把这个网址标记为禁止抓取,抓取工具会跳过它,也就不会渲染它产生的 JavaScript[2]。也就是说,一处屏蔽会连带挡住渲染这一步。

推荐的形态

官方更推荐服务器端渲染或预渲染[2][3]。

原因有两个。一是这样的页面能让用户和抓取工具更快看到内容;二是并非所有抓取工具都会运行 JavaScript[1][2]。也就是说,把内容直接放进 HTML 更稳妥。

兼容性上的限制

Google 对所支持的 API 和 JavaScript 特性有一些限制[2]。

要保证代码兼容,需要按专门的排查清单来检查[2]。其中一条常见做法是功能检测:先判断所需能力是否存在,缺失时提供替代方案[2]。

以延迟加载图片为例,先判断所需的能力是否存在:

if ('IntersectionObserver' in window) {
  initLazyLoading();
} else {
  loadAllImages();
}

支持的浏览器按视口加载图片,不支持的浏览器一次性全部加载。

附录

参见

参考资料

官方(境外)

  1. 《bingbot Series: JavaScript, Dynamic Rendering, and Cloaking. Oh...》,Bing 网站管理员博客。
  2. 《了解 JavaScript SEO 基础知识》,Google 搜索中心。

第三方

  1. 《Dynamic Rendering: Should You Still Use It?》,Search Engine Journal。

外部链接

无。