很多团队在 Nuxt 里做 SEO,最开始都只关注一件事:
- title 和 description 有没有设置
这当然重要,但真正进入内容站、电商站或多语言站之后,SEO 很快就不是一两个 meta 标签能解决的问题。团队会陆续遇到:
- sitemap 怎么自动生成
- robots 和 canonical 怎么统一控制
- schema.org 结构化数据怎么维护
- 图片、内容页、分页页是否都被正确索引
这时 Nuxt SEO 的重点就从“单页面头信息”变成“模块化能力组合”。
先分清 Nuxt SEO 的几类职责
Nuxt SEO 相关能力,大致可以拆成五类:
- 元信息:title、description、OG、Twitter Card
- 索引控制:robots、canonical、noindex、分页策略
- 站点发现:sitemap、rss、hreflang
- 结构化数据:schema.org、FAQ、Article、Breadcrumb
- 媒体与性能:图片尺寸、预渲染、内容可抓取性
如果这些职责全堆在页面组件里,维护成本会很快失控。
useHead 是基础,不是完整 SEO 方案
Nuxt 自带的 useHead 和 useSeoMeta 足够处理页面级元信息,但它们解决的是“声明”,不是“治理”。
项目一大,就会出现这些问题:
- 不同页面写法不一致
- canonical 重复或缺失
- 列表页、标签页、搜索页规则混乱
- 内容更新后 sitemap 不同步
所以 useHead 适合做局部页面配置,而站点级 SEO 规则最好由模块和统一策略承接。
Sitemap 与路由策略要一起设计
很多站点不是没有 sitemap,而是 sitemap 生成得不准确。
常见问题包括:
- 把不该收录的搜索结果页也放进去
- 动态内容更新后 sitemap 没刷新
- 多语言页面没有正确输出 alternates
Nuxt 的 sitemap 模块价值就在这里:它可以把内容来源、路由规则和索引策略统一到一个地方,而不是散落在各个页面中手工维护。
Schema 结构化数据更适合模块化封装
FAQ、Article、Breadcrumb、Product 这类 schema 如果每篇文章手写,很快就会出现:
- 字段命名不统一
- 页面类型切换时容易漏改
- 多人协作下质量不稳定
更好的方式是:
- 文章型页面统一走 article schema 组合
- 分类页统一走 breadcrumb 与 collection 规则
- 特定模板由 composable 或 module 统一输出
这样既能保证结构一致,也更便于全站升级。
图片和内容模块也是 SEO 系统的一部分
不少团队把 Nuxt Image、内容路由和 SEO 分开看,但对搜索引擎来说,它们其实是一套系统:
- 图片尺寸和格式影响 LCP
- 图片 alt 和 URL 结构影响语义与抓取
- 内容模块和路由结构影响主题聚合与内链
也就是说,Nuxt SEO 不只是 head 配置,还包括内容组织和媒体交付。
一个常见失败案例:页面 meta 都有,但全站索引质量仍然一般
这类站点往往做到了页面层面的基础 SEO,却缺少系统治理:
- sitemap 不完整
- canonical 策略不统一
- 分类页与文章页内链断裂
- schema 数据结构不稳定
结果是单页看起来“配置都没问题”,但整站搜索表现仍然不够理想。
一份可直接复用的检查清单
- 是否把元信息、索引控制、站点发现、结构化数据和媒体交付分层设计
- useHead 是否只承担页面声明,而不是整站 SEO 治理
- sitemap 是否与真实路由和索引策略保持一致
- schema 是否被封装成可复用规则而不是手写散落
- 图片与内容路由是否纳入 SEO 系统设计
总结
Nuxt SEO 模块真正的价值,不是帮你少写几行 meta,而是把整站 SEO 能力做成可维护的系统组合。只要先把 sitemap、schema、索引规则和内容结构统一起来,SEO 才会从页面技巧升级为站点能力。
进一步阅读:


