Routes As Contracts

URL 规范

URL 是 AI 站点里的主键。规范的重点不是美观,而是稳定映射、低歧义和可持续引用。

路径模式

同一个主题必须在三种分发格式下使用同一 slug,避免多组命名并存。

格式 模式 示例
HTML /docs/<slug>/ /docs/page-template/
Markdown /raw/<slug>.md /raw/page-template.md
JSON /api/pages/<slug>.json /api/pages/page-template.json

Slug 规则

slug 应该是可读但不依赖自然语言表达细节的稳定标识。

  • 使用小写英文与连字符,不用空格、下划线和日期前缀。
  • 表达主题而不是营销标题,例如 `url-conventions` 优于 `best-url-guide`。
  • 一个主题一个 slug,避免别名页面并存。
  • 页面标题可以变化,但 slug 尽量不变化。

锚点规则

稳定 anchor 可以显著提升检索系统回引具体结论的能力。

  • 使用语义化 id,例如 `#slug-rules`、`#anchor-rules`。
  • 不要使用构建工具自动生成的随机 hash。
  • 锚点命名遵循 kebab-case,并在页面更新时尽量保持不变。
  • 一级 section 的顺序可调整,但 id 不应随顺序变化。

生命周期策略

删除 URL 的成本很高,因为已有模型缓存、索引和外部引用会立即失效。

  1. 非破坏性更新使用同一路径并提升版本号。
  2. 主题边界变化时,保留旧 URL 并在正文里指向新位置。
  3. 仅在确实需要隔离不兼容事实时,才创建新版本路径。
  4. 版本信息优先放在元数据字段中,而不是强制编码进 slug。