UrlEdge
回到部落格
2026年5月11日 UrlEdge Editorial3 min read

Redirect API 與規則即程式碼:用 CI/CD 管好 URL 變更

轉址規則是正式環境流量設定,應該像其他發布資產一樣經過審查、驗證、預發、發布、監控與回滾。

展示轉址規則即程式碼、CI 驗證、API 自動化、edge 發布和 rollback snapshot 的開發者工作流看板

很多轉址一開始只是小修正:商品 URL 改了,說明文件搬了,活動頁換了 slug,有人在 next.config.js、Cloudflare、CMS 外掛或 Nginx 裡加一條規則。

規則少時還可以。到了網站搬遷、網域轉移、Shopify/WordPress/headless 改版、跨境電商、私域 QR code、KOL 連結、廣告投放和合作夥伴流量,轉址就不再是順手設定。

一條轉址規則會決定舊連結、搜尋流量、付費點擊、email、QR code、affiliate 連結與文件地址最後到哪裡。這是正式環境流量設定。

更穩的做法,是把 redirect rules 當成可發布設定:規則結構化,CI 驗證,預發環境展示真實行為,production 發布 versioned snapshot,並且在流量切換前準備 rollback。

為什麼轉址要進發布流程

工程團隊已經會審查環境變數、資料庫 migration、feature flag 和 middleware。會影響 SEO、投放、客服與收入的轉址,也應該進同一套流程。

脆弱的流程通常長這樣:

  • SEO 維護一張 redirect map
  • 工程把部分規則複製到 app config
  • Marketing 在另一個工具改活動目的地
  • CMS 外掛產生隱藏規則
  • CDN 負責 host normalization
  • 出問題時沒有人知道哪一層生效

規則即程式碼的價值,不是強迫所有東西用某個格式,而是讓 redirect map 變成可審查的發布資產。它可以是 YAML、JSON、Terraform、CSV 或 API payload。重點是有 owner、有測試、有回滾。

轉址規則即程式碼經過審查、CI 驗證、審批和 edge 發布的 pipeline

規則不能只有 source 和 destination

old_urlnew_url 可以建立 redirect,但不足以安全營運。

比較好的規則契約會寫清楚意圖:

{
  "source": "/old-pricing",
  "destination": "/pricing",
  "status": 301,
  "match": "exact",
  "queryPolicy": "preserve_allowlist",
  "preserveQuery": ["utm_source", "utm_medium", "utm_campaign", "gclid"],
  "owner": "growth",
  "reason": "pricing page consolidation",
  "expiresAt": null
}

搬站、電商與活動場景還會需要 priority、locale、country、device、batch、review status 和 fallback。

欄位為什麼需要
status永久搬移用 301/308,活動或測試用 302/307
match區分 exact、wildcard、regex、host、query、header 和 condition
queryPolicy避免 UTM、click ID、coupon、affiliate ID 遺失
ownerSEO、客服、analytics 或投放出問題時能找到負責人
batch搬遷可以按批次發布與回滾
expiresAt防止臨時活動規則變成長期雜訊

Google 對 redirects 的說明也圍繞意圖:這次移動是臨時還是永久,搜尋結果應該顯示哪個 URL。CI 不能代替團隊做業務判斷,但可以擋掉明顯危險的組合。

API 同步比人工複製可靠

轉址常常不是從 repository 產生的。CMS 改 slug,商品下架,文件版本更新,SEO 代理商交付 migration map,合作夥伴需要 branded link,營運希望快速切 fallback。

如果每個來源都靠人工匯入,規則很快會漂移。

Redirect API 給團隊一個清楚邊界:

來源API 行為
CMSslug 變更時建立或更新 redirect,高流量頁面需要審批
電商目錄下架商品導向替代品、分類、waitlist 或 unavailable page
Docs build新版文件發布時同步舊路徑
搬遷表匯入已審查 batch,驗證後以 snapshot 發布
內部工具讓 support 或 ops 提交規則請求,而不是給 CDN 權限

Redirect API contract 把 CMS、電商目錄、文件發布、migration sheet 和內部工具連到已驗證的 edge rules

Cloudflare 可以透過 Rulesets API 建立 redirect rule。Next.js 和 Vercel 也支援設定式 redirects。這些都是執行層。真正困難的是執行層之外的治理:驗證、歸屬、預發、analytics 與 rollback。

CI 應該檢查什麼

轉址 CI 不應該只檢查 JSON 能不能 parse,而要驗證行為。

值得檢查:

  • source path 重複
  • destination 格式錯誤
  • 缺 owner、reason 或 status
  • wildcard 或 regex 覆蓋 exact rule
  • 有到期時間的活動卻用了永久 status
  • 目標頁回 404、410、5xx 或意外 redirect
  • redirect chain 過長
  • loop
  • UTM、click ID、coupon、partner ID 遺失
  • country、device、header、query 條件沒有 fallback
  • 與其他 batch 衝突

高風險 URL 可以跑 request matrix:

source=/old-pricing
country=TW
device=desktop
query=?utm_source=google&gclid=test
expectedStatus=301
expectedDestination=/pricing?utm_source=google&gclid=test

這樣上線前就能知道這個 request 會去哪裡。

用於轉址變更的 CI QA 和 rollback workflow,包含 request check、snapshot 比對、審批和 recovery path

預發環境要顯示最終路由

轉址 staging 應該回答一個問題:這條 URL 帶著這個 request context,在 production 會發生什麼?

最好顯示:

  • 命中的 rule
  • status code
  • final destination
  • query handling
  • condition result
  • competing rules
  • chain length
  • owner 和 batch
  • 與目前 published snapshot 的 diff

GitHub Actions environments 可以在 deployment 前要求 reviewer。轉址也可以採用同樣模式:CI 驗證,staging 給證據,production publish 等待正確負責人批准。

Rollback 是產品需求

回滾一條 redirect 不應該代表半夜重新部署 origin app。

保留已發布 snapshot。替 import batch 加 tag。把臨時活動規則和永久搬遷規則分開。緊急 override 必須可見,不能藏在 CDN 或 app middleware 裡。

問題更安全的處理
搬遷 batch 錯誤停用或回滾該 batch
重要頁面轉錯增加更高優先級的 exact rule
活動 landing 掛了臨時切到 fallback
regex 覆蓋過寬暫停 pattern,發布明確例外
query policy 破壞 attribution恢復舊策略並重新測試帶 UTM 的 URL

如果規則會影響搜尋、廣告、客服或收入,rollback 就不是附加功能。

UrlEdge 適合哪裡

UrlEdge 適合想自動化 redirect,但不想每次 URL 變更都部署 origin app 的團隊。

屬於 app 本身的小 redirect 可以留在 app config。簡單 host normalization 可以交給 CDN。只要規則需要審查、證據、自動化和快速恢復,就該考慮 Redirect API 與 rules as code。

FAQ

什麼是 redirect rules as code?

把轉址規則放在結構化、可審查的格式裡,並經過驗證、預發、發布與回滾流程。

所有轉址都要放 Git 嗎?

不需要。穩定的 migration rule 適合 Git。來自 CMS、電商目錄、合作夥伴與內部工具的動態規則更適合 API sync。

CI/CD 可以直接發布 redirect 嗎?

可以,但前提是有驗證、預發證據、權限控制、高風險變更審批和 rollback。

參考資料

用 API 自動化發布轉址規則

在部署流程中建立、驗證、發布、監控並回滾 redirect rules。

查看 API

相關文章

查看全部