url-orchestrator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

URL Orchestrator

URL 协调治理方案

Guide de gouvernance pour standardiser les URLs d'un écosystème multi-sites/multi-produits.
用于标准化多站点/多产品生态系统URL的治理指南。

Quand l'appliquer

适用场景

  • Créer/refactor un routing Next.js App Router
  • Concevoir une arborescence (
    /{scope}/{channel}/{page}
    )
  • Renommer des slugs, déplacer des pages, migrer un domaine
  • Mettre en place canonical,
    robots
    ,
    sitemap
    ,
    noindex
  • Ajouter des routes techniques (API, webhooks, preview)
  • Débugger des problèmes 404 / redirects / soft-404 / duplication SEO
  • 创建/重构Next.js App Router的路由
  • 设计URL结构 (
    /{scope}/{channel}/{page}
    )
  • 重命名slug、迁移页面、更换域名
  • 配置canonical标签
    robots
    sitemap
    noindex
  • 添加技术路由(API、webhooks、预览)
  • 排查404/重定向/软404/SEO重复内容问题

Fichiers de référence

参考文件

FichierContenuImpact
architecture.mdPattern unique, vocabulaire, profondeur, multi-rootsCRITICAL
governance.mdSlugs, channels, collisions, URL builderHIGH
seo-crawl.mdCanonical, indexation, robots, sitemapHIGH
migrations.mdRedirects, status codes, golden set, sunsetHIGH
nextjs-patterns.mdExemples TypeScript App RouterHIGH
extensions.mdAPI, webhooks, downloads, cache, previewMEDIUM
文件内容影响级别
architecture.md统一模式、术语规范、层级深度、多根结构关键
governance.mdSlug规则、渠道管理、冲突处理、URL生成器
seo-crawl.mdCanonical配置、索引策略、robots、sitemap
migrations.md重定向配置、状态码、核心URL集合、资源下线
nextjs-patterns.mdNext.js App Router TypeScript示例
extensions.mdAPI、webhooks、下载资源、缓存、预览

Résumé des règles (CORE)

核心规则摘要

Architecture (CRITICAL)

架构设计(关键)

  • Un seul pattern :
    /{scope}/{channel}/{page}
    partout
  • Profondeur max : 3 segments (public), 4 (contenu)
  • Pages d'index : obligatoires pour chaque scope/channel
  • Multi-roots : choisir path ou subdomain, ne pas mixer
  • 统一模式:所有URL均采用
    /{scope}/{channel}/{page}
    格式
  • 最大层级:公开页面最多3段,内容页面最多4段
  • 索引页面:每个范围/渠道必须设置索引页面
  • 多根结构:选择路径或子域名,不可混合使用

Gouvernance (HIGH)

规范治理(高)

  • Slugs : kebab-case, minuscules, pas d'accents/underscores
  • Channels whitelistés : pas de synonymes (docs ≠ documentation)
  • Mots réservés : système > contenu
  • URL Builder : génération centralisée, jamais de concat
  • Slug规则:采用kebab-case格式、全小写,无重音符号或下划线
  • 渠道白名单:禁止使用同义词(如docs ≠ documentation)
  • 保留词汇:系统词汇优先级高于内容词汇
  • URL生成器:集中式生成,禁止手动拼接

SEO/Crawl (HIGH)

SEO与爬取(高)

  • Canonical serveur : redirect > balise
  • Policy indexation : public=index, privé=noindex
  • robots.txt + sitemap : alignés avec policy
  • Preview : noindex + no-store
  • 服务器端Canonical:重定向优先于标签
  • 索引策略:公开页面可索引,私有页面不可索引
  • robots.txt与sitemap:与索引策略保持一致
  • 预览页面:设置noindex + no-store

Migrations (HIGH)

迁移规范(高)

  • 308 permanent : pour tout changement d'URL
  • Pas de chaînes : pointer direct vers destination finale
  • Golden set : tester URLs critiques après chaque migration
  • Soft-404 interdit : redirect vers équivalent ou 410
  • 308永久重定向:所有URL变更均使用308重定向
  • 禁止链式重定向:直接指向最终目标地址
  • 核心URL集合:每次迁移后测试关键URL
  • 禁止软404:重定向至等效页面或返回410状态码

Next.js (HIGH)

Next.js 实现规范(高)

Voir nextjs-patterns.md pour :
  • Proxy (ex-Middleware) :
    proxy.ts
    , redirects/rewrites
  • Advanced Routing : Parallel (
    @folder
    ), Intercepting (
    (.)folder
    )
  • Async Params :
    params
    et
    searchParams
    (Promesses Next.js 15+)
  • Typed Routes : Configuration et typage des liens (Next.js 16)
  • Dynamic Segments :
    [slug]
    ,
    [...slug]
    ,
    [[...slug]]
  • SEO/Metadata :
    generateMetadata
    ,
    robots.ts
    ,
    sitemap.ts
  • Validation :
    notFound()
    ,
    redirects()
    next.config.js
详情请查看nextjs-patterns.md
  • 代理(原Middleware)
    proxy.ts
    、重定向/重写
  • 高级路由:并行路由(
    @folder
    )、拦截路由(
    (.)folder
    )
  • 异步参数
    params
    searchParams
    (Next.js 15+ 支持Promise)
  • 类型化路由:链接配置与类型定义(Next.js 16)
  • 动态分段
    [slug]
    [...slug]
    [[...slug]]
  • SEO/元数据
    generateMetadata
    robots.ts
    sitemap.ts
  • 验证机制
    notFound()
    redirects()
    (next.config.js)

Extensions (MEDIUM)

扩展规范(中)

  • API :
    /api/{scope}/{resource}
    , versioning par header
  • Webhooks : auth obligatoire, noindex
  • Preview : noindex, no-store, auth
  • Downloads : publics vs privés séparés
  • API路由
    /api/{scope}/{resource}
    ,通过请求头进行版本控制
  • Webhooks:必须验证身份,设置noindex
  • 预览页面:设置noindex、no-store并验证身份
  • 下载资源:公开资源与私有资源分离