本文撰寫於語言標籤改名之前,舊文中提到的 /zh/... 已於 2026-06-01 重新命名為 /zh-Hans/...,並新增 /zh-Hant/...

文件伺服器 SEO 升級與重構

2026-05-30

本次更新分為兩條主線:內容渲染層在各頁面類型間完成統一,並在此基礎上完成了完整的 SEO 改造。

渲染重構

  • 看板、列表、看板組、看板列表現共用同一張卡片渲染器:內邊距、背景、陰影與圓角在各類型間完全一致;列表標題改用與看板一致的 h5 樣式。
  • 每頁一個 <h1>,位於麵包屑最後一項 —— 自然貼合頁面位置,無需額外視覺空間,並成為頁面標題的唯一來源。
  • 全面 HTML 轉義:所有使用者可控字串(名稱、描述、麵包屑文字、canonical URL、OG 圖片 URL)現均經過 html_escape 後再交給模板。形如 Q&A: when to use "file" 這類名稱不再破壞 HTML 屬性。
  • 細節打磨:卡片行內圖示與文字間距、列表與看板圓角統一、列表標題上下內邊距與看板卡片對齊。

SEO 與多語言 URL

  • /zh/.../ja/... 路徑:每個頁面現可透過對應語言的獨立可爬取 URL 存取;原始裸 URL(例如 /policies/)繼續提供預設語言(英文)。
  • 每頁 <link rel="alternate" hreflang="...">:Google 可為不同語言訪客提供對應版本。
  • canonical、Open Graph、Twitter Card、JSON-LD BreadcrumbList 標籤覆蓋每一頁。社群平台的連結預覽現可正確顯示標題、描述與圖片。
  • /sitemap.xml:由後台任務每小時自動產生與重新整理,包含所有頁面及其 hreflang 備用 URL。
  • /op/switch_lang/<code>:全新的語言切換端點,保持 URL 與 Cookie 同步。點擊「中文」會跳轉到 /zh/<當前頁面>/

緣由

渲染重構清理了長期以來按頁面類型分別實作的重複程式碼;SEO 與多語言改造讓文件可被搜尋引擎收錄、可被分享:主站訪客保留語言偏好,同時搜尋引擎將每種語言索引為獨立、可爬取的頁面。