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