跳至主要內容

    SEO 變更日誌工具使用教學

    「為什麼排名突然掉了?」「上次改 title 是什麼時候?」用 SEO 變更日誌記錄每次改動,讓團隊清楚知道「誰、何時、改了什麼、為什麼改、影響如何」。

    1) 為什麼需要 SEO 變更日誌?

    • 追蹤 SEO 歷史:記錄所有影響 SEO 的改動(title、description、schema、canonical、URL 結構等),不用回頭翻 git log。
    • Before/After 對比:清楚看到「改之前是什麼樣子」→「改之後變成什麼」→「為什麼要改」。
    • 團隊協作:行銷、SEO、開發團隊都能看懂的文檔,不需要技術背景也能追蹤 SEO 變更。
    • 歸因分析:排名/流量變化時,快速找出「是哪次變更造成的」,決定要回復或繼續優化。

    2) Changelog 應該記錄什麼?

    必填欄位
    • 日期(變更何時上線)
    • 變更類型(title、description、schema、canonical、URL、content、technical)
    • 影響範圍(單一頁面、多頁面、全站)
    • 變更內容(Before → After)
    • 原因(為什麼要改)
    選填欄位
    • 負責人(誰執行的)
    • Ticket/Issue 編號(方便追溯)
    • 預期影響(預期會提升/不變/可能下降)
    • 實際影響(2-4 週後觀察結果,記錄在這裡)
    • Rollback 狀態(是否已回復、何時回復)

    3) 實戰流程:3 種記錄方式

    方式 1:手動記錄(適合小團隊)
    1. 打開 SEO Changelog 工具,填入變更資訊。
    2. 工具自動產生 Markdown 格式 changelog,複製到 CHANGELOG.md 或 Notion/Confluence。
    3. 每次部署後,團隊成員手動更新 changelog。
    方式 2:CI/CD 自動記錄(推薦)
    1. 在 CI/CD pipeline 中加入 SEO 差異檢測步驟。
    2. 每次部署前,比較 production 與 staging 的 SEO 元素差異。
    3. 如果有差異,自動產生 changelog entry 並 commit 到 repo。
    4. 可選:自動發 Slack/Email 通知團隊。
    方式 3:定期手動對比(適合無 CI/CD)
    1. 每週五用工具抓取所有頁面的 SEO 元素。
    2. 與上週的 snapshot 比較,找出差異。
    3. 手動記錄有意義的變更(忽略自動化的日期/動態內容)。

    4) Markdown Changelog 範例

    markdown
    # SEO Changelog
    
    ## 2025-01-15 | Title & Meta Description Update
    
    **Type**: Title, Description
    **Scope**: 3 pages (/blog/seo-guide, /blog/technical-seo, /blog/link-building)
    **Owner**: @seo-team
    **Ticket**: #SEO-234
    
    ### Changes
    
    #### /blog/seo-guide
    - **Before**:
      Title: `SEO Guide` (10 chars)
      Description: `Learn SEO` (9 chars)
    
    - **After**:
      Title: `Complete SEO Guide 2025: On-Page, Off-Page & Technical SEO` (59 chars)
      Description: `Master SEO with our comprehensive guide covering on-page optimization, link building, and technical SEO best practices for 2025.` (154 chars)
    
    - **Reason**: Previous title/description too short, lacking keywords, poor CTR (1.2%). New version targets "SEO guide 2025" keyword.
    
    - **Expected Impact**: +10-15% CTR, potential ranking improvement for "seo guide" keyword.
    
    - **Actual Impact** (Updated 2025-02-01):
      ✅ CTR increased from 1.2% → 2.8% (+133%)
      ✅ Ranking improved from #12 → #8 for "seo guide"
      ✅ Traffic +45% (from 120/day → 174/day)
    
    ---
    
    ## 2025-01-10 | FAQ Schema Added
    
    **Type**: Schema Markup
    **Scope**: 5 pages (all blog posts)
    **Owner**: @dev-team
    **Ticket**: #DEV-456
    
    ### Changes
    
    - **Before**: Only Article schema
    - **After**: Article schema + FAQ schema (5-8 questions per page)
    - **Reason**: Competitor analysis showed top-ranking pages all have FAQ schema. Aiming for FAQ rich results.
    
    - **Expected Impact**: Potential FAQ rich results in SERP, increased visibility.
    
    - **Actual Impact** (Updated 2025-01-25):
      ✅ 3/5 pages now show FAQ rich results
      ⚠️ 2/5 pages not showing yet (need more time or content quality improvement)
    
    ---
    
    ## 2024-12-20 | URL Structure Change (Rollback)
    
    **Type**: URL Structure, Canonical
    **Scope**: All blog posts (~50 pages)
    **Owner**: @dev-team
    **Ticket**: #DEV-123
    **Status**: ⚠️ Rolled back on 2024-12-27
    
    ### Changes
    
    - **Before**: `/blog/seo-guide`
    - **After**: `/articles/seo-guide`
    - **Reason**: Marketing team wanted to rebrand blog section to "articles".
    
    - **Expected Impact**: Neutral (proper redirects in place).
    
    - **Actual Impact** (Observed 2024-12-25):
      ❌ Traffic dropped -30% (redirects not working correctly)
      ❌ Many pages de-indexed temporarily
    
    - **Rollback**: 2024-12-27 - Reverted to `/blog/*` URLs, restored canonical.
      ✅ Traffic recovered to 95% of original by 2025-01-05.
    
    ---
    
    ## Template (Copy this for new entries)
    
    ```markdown
    ## YYYY-MM-DD | Change Title
    
    **Type**: [Title / Description / Schema / Canonical / URL / Content / Technical]
    **Scope**: [Single page / Multiple pages / Site-wide]
    **Owner**: @username
    **Ticket**: #XXX
    
    ### Changes
    
    - **Before**: ...
    - **After**: ...
    - **Reason**: ...
    - **Expected Impact**: ...
    - **Actual Impact** (Updated YYYY-MM-DD): ...
    ```

    5) 進階技巧:整合 Google Search Console 數據

    在 changelog 記錄變更日期後,用 GSC 的「日期比較」功能觀察前後流量變化。

    plaintext
    範例:評估 title 變更影響
    
    1. 變更日期:2025-01-15
    2. 等待 2-4 週(SEO 效果需要時間)
    3. 在 GSC 比較日期:
       - Before: 2025-01-01 ~ 2025-01-14 (14 天)
       - After:  2025-01-16 ~ 2025-01-29 (14 天)
    4. 觀察指標:
       - Clicks (流量)
       - Impressions (曝光)
       - CTR (點擊率)
       - Average Position (排名)
    5. 記錄結果到 changelog 的「Actual Impact」欄位
    
    如果影響是正面的 → 繼續優化其他頁面
    如果影響是負面的 → 回復變更,記錄在 Rollback 欄位

    6) CI/CD 自動化範例(GitHub Actions)

    yaml
    name: Auto SEO Changelog
    
    on:
      push:
        branches: [main]
    
    jobs:
      detect-seo-changes:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
    
          - name: Fetch Production SEO Snapshot
            run: |
              curl https://yoursite.com/sitemap.xml |           xargs -n1 npx seo-snapshot > prod-snapshot.json
    
          - name: Fetch Staging SEO Snapshot
            run: |
              curl https://staging.yoursite.com/sitemap.xml |           xargs -n1 npx seo-snapshot > staging-snapshot.json
    
          - name: Compare & Generate Changelog
            run: |
              npx seo-diff prod-snapshot.json staging-snapshot.json             --output=CHANGELOG-entry.md             --format=markdown
    
          - name: Commit Changelog
            if: success()
            run: |
              git config user.name "SEO Bot"
              git config user.email "[email protected]"
              cat CHANGELOG-entry.md >> CHANGELOG.md
              git add CHANGELOG.md
              git commit -m "chore: auto-update SEO changelog"
              git push
    
          - name: Notify Team
            run: |
              curl -X POST ${{ secrets.SLACK_WEBHOOK }} \
                -d "SEO changes detected, see CHANGELOG.md"

    延伸閱讀

    常見問題

    SEO 變更日誌的記錄與應用。