SEO 百科
Node.js
本页目录
Node.js
Node.js 是一个运行时环境,让 JavaScript 在服务器上运行[1]。做 SEO 的人需要认识它,因为很多前台页面由 React 一类框架渲染,这些框架多半跑在 Node.js 上。选它的好处是前后端用同一门语言;代价是维护成本偏高,页面渲染方式也直接决定内容在不在初始 HTML 里。
在网站里承担的活
Node.js 官方把它定义为异步、事件驱动的 JavaScript 运行时,用来构建可伸缩的网络应用[1]。它接住请求,读取数据库,再把内容发回去。
同一门语言可以同时写前台和后台。Next.js 官方说明,它是一个 React 框架,用来构建全栈网页应用[2]。页面在服务器上渲染成 HTML,也可以在浏览器里继续更新。
// 一个最小 HTTP 服务,直接返回 HTML
import { createServer } from 'node:http';
createServer((req, res) => {
res.setHeader('Content-Type', 'text/html; charset=utf-8');
res.end('<h1>Hello</h1>');
}).listen(3000);
输出页面的方式
Node.js 站点有两条路。一条是服务端渲染,页面在服务器上生成 HTML 再发出去,内容就在初始 HTML 里。Next.js 支持这种做法。
另一条是前后端分离。Node.js 只提供 JSON 数据,页面由浏览器里的 JavaScript 渲染。Google 说明,如果初始 HTML 不含实际内容,它必须先执行 JavaScript,才能看到网页内容[3]。
纯客户端渲染的单页应用,初始 HTML 往往只有一个空框架。
选型的好处与代价
好处是前后端共用 JavaScript,团队不用切换语言。官方还说 Node.js 用事件循环处理并发,函数几乎不阻塞,适合做网络服务[1]。
代价有三点。一是不擅长计算密集的任务,单个进程遇到耗时计算会卡住其他请求。二是依赖更新快,一个项目动辄几百个包,升级与安全修补要持续投入。三是托管支持不如 PHP 普遍,很多虚拟主机不支持常驻进程。
前端 JavaScript 的普及度可以作参考。统计机构 W3Techs 的数据显示,它被 98.9% 的网站用作客户端语言[5]。
与抓取和收录的关系
抓取是收录的第一步。百度把收录概括为“从互联网抓取网页、建立索引数据库、将索引库中数据展现给用户”[4]。HTML 在服务器上生成,正文就在响应里。
Google 给出的建议是采用服务端渲染或预渲染,理由是用户和爬虫都能更快看到内容,而且并非所有爬虫都会执行 JavaScript[3]。
常见误用
一种误用是全站纯客户端渲染。初始 HTML 是空的,正文和标题都由 JavaScript 生成,收录只能等渲染,速度慢,还可能漏掉。
另一种误用是把接口当成页面。返回 JSON 的地址被外部直接访问或采集,收录进来一批没有内容的网址。
还有一种误用是让构建一直失败。依赖升级后打包报错,页面停在旧版本,新内容发布不出去。
附录
参见
参考资料
官方(境外)
- 《About Node.js®》,OpenJS Foundation。
- 《Next.js Docs》,Vercel。
- 《了解 JavaScript SEO 基础知识》,Google 搜索中心,2026-03-05 更新。
官方(国内)
- 《百度搜索的工作原理》,百度搜索资源平台,2023-12-21 更新。
第三方
- 《Usage statistics of JavaScript for websites》,W3Techs,2026-10-07。
外部链接
无。