SKILL.md
唯讀
名稱
fixing-metadata
描述
審核並修正 HTML 中繼資料,包括網頁標題、Meta 描述、Canonical URL、Open Graph 標籤、Twitter 卡片、Favicon、JSON-LD 結構化資料及 Robots 指令。適用於新增 SEO 中繼資料、修正社群分享預覽、檢視 Open Graph 標籤、設定 Canonical URL,或上線需要正確 Meta 標籤的新頁面。
版本
1.0.1
工作流程
- 找出缺少或不正確中繼資料的頁面(標題、描述、Canonical、OG 標籤)
- 根據下方的優先級規則進行審核 — 優先修正嚴重問題(重複、索引)
- 確保 title、description、canonical 和 og:url 彼此一致
- 在真實 URL(非 localhost)上驗證社群卡片是否正確呈現
- 保持差異最小化,僅限於中繼資料範圍 — 不要重構不相關的程式碼
適用時機
請參考以下準則:
- 新增或變更頁面標題、描述、Canonical、Robots
- 實作 Open Graph 或 Twitter Card 中繼資料
- 設定 Favicon、App 圖示、Manifest、Theme-color
- 建立共用 SEO 元件或版面中繼資料預設值
- 新增結構化資料(JSON-LD)
- 變更語系、替代語言或 Canonical 路由
- 上線新頁面、行銷頁面或可分享連結
依優先級分類的規則
| 優先級 | 類別 | 影響 |
|---|---|---|
| 1 | 正確性與重複 | 嚴重 |
| 2 | 標題與描述 | 高 |
| 3 | Canonical 與索引 | 高 |
| 4 | 社群卡片 | 高 |
| 5 | 圖示與 Manifest | 中 |
| 6 | 結構化資料 | 中 |
| 7 | 語系與替代語言 | 低-中 |
| 8 | 工具邊界 | 嚴重 |
快速參考
1. 正確性與重複(嚴重)
- 每個頁面只在一個地方定義中繼資料,避免衝突系統
- 不要輸出重複的 title、description、canonical 或 robots 標籤
- 中繼資料必須是確定性的,不能有隨機或不穩定的值
- 對任何使用者產生或動態字串進行跳脫與清理
- 每個頁面必須有安全的 title 和 description 預設值
2. 標題與描述(高)
- 每個頁面必須有 title
- 在整個網站中使用一致的 title 格式
- 保持標題簡短易讀,避免關鍵字堆砌
- 可分享或可搜尋的頁面應有 meta description
- 描述必須是純文字,不能包含 Markdown 或引號垃圾
3. Canonical 與索引(高)
- Canonical 必須指向頁面的首選 URL
- 僅對私人、重複或非公開頁面使用 noindex
- Robots meta 必須符合實際的存取意圖
- 預覽或暫存頁面應預設為 noindex(若可能)
- 分頁頁面必須有正確的 canonical 行為
4. 社群卡片(高)
- 可分享頁面必須設定 Open Graph 標題、描述與圖片
- Open Graph 與 Twitter 圖片必須使用絕對 URL
- 偏好正確的圖片尺寸與穩定的長寬比
- og:url 必須與 canonical URL 一致
- 使用合理的 og:type,通常是 website 或 article
- 適當設定 twitter:card,預設為 summary_large_image
5. 圖示與 Manifest(中)
- 至少包含一個可在各瀏覽器運作的 favicon
- 相關時包含 apple-touch-icon
- Manifest 必須有效,且使用時需正確引用
- 有目的地設定 theme-color,避免 UI 外觀不一致
- 圖示路徑應穩定且可快取
6. 結構化資料(中)
- 除非 JSON-LD 清楚對應到實際頁面內容,否則不要新增
- JSON-LD 必須有效,並反映實際渲染的內容
- 不要虛構評分、評論、價格或組織資訊
- 除非必要,每個頁面偏好一個結構化資料區塊
7. 語系與替代語言(低-中)
- 正確設定 html lang 屬性
- 當有在地化版本時設定 og:locale
- 僅在頁面確實存在時才加入 hreflang 替代連結
- 在地化頁面必須根據語系正確設定 canonical
8. 工具邊界(嚴重)
- 偏好最小變更,不要重構不相關的程式碼
- 除非要求,否則不要遷移框架或 SEO 函式庫
- 遵循專案現有的中繼資料模式(Next.js metadata API、react-helmet、手動 head 等)
審查指引
- 優先修正嚴重問題(重複、Canonical、索引)
- 確保 title、description、canonical 和 og:url 一致
- 在真實 URL(非 localhost)上驗證社群卡片
- 偏好穩定、無趣的中繼資料,而非花俏或動態的
- 保持差異最小化,僅限於中繼資料範圍






