i18n 与 SEO
语言路由、规范链接、hreflang 和 JSON-LD 如何协同工作。
模板已内置支持多语言的路由和 SEO,因此内容页面对爬虫而言是正确的,无需逐页接线。
语言地址化路由
已配置语言列表位于 gt.config.json。gt-next 的公共辅助函数会将该列表提供给路由、静态生成、元数据和 fumadocs 加载器。默认语言不带前缀(/docs),其余语言带前缀(/zh/docs)。
语言中立的 Dashboard
Dashboard 对所有已配置语言都使用同一个 /dash 路由族。其请求语言依次来自用户的 GT 偏好、浏览器偏好语言和已配置的默认语言。切换语言会刷新已翻译的界面,但不会改变路径。/zh/dash 等带语言前缀的 Dashboard 路径是无效路径,而非备用 URL。
Dashboard 路由继承 noindex, nofollow 元数据并保持在站点地图之外,因为它们是未来的登录后产品区域。
自适应 hreflang
内容语言是在页面文件夹中拥有真实 index.<locale>.mdx 源文件的已配置语言。未翻译的请求语言会归并到默认语言的规范链接上,而不是去声明一个近乎重复的页面——因此添加一份翻译会自动扩展 hreflang 集群,移除一份则会收缩它。
元数据辅助函数
src/lib/metadata.ts 构建规范 URL、hreflang 的 languages 映射,以及 Open Graph / Twitter 的默认值。每个路由的 generateMetadata 都会组合它们;站点地图也复用同样的辅助函数,使各个页面保持一致。
结构化数据
博客文章会输出 BlogPosting + BreadcrumbList(当文章声明了 faqs 时还有 FAQPage);作者页面输出 Person;博客索引页输出 ItemList。在任意内容页面查看源代码即可看到这些 JSON-LD。