ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Sales CRM 的 SEO 架构:从 lib/seo.ts 到 robots、sitemap 与 llms.txt 的完整链路

Sales CRM 的 SEO 架构:从 lib/seo.ts 到 robots、sitemap 与 llms.txt 的完整链路 Sales CRM 的 SEO 架构从 lib/seo.ts 到 robots、sitemap 与 llms.txt 的完整链路【免费下载链接】sales-crm项目地址: https://gitcode.com/gh_mirrors/sa/sales-crmSales CRM 是一个基于 Next.js 16 React 19 构建的开源销售团队客户管道Pipeline管理系统。它最值得学习的亮点是一套**单源驱动的 SEO 架构**全站只需要维护一个文件 lib/seo.tsrobots、sitemap、llms.txt 以及每个页面的元数据Metadata就全部自动生成。对新手来说这是理解现代站点如何做搜索引擎优化SEO AI 搜索优化的绝佳最小样本。 一张表看懂 SEO 链路全景文件作用面向谁lib/seo.ts站点名称、URL、描述、路由清单的唯一事实源开发者app/layout.tsx注入全局 metadatacanonical、OpenGraph、Twitter 卡片搜索引擎 / 社交分享app/robots.ts动态 robots 规则只放行正规域名屏蔽 /api/搜索引擎爬虫app/sitemap.ts从 SITE_ROUTES 自动生成 sitemap.xml搜索引擎爬虫app/llms.txt/route.ts输出纯文本版站点地图AI 爬虫LLM整条链路只有 5 个文件核心逻辑不到 150 行——这就是精简 SEO 架构的样子。 第 1 步为什么把所有 SEO 配置塞进一个 lib/seo.ts打开 lib/seo.ts你会看到 4 个站点级常量 1 份路由清单SITE_NAME/SITE_DESCRIPTION站点的名字和一句话描述SITE_URL读取环境变量NEXT_PUBLIC_SITE_URL未设置时回退到占位地址方便多环境部署absoluteUrl(path)把/about拼成完整绝对 URL供 canonical 使用SITE_ROUTES站点所有可索引页面的清单每页带 title、description、更新频率changeFrequency和权重priority// SITE_ROUTES 的结构示意真实文件见 lib/seo.ts { path: /, title: Companies, description: ..., changeFrequency: weekly, priority: 1 }它还导出一个pageMetadata()工厂函数传入标题和路径直接返回 Next.js 标准的Metadata对象自动补齐canonical 链接防止重复内容、OpenGraph社交分享卡片和Twitter 卡片。根布局 app/layout.tsx 只需一行...pageMetadata({...})就能让整个站点带上完整的 SEO 头信息。 新手常见错误canonical、OG 图、title 分散在各页面各写一套改 URL 时漏改某处导致搜索引擎抓到重复页。单源配置从机制上杜绝了这个问题。️ 第 2 步robots.ts 的正规域名守卫app/robots.ts 只有十几行但有两个进阶技巧值得抄作业Host 校验每次请求都读取请求头里的host与SITE_URL的域名比对。如果不是正规域名比如别人用你的 CDN 地址做了镜像直接返回禁止抓取全部路径防止流量和权重被镜像站截走。精准放行正规域名下允许抓取全站但明确disallow: [/api/]避免爬虫浪费配额去扫接口。同时它自动声明了sitemap指向sitemap.xml搜索引擎无需自己猜。️ 第 3 步sitemap.ts 零手工维护app/sitemap.ts 的做法是SITE_ROUTES.map(...)一行遍历把路由清单翻译成标准 sitemap 条目url、lastModified、changeFrequency、priority并用export const revalidate 3600让 Next.js 每小时重新生成一次缓存。新增页面时你只需要在SITE_ROUTES里加一行sitemap 自动跟上——没有任何 XML 需要手拼。 第 4 步llms.txt——写给 AI 爬虫的站点地图app/llms.txt/route.ts 是一个极简的 Next.js Route Handler把SITE_ROUTES渲染成一段 Markdown 风格的纯文本包含站点名、一句话描述和每个页面的标题 描述 绝对链接Content-Type为text/plain。这是面向 LLM大语言模型爬虫的新兴约定AI 在回答问题前读取/llms.txt就能快速理解这个站有哪些页面、每个页面讲什么从而更准确地引用你。同样基于SITE_ROUTES生成零额外维护成本——这是整套架构最优雅的地方加一条路由robots、sitemap、llms.txt 三处同步更新。 如何把这套链路搬进你自己的项目复制 lib/seo.ts改掉SITE_NAME、SITE_DESCRIPTION并在部署环境设置NEXT_PUBLIC_SITE_URL为你的正式域名README 的First things to set一节明确把它列为新项目的第 1 步见 README.md。复制三个 app 文件app/robots.ts、app/sitemap.ts、app/llms.txt/route.ts无需改动即可工作。补一张 1200×630 的opengraph-image.jpg放在app/目录下社交分享卡片就齐了项目约定见 lib/seo.ts 中的DEFAULT_OG_IMAGE常量。之后每新增一个页面在SITE_ROUTES里加一行 → 调用pageMetadata()设置页面元数据。完成。小结Sales CRM 用不到 150 行代码示范了 2026 年一个务实的 SEO 完整链路单源配置SITE_ROUTES一处维护处处生效canonical OpenGraph Twitter 卡片pageMetadata()一键生成robots 防镜像 API 屏蔽动态 Host 校验sitemap 自动生成 每小时缓存刷新llms.txt提前布局 AI 搜索时代的站点描述对新手而言这套结构麻雀虽小五脏俱全是理解Next.js 元数据 API从入门到实战的最佳起点。【免费下载链接】sales-crm项目地址: https://gitcode.com/gh_mirrors/sa/sales-crm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进