用前端框架做的站,最容易出的问题不是速度,是搜索引擎看到的内容和用户看到的不一样。
用户浏览器里跑完脚本,页面内容齐全。搜索引擎抓取时如果不执行脚本,拿到的可能是一个空壳。这种站看起来很正常,收录却一直上不去。
最简单的验证方法:浏览器禁用 JavaScript,打开页面,看还剩什么。如果只剩导航和页脚,正文全空,那就要警惕了。
另一个办法是用抓取工具模拟搜索引擎,看抓取的 HTML 源码里有没有正文文字。注意是源码,不是渲染后的 DOM。源码里没有,就存在风险。
现在主流搜索引擎确实能执行 JavaScript,但不是无条件的。渲染要排队,要消耗资源,复杂页面可能几天后才完成渲染,甚至直接跳过。
所以「搜索引擎能渲染JS」这句话没错,但不能作为不做服务端渲染的理由。依赖渲染,等于把收录的主动权交出去。
服务端渲染,最稳,首屏直出,收录没问题,但对架构改造要求高。静态生成,适合内容型站点,构建时生成HTML,速度快、稳定,缺点是更新要及时触发构建。
预渲染,适合页面量大但变化少的站,用工具提前生成快照。这三种里,我最推荐前两种,预渲染作为过渡手段。
早期有人做动态服务,识别到爬虫就返回一版静态内容。这个做法风险很高,一旦被判定为欺骗,后果比收录慢严重得多。
我的原则是同一份内容,用户和爬虫看到的一样。技术上做不到,就改架构,别走捷径。
光看工具报告不够,我会让运维拉一段服务器日志,看爬虫访问这些页面时拿到了什么。返回码正常、内容长度很小,基本可以确定抓到的是空壳。
日志里还能看出爬虫的访问频次。如果某些页面一个月都没被访问过,说明站内路径太深,或者链接结构有问题,得先把入口补上。
前端路由如果用 hash,比如 /#/product/123,后面的部分搜索引擎经常忽略。要用 history 模式,并且服务端配置好回退规则。
还有一种情况:链接是 JS 绑定点击事件实现的,源码里没有 a 标签的 href。这种链接爬虫跟不了,页面就成了孤岛。真链接必须是 a 标签加 href。
我一般让开发配合做四件事:查看源码里有没有正文;禁用JS看页面是否可用;用抓取工具跑一遍,看渲染前后差异;检查所有内链是不是真链接。
这四项过了,才算基本可控。剩下的靠搜索资源平台的收录数据持续观察。
技术选型阶段就把这些想清楚,比上线后再补救省太多事。渲染方式不是纯技术决策,它直接决定你的内容能不能被看见。
来源:闫宝龙,GEO优化专家、企业AI搜索增长顾问,专注帮助企业通过GEO优化和AI搜索优化获得精准客户。主营服务:GEO优化|AI搜索优化|SEO增长|企业官网优化|AI内容营销|海外数字营销