我花了3天扫描了5个JavaScript技术站点的SEO健康度——React文档、Vercel、Stripe、Linear、Shopify。每家10个页面,19项检测。结果:100%翻车,平均每个站点9.4处问题。
最讽刺的发现:React官方文档里有个JavaScript文件加载失败。一个教全世界写JS的站点,自己的JS崩了。
React:高分背后的"裸奔"现场
React文档(react.dev)在这次扫描中得分最高,但"最高"不等于"好"。
它做对了什么:内部链接密度3.5条/页,零孤立页面,所有页面可索引,规范标签和开放图谱(Open Graph)标签齐全。
问题清单同样刺眼:10个页面全部缺失结构化数据(Schema.org),9个页面元描述(meta description)过短,1个页面(/versions)的JavaScript文件加载失败。那个失败的JS文件像是一个黑色幽默——Facebook花了十年推广React,自家文档却栽在基础资源加载上。
元描述过短意味着搜索引擎结果页(SERP)中,你的摘要被系统截断或重写,点击率直接受损。结构化数据缺失则放弃了富媒体摘要(rich snippets)的免费曝光位。这些不是技术难题,是优先级问题。
Vercel:SSR标杆,细节漏成筛子
作为Next.js的母公司,Vercel(vercel.com)理应是服务端渲染(SSR)的教科书。扫描结果验证了这一点:所有页面可索引,内容深度足够,OG标签全覆盖。
但"教科书"在细节上挂科:/abuse页面缺失元描述,/academy页面缺失规范标签,某个子页面连H1标题都没有。
最意外的是内部链接——扫描的10个页面中,平均内部链接数为0.0。10个页面里有9个是孤立页面(orphan pages),意味着爬虫无法通过站内导航发现它们。这对一个卖"SEO友好框架"的公司来说,像个冷笑话。
孤立页面的危害在于:即使页面本身质量合格,搜索引擎也可能因抓取不到而永不索引。Vercel的解决方案是SSR,但SSR只解决"渲染后内容可见",不解决"链接关系可发现"。
Stripe:基础分拉满,高级分交白卷
Stripe文档(stripe.com/docs)是我预期中的满分选手。扫描确认:标题、元描述、H1、规范标签、OG标签、标题层级结构——全部合规。零孤立页面。
但"合规"和"优秀"之间隔着一道结构化数据的鸿沟。10个页面,Schema.org标记为0。
文档类站点的结构化数据(如TechArticle、Code、HowTo)能直接触发Google的代码片段、步骤指南等特殊展示样式。Stripe的API文档每天被无数开发者搜索,却主动放弃了这些富媒体位。
更隐蔽的问题:7个页面的图片缺失替代文本(alt text),8个页面加载时间超过3秒,所有10个页面都存在API请求失败。API失败意味着什么?部分动态内容可能在爬虫视角下从未加载。Stripe的文档大量依赖实时API获取代码示例,这种架构对真人用户流畅,对机器爬虫却是盲区。
图片替代文本的缺失同时伤害SEO和无障碍访问(accessibility)。这是开发者的经典盲区:能跑通功能,就忘了补描述。
Linear:漂亮产品的SEO暗面
Linear(linear.app)的产品设计被业界追捧,但SEO扫描呈现另一幅图景。
零结构化数据,10个页面元描述全部过短,8个页面标题过短,10个页面加载缓慢,4个孤立页面。
内部链接平均0.5条/页,SPA(单页应用)架构没有生成可供爬虫抓取的页面间链接。2个页面出现JS控制台错误,2个页面API请求失败。
Linear的困境是技术选型代价:为了极致的交互体验选择重度前端渲染,却牺牲了搜索引擎的可理解性。他们的用户主要靠口碑和社交媒体获取,但"不靠搜索获客"不等于"放弃搜索可见性"。当潜在用户搜索"Linear vs Jira"或"Linear替代品"时,这些流量被让给了竞争对手。
标题和元描述过短的问题尤其可惜。Linear的页面标题像"Linear"这样单薄,在搜索结果中毫无信息量,用户无法预判点击价值。
Shopify:最大公司的最低分
Shopify(shopify.com)是五家公司中市值最高、资源最充裕的,也是得分最低的。
扫描触发了荷兰语区域页面,暴露出多语言站点的典型陷阱:8个孤立页面,7个页面API请求失败,2个页面缺失H1,8个页面无结构化数据。
只检查英文主站会漏掉这些问题。Shopify的国际化架构让爬虫在区域子域中迷路,大量页面因缺乏入站链接而被搜索引擎忽视。
API失败率70%暗示着更深层的技术债务。Shopify的商户后台和前端商店共享部分基础设施,文档站点的稳定性可能被优先级更高的业务挤占。
5个通病:科技巨头的集体盲区
跨站点的模式比单个站点的问题更值得警惕。
结构化数据被 universally 忽视。5家站点中4家零Schema.org标记,唯一可能有标记的页面也未被检测到。这不是技术门槛,是认知盲区——开发者熟悉HTML元标签,却不熟悉JSON-LD格式的知识图谱标注。
元描述沦为填空作业。过短、通用、或干脆缺失,直接影响SERP点击率。这些文本是免费的广告文案位,却被用"Shopify"或"Linear"这样的单单词敷衍。
图片替代文本系统性缺失。每一家都有页面漏填alt属性。修复成本:每张图2分钟。影响范围:SEO排名信号+视障用户的屏幕阅读器体验。
SPA架构的内部链接灾难。Linear和Shopify的孤立页面问题根源相同:客户端路由生成的链接对爬虫不可见。React和Vercel因SSR或静态生成避开了这个坑,但它们的解决方案并未被行业广泛复制。
页面速度全员不及格。多数页面加载超3秒,JavaScript密集型站点的顽疾。Google的Core Web Vitals将速度纳入排名因素,但用户体验的损失比算法惩罚更直接——每延迟1秒,跳出率上升的概率递增。
AI爬虫的盲区比Google更大
上述数据反映的是Googlebot执行JavaScript后的抓取结果。ChatGPT、Perplexity等AI爬虫的能力更弱。
它们通常不执行JS,或执行能力有限。Stripe和Linear那些依赖API请求的动态内容,在AI视角下可能完全空白。这意味着当用户问"怎么用Stripe创建订阅"时,AI助手引用的可能是过时或残缺的文档片段。
SEO的传统定义是"让搜索引擎理解你的网站"。AI时代,这个定义正在分裂:既要让传统爬虫抓取,又要让大语言模型的爬虫获取干净、结构化的文本。后者的规则尚未成型,但技术债已经累积。
扫描结束后,我重新检查了React那个失败的JS文件。它负责版本切换功能,对核心阅读体验影响不大。但一个教开发者处理错误边界(Error Boundary)的站点,自己的边界没守住——这个细节比任何SEO分数都更耐人寻味。
你的站点上次被完整爬取检测是什么时候?那些"应该没问题"的页面,真的被搜索引擎看见了吗?
热门跟贴