站点、导航与元数据

配置站点身份、导航、SEO 元数据与 Cloudflare 品牌信息。

大部分品牌替换从 src/config 开始,路由级 SEO 则由 src/lib/seo.ts 构建。 这些值应与公开 Worker 域名及 public 中的品牌资源保持一致。

配置文件

文件自定义内容
src/config/website-config.ts名称、描述、应用名、站点 URL、OG 图、关键词、社交账号、发件人与支持邮箱
src/config/social-config.ts把已配置的社交账号和支持邮箱转成图标链接
src/config/footer-config.ts产品、资源、公司与法律 footer 分组
src/config/route-config.ts导航与认证重定向共用的 Routes 常量
src/config/user-sidebar-config.tsDashboard 分组与角色可见性;演示模式可显示管理员导航
src/config/docs-sidebar-config.ts显式文档侧栏链接
src/config/docs-common-config.ts文档标题、描述、首页/文档链接、仓库链接与侧栏默认值

稳定的应用路径应复用 Routes,不要散落在组件中。语言感知 UI 再通过 LocaleLinklocalizePathuseLocaleRouter 处理这些路径。

侧栏的角色可见性只是展示逻辑,不是授权。管理员路由仍需在 beforeLoad 调用 requireAdmin,对应 API 也必须校验角色。

TanStack Start 中的 SEO

这里没有 Next.js 的 metadataBaseopengraph-image.tsx 约定。 src/lib/seo.ts 导出 buildSeoMeta(),路由的 head() 把它生成的 metalinks 数组合入文档 head:

export const Route = createFileRoute("/{-$locale}/_marketing/about")({
	head: () =>
		buildSeoMeta({
			title: "About",
			description: "Learn about the product.",
			path: "/about",
		}),
	component: AboutPage,
})

该辅助函数生成标题、描述、robots、Open Graph、Twitter、canonical 与语言 alternate;文章还可传入发布/修改时间与标签。

canonical 域名目前来自 websiteConfig.metadata.siteUrlBETTER_AUTH_URL 则独立控制 Better Auth 的 origin。请把两者设为同一个部署域名(例如 https://app.example.com),让 canonical、认证链接/cookie、OAuth callback 与 公开路由保持一致。

metadata: {
	siteUrl: "https://app.example.com",
	ogImage: "/og.png",
}

src/routes/sitemap[.]xml.ts 提供 /sitemap.xml。它汇总固定营销路径及多语言 博客、法律页和文档,进行 XML 转义,并返回一小时公开缓存。新增需要收录的应用 路由时,应加入 marketingPaths 或对应内容 source。

品牌替换清单

替换身份与资源

更新 websiteConfig,替换 public 下的 logo、favicon、OG 图和其他资源;删除 过时关键词与占位社交账号。

更新通信身份

websiteConfig.mail.fromEmail 设为已验证发送域名上的地址,supportEmail 设为接收联系消息的邮箱。同时修改法律内容和 React Email 模板中的公司文案。

检查导航

一起修改 footer、dashboard 侧栏、文档链接与 Routes 常量。在中英文下测试内部 链接,并让授权逻辑独立于菜单可见性。

对齐公开域名

websiteConfig.metadata.siteUrl、生产 BETTER_AUTH_URL、OAuth callback 与 provider webhook/callback 都指向同一个公开 origin。公开路径变化后检查每个路由的 head()

重命名 Cloudflare 部署

修改 wrangler.jsonc 中的 name、自定义域名 routesBETTER_AUTH_URL vars。若 D1/R2 也改名,还要同步资源配置与数据库 migration 命令。

验证

  • 页面标题、描述、canonical 与语言 alternate 使用新域名。
  • /sitemap.xml 包含预期的中英文、博客、法律页与文档 URL。
  • Logo、favicon、OG 图、footer、社交链接与支持邮箱均已替换。
  • Dashboard 导航按角色显示,同时受保护路由/API 会拒绝未授权用户。
  • 认证 callback 与 cookie 在 SEO 使用的同一 origin 上正常工作。

相关页面

On this page