百度能渲染一部分 JS,但对异步数据、懒加载内容、动态注入的元信息支持不稳定。2026 年 3 月我们搭了一个独立测试域,用 6 个页面把这件事测了一遍。
怎么测的
6 个页面分别只测一个变量:纯 React 渲染标题和正文、正文通过接口异步加载、内链由 JS 动态插入、图片懒加载、Web Component 渲染正文、JSON-LD 由 JS 注入。观察方法用百度搜索资源平台的抓取诊断,看"抓取到的 HTML"里到底有什么。
结果
纯 React 渲染:标题和首屏正文被渲染出来,折叠面板里的内容没有渲染。
接口异步加载的正文:大部分没抓到,只有个别几次拿到了部分。
JS 动态插入的内链:没有被推理到,蜘蛛没有顺着这些链接去抓新页面。
懒加载图片:未被识别,图片没有进索引。
Web Component 渲染的正文:部分失败,不同页面结果不一致。
JS 注入的 JSON-LD:完全没被识别。
结论怎么用
首屏静态内容可靠。异步接口、懒加载、动态注入这三类不可靠。所以:标题、正文、内链、结构化数据,必须出现在服务端返回的 HTML 里。图片如果要参与索引,首屏别用懒加载。
我们还顺手测了抓取节奏
同样的 6 个页面,静态版和 JS 版各一份,观察百度蜘蛛的抓取次数。30 天里静态版平均被抓 4 次,JS 版平均 2 次,而且 JS 版的抓取集中在页面刚上线那几天,之后明显减少。这说明百度对渲染成本高的页面会降低抓取频率,这个结论比单个页面的收录结果更值得注意。
给前端的三个要求
标题和正文在服务端返回;内链用真实 a 标签,别用 onclick 跳转;结构化数据写在模板里,别在组件挂载后插入。三条做到,百度的收录表现会稳定很多,Google 那边也不会更差。
一个现实的做法
如果前端改不动,至少把关键内容预渲染一层,让蜘蛛拿到静态 HTML。用户走原 SPA,两边并行一段时间,等前端排期再做真正的 SSR。这条路我们走过几次,可行,但要接受维护成本。
立场
百度不是不能渲染,是别把 SEO 的关键内容压在渲染上。赌蜘蛛的行为,收益不确定,成本却是确定的——每次改版都要重新赌一次。
元析智能
为软件公司做 SEO 和 GEO 优化