# SEO 審核代理技能

> 一個輕量級的 SEO 審核代理技能，適用於 Claude Code、OpenClaw 和 Codex。執行快速單頁 SEO 審核，檢查核心的頁面及網站層級問題，並生成結構化的 SEO 報告，內含可執行的修復建議。

- Canonical: https://nanoskill.ai/tw/skills/seo-audit
- Markdown: https://nanoskill.ai/tw/skills/seo-audit.md
- Author: JeffLi1993
- Published: 2026-05-11T01:05:35.771Z
- Updated: 2026-07-25T04:34:17.896Z
- Language: zh-TW
- Source type: github
- Popularity signal: 382

## Sources

- https://github.com/JeffLi1993/seo-audit-skill

## Install

```shell
npx skills add JeffLi1993/seo-audit-skill
```

## About

SEO 審核是一個輕量級的 SEO 審核代理技能，適用於像是 Claude Code、OpenClaw 和 Codex 等 AI 編碼代理。它可幫助代理檢查單一 URL、確認核心 SEO 問題，並生成結構化審核報告，包含證據、影響與建議修復。

該技能專注於初步 SEO 檢查，包括標題標籤、元描述、H1 標籤、規範標籤、圖片 alt 文字、關鍵字位置、robots.txt、sitemap.xml、404 處理、URL 規範化、E-E-A-T 信任頁面，以及 JSON-LD 結構化資料驗證。

當您需要在發布頁面前快速進行 SEO 健康檢查、審查著陸頁、診斷基本排名問題，或決定是否需要進行更深入的技術 SEO 審核時，即可使用它。

## Key features

- **快速單頁 SEO 審核**: 對任何 URL 執行快速 SEO 審核，無需設定完整的爬蟲或分析工作流程，即可初步了解頁面的 SEO 健康狀況。
- **核心頁面 SEO 檢查**: 檢查標題標籤、meta 描述、H1 標籤、canonical 標籤、圖片 alt 文字、標題結構、關鍵字位置、內部連結和字數。
- **網站層級 SEO 基礎**: 檢視基礎的 SEO 訊號，例如 robots.txt、sitemap.xml、404 處理、URL 規範化、i18n / hreflang 和 E-E-A-T 信任頁面。
- **JSON-LD 結構化資料驗證**: 偵測頁面是否具有正確的結構化資料，驗證常見的 schema 類型，並標記缺少或不完整的 JSON-LD 欄位。
- **結構化 SEO 審核報告**: 產生一份清晰的 SEO 審核報告，包含通過、警告和失敗狀態，並針對每個重要問題提供證據、影響和具體的修正建議。

## Use cases

- **在發佈前審核著陸頁**: 在發佈首頁、產品頁、工具頁或 SEO 著陸頁之前使用此技能，及早發現基本的 SEO 問題。
- **執行快速 SEO 健康檢查**: 檢查頁面是否具有正確的標題、meta 描述、H1、canonical 標籤、結構化資料、內部連結和其他基本的 SEO 訊號。
- **檢視有排名問題的現有頁面**: 當頁面已被索引但排名不佳，或者當您想快速找出明顯的頁面和網站層級問題時，可以使用它。

## Result preview

查看由此代理技能生成的實際 SEO 審核結果。

![seo-audit-demo](https://file.nanoskill.ai/seo-audit-demo-1.png)

![seo-audit-demo-2](https://file.nanoskill.ai/seo-audit-demo-2.png)

![seo-audit-demo-3](https://file.nanoskill.ai/seo-audit-demo-3.png)

## Result walkthrough

### 步驟 1：安裝

將技能添加到您的代理中

![seo-audit-step-1](https://file.nanoskill.ai/seo-audit-step-1.png)

### 步驟 2：審核任務

使用一個 URL，並要求進行優先排序的審核。

![seo-audit-step-2](https://file.nanoskill.ai/seo-audit-step-2.png)

### 步驟 3：檢視結果

取得您可以立即採取行動的優先 SEO 修復建議。

![seo-audit-step-3](https://file.nanoskill.ai/seo-audit-step-3.png)

## Skill definition

# seo-audit — 基本 SEO 審核

一個輕量級 SEO 代理技能，專為快速、預設的單頁 SEO 審核設計。由 OpenClaw 提供支援。適合首次檢查頁面或需要快速評估，無須深入技術細節時使用。

---

## 何時使用此技能

在以下情況使用 `seo-audit`：

- 使用者說：「審核這個頁面」、「檢查 SEO」、「分析我的網址」、「快速 SEO 檢查」、「我的頁面有什麼問題」
- 未指定特定深度——這是預設的進入點
- 使用者需要快速、易讀的摘要，而非全面的技術細部分析

若使用者需要更多深度，請升級到 `seo-audit-full`：

> **提示：** 如需深度技術審核、進階頁面 SEO 或完整報告，請使用 `seo-audit-full` 技能。

---

## 預期的輸入

| 輸入 | 必要 | 備註 |
|-------|----------|-------|
| 頁面網址 | 是 | 要審核的頁面 |
| 原始 HTML 或頁面內容 | 可選 | 可進行更準確的頁面分析 |
| GSC / 分析數據 | 可選 | 基本審核不需要 |

如果只提供網址且沒有原始碼或爬蟲數據可用，請明確說明：

> **限制：** 此審核僅基於可見的頁面內容和公開可取得的訊號。原始碼、GSC 數據、爬蟲記錄和效能指標不在此審核範圍內。

---

## 輸出

透過填寫 [assets/report-template.html](assets/report-template.html) 中的範本來產生**基本 SEO 審核報告**，
然後**將其儲存為檔案——永遠不要將原始 HTML 列印到終端機**。

**檔案命名：** `reports/<hostname>-<slug>-audit.html`
```
https://example.com/blog/best-tools → reports/example-com-blog-best-tools-audit.html
https://example.com/                → reports/example-com-audit.html
```

**儲存後，告訴使用者：**
```
✅ 報告已儲存 → reports/example-com-audit.html
   立即開啟？ (是 / 否)
```
若是 → 執行： `open reports/example-com-audit.html`

---

**範本佔位符** — 各自獨立填寫：

| 佔位符 | 內容 |
|---|---|
| `{{summary_verdict}}` | 一句話：總檢查數，多少失敗/警告/通過 |
| `{{summary_critical_html}}` | 每個關鍵（失敗）項目的 `<li>`，或 `<li class="summary-empty">無</li>` |
| `{{summary_warnings_html}}` | 每個警告項目的 `<li>`，或 `<li class="summary-empty">無</li>` |
| `{{summary_passing_html}}` | 每個通過檢查的 `<li>`，或 `<li class="summary-empty">無</li>` |

---

## 指令碼

撰寫任何發現之前，先執行這些指令碼。它們輸出結構化的 JSON——直接使用 JSON 作為證據；不要手動重新擷取相同的網址。

**相依性：** `pip install requests` (html 解析使用 Python 標準庫)

```bash
# 步驟 1: 站點層級檢查 (robots.txt + sitemap.xml)
python scripts/check-site.py https://example.com

# 步驟 2: 頁面層級檢查 (H1, title, meta description, canonical)
python scripts/check-page.py https://example.com
# 附帶主要關鍵字 (建議 — 啟用 H1 關鍵字存在檢查)
python scripts/check-page.py https://example.com --keyword "running shoes"

# 可選: 擷取原始頁面 HTML 以供進一步檢查
python scripts/fetch-page.py https://example.com --output page.html

# 步驟 3: JSON-LD schema 驗證
python scripts/check-schema.py https://example.com
# 或從先前擷取的 HTML (避免冗餘擷取)：
python scripts/check-schema.py --file page.html
```

每個指令碼以代碼 `0` (全部通過/警告) 或 `1` (任何失敗/錯誤) 退出。

**嚴格範圍 — 不要新增任何未列於下方的檢查。沒有例外。**

允許的站點層級檢查 (在 `{{site_checks_html}}` 中)：
- robots.txt · sitemap.xml · 404 處理 · URL 規範化 · i18n / hreflang

允許的 E-E-A-T 檢查 (在 `{{eeat_checks_html}}` 中)：
- 關於我們 · 聯絡方式 · 隱私權政策 · 服務條款 · 媒體/合作夥伴 (僅當存在時)

允許的頁面層級檢查 (在 `{{page_checks_html}}` 中)，按以下確切順序輸出：
URL Slug · 標題標籤 · Meta 描述 · H1 標籤 · 規範標籤 · 圖片 Alt 文字 · 字數 · 關鍵字放置 · 標題結構 · 內部連結 · Schema (JSON-LD)

  圖片 Alt 文字邏輯：
  - 從靜態 HTML 解析 <img> 標籤
  - 通過：所有圖片都有非空的 alt (具有 alt="" 的裝飾性圖片可接受)
  - 警告：任何內容圖片缺少 alt 屬性
  - 未驗證 (status-info)：靜態 HTML 中找到 0 張圖片 → 可能為 JS 渲染，無法驗證

⛔ 強制規則 — 僅輸出 report-template.html 中定義的檢查列。
如果檢查不在上述允許清單中，不要輸出它——即使你發現問題。
沒有例外。沒有「額外」檢查。沒有即興添加。
範本是唯一的真相來源。將其視為嚴格的白名單。

仍然禁止 (屬於 seo-audit-full)：OG 標籤 · Twitter 卡片 · 社交標籤 · 頁面權重 · 核心網頁指標 · Robots Meta

**如何使用 JSON 輸出：**
- 將每個欄位的 `status` → `pass` / `warn` / `fail` / `error` 直接對應到報告檢查表
- 使用每個欄位的 `detail` 字串作為發現中證據行的起點
- 除非有額外的可觀察證據，否則不要與指令碼輸出矛盾
- 在 `{{site_checks_html}}` 中使用 `<div class="subsection-label">標籤</div>` 分隔檢查群組：
  `可爬取性` · `URL 規範化` · `i18n / hreflang` · `Schema (JSON-LD)`
  以及在 `{{eeat_checks_html}}` 之前加上 `<div class="subsection-label">E-E-A-T 信任頁面</div>`

**LLM 審查 — 當 `llm_review_required: true` 時強制執行：**

指令碼標記需要語意或品質判斷而無法執行的欄位。
絕不遺留未解決的 `llm_review_required: true`——始終做出明確的判斷決定。

**H1 — 當 `keyword_match == "partial"` 觸發：**
```
h1_text : (來自 h1.values[0])
keyword : (傳遞給指令碼的 --keyword)

判斷：此 H1 在語意上是否涵蓋關鍵字的搜尋意圖？
  - 考慮同義詞、自然變體、主題覆蓋
  - 是 → 降級為 "pass"，註明變體
  - 否  → 保持 "warn" 或升級為 "fail"，解釋落差
```

**Title — 當 `keyword_match == "partial"` 或 `keyword_position != "start"` 觸發：**
```
title   : (來自 title.value)
keyword : (傳遞的 --keyword)

判斷：
  1. 標題在語意上是否涵蓋關鍵字的搜尋意圖？
  2. 標題文法正確且自然可讀嗎？
  3. 關鍵字位置 — 根據頁面類型套用不同標準：
     - 首頁   : 品牌 + 核心關鍵字是正確的 (例如 "Acme | AI 工作流程自動化")
                    不要將品牌優先視為問題。
     - 內頁: 核心關鍵字應在前導 (例如 "團隊的 AI 工作流程自動化 — Acme")
                    如果關鍵字被埋在標題中間而沒有充分理由，標記為問題。

重要 — 不要將以下標記為負面：
  - 年份 (例如 "2026") → 信號新鮮度，提高點擊率 — 視為正面，除非
    頁面明確是常青內容，標註日期會損害長期性。
  - 數字 (例如 "5 個最佳"、"前 10"、"3 步驟") → 設定清晰期望，
    在點擊率上始終優於非數字標題 — 總是視為加分項。
  - 特定修飾詞 ("開源"、"自託管"、"免費") → 縮小意圖
    並吸引更高品質的點擊 — 不要懲罰。
```

**URL Slug — 當 `keyword_match != "full"` 或 `is_homepage == false` 觸發：**
```
slug    : (來自 url_slug.slug)
keyword : (傳遞的 --keyword)

判斷：
  1. Slug 是否包含主要關鍵字或自然變體？
  2. 路徑層次是否合理？ (/category/keyword 是理想的)
  3. 是否簡潔且人類可讀？
  首頁 (is_homepage: true)：跳過 — 無需判斷。
```

**Meta Description — 當內容存在時總是觸發：**
```
meta_description : (來自 meta_description.value)
keyword          : (傳遞的 --keyword)

判斷所有四項：
  1. 完整的句子？ (1-2 個句子，沒有片段)
  2. 提到具體結果 — 而非模糊的空話？
     好："使用 AI 驅動的範本，將設計時間減少 60%"
     差："滿足您所有設計需求的最佳工具"
  3. 關鍵字或自然同義詞使用一次 — 而非堆砌？
  4. 比典型競爭對手會寫的更為具體？

重要 — 不要將以下標記為負面：
  - 年份 (例如 "2026") → 信號新鮮度，改善對時間敏感查詢的點擊率。
    僅在頁面明確是常青內容時才註明年份，若標註日期會損害時。
  - 數字 (例如 "5 個最佳"、"3 步驟") → 具體化，強烈的點擊率信號。
  - 結尾的 "還有更多。" → 最多是輕微的風格註記，絕非警告或失敗。
```

---

## 建議工作流程

按以下順序遵循這些步驟：

1. **確認範圍** — 確認這是基本審核；註明任何缺失的數據

2. **推斷主要關鍵字** — 使用 `fetch-page.py` 擷取頁面，然後確定主要關鍵字：
   - 如果使用者明確提供關鍵字 → 直接使用它
   - 如果沒有 → 閱讀頁面 H1、標題和第一段，然後推斷最有可能的
     目標關鍵字詞組（搜尋者會輸入什麼來找到此頁面？）
   - 在執行檢查前明確陳述推斷的關鍵字：
     > "推斷的主要關鍵字： **開源 claude 替代方案**"

3. **執行 `check-site.py`** — 解析 JSON 輸出的 robots、sitemap、404 處理和 URL 規範化

   **404 檢查：** 擷取 `<origin>/this-page-definitely-does-not-exist-seo-audit-check`
   - 返回 404 → 通過 · 返回 200 (軟 404) → 失敗 · 返回 301 至首頁 → 警告

   **URL 規範化檢查** (每一項都是獨立的子檢查)：
   - **HTTP→HTTPS：** 擷取 `http://<host>` — 必須 301 至 `https://`。返回 200 → 失敗。
   - **www 一致性：** 擷取 `https://www.<host>` 和 `https://<host>` — 其中一個必須 301 至另一個。兩者皆返回 200 → 警告。
   - **尾隨斜線：** 比較實際提供的 URL 與頁面上的 canonical 標籤。不符 → 警告。
   - **Canonical 匹配：** canonical 標籤 href 必須與最終重新導向後的 URL 完全一致。不符 → 警告。

4. **E-E-A-T 基礎設施檢查** — 針對以下每個信任頁面，檢查兩個層級：
   - **層級 1 — 存在：** 擷取 URL，檢查 HTTP 狀態 (200 = 存在，404/重導 = 缺失)
   - **層級 2 — 可達：** 擷取首頁 HTML，檢查頁尾或導覽列是否包含到此頁面的連結

   | 頁面 | 必要 |
   |---|---|
   | 關於我們 | 是 |
   | 聯絡方式 | 是 |
   | 隱私權政策 | 是 |
   | 服務條款 | 是 |
   | 媒體 / 合作夥伴 | 否 — 僅當存在時包含 |

   狀態規則：
   - 頁面缺失 (非 200) → **失敗**
   - 頁面存在但未在頁尾/導覽列中連結 → **警告**
   - 頁面存在且連結於頁尾/導覽列 → **通過**
   - 可選頁面缺失 → 跳過，不包含該列

5. **執行 `check-page.py --keyword "<推斷的關鍵字>"`** — 解析 JSON 輸出的 H1、title、
   meta description、canonical 和 URL slug

6. **i18n / hreflang 檢查** — 僅當頁面包含 hreflang 標籤或 `<html lang>` 暗示多語言時才執行：
   - **完全跳過 (無關)** 如果未找到 hreflang 標籤且網站看似單一語言
   - 如果存在 hreflang 標籤，檢查：
     - **相互對稱性**：每個引用的 URL 必須連結回所有其他變體 — 任何中斷的連結 = 失敗
     - **語言代碼**：必須是有效的 BCP 47 (例如 `zh-CN` 而不是 `zh`，`en-US` 而不是 `en-us`) — 錯誤代碼 = 警告
     - **x-default**：應存在於語言選擇器或備用頁面 — 缺失 = 警告
     - **html[lang] 屬性**：必須與頁面的主要 hreflang 相符 — 不符 = 警告
     - **URL 結構**：建議模式 — 預設語言 (通常 `en`) 在根目錄無前綴，
       其他語言在子路徑下 (`/zh/`、`/es/`)。
       - `/page` (en) + `/zh/page` + `/es/page` → 通過
       - `/en/page` + `/zh/page` → 警告 (en 前綴是多餘的，浪費爬取深度)
       - 僅當模式明顯不一致或 en 有不必要的前綴時才標記

7. **執行 `check-schema.py`** — 解析 JSON 輸出的 schema 類型和欄位驗證

   ```bash
   python scripts/check-schema.py https://example.com
   # 或從先前擷取的 HTML：
   python scripts/check-schema.py --file page.html
   ```

   指令碼提取 JSON-LD 區塊，根據 Schema.org 規範驗證 `@type` 和必要欄位。
   `llm_review_required: true` 總是設定 — 確認 `inferred_page_type` 符合實際頁面內容。

   頁面類型 → 預期的 `@type` 參考：

   | 頁面類型 | 預期的 @type | 最低必要欄位 |
   |---|---|---|
   | 首頁 | WebSite + Organization | name, url, logo |
   | 部落格 / 文章 | Article 或 BlogPosting | headline, datePublished, author, image |
   | 產品 | Product | name, image, offers (price, priceCurrency) |
   | 常見問題 | FAQPage | mainEntity[].name, acceptedAnswer.text |
   | 操作指南 | HowTo | name, step[].text |
   | 本地商家 | LocalBusiness | name, address, telephone |
   | 通用著陸頁 | — | 無關 — 跳過，沒有廣泛支援的類型 |

   - 通過：正確的 @type 存在，所有必要欄位有效，無衝突
   - 警告：@type 存在但缺少推薦欄位
   - 失敗：預期的 @type 完全缺失
   - 無關：通用著陸頁 — 不要懲罰

8. **總結發現** — 每個發現必須遵循證據 / 影響 / 修復格式

9. **優先動作** — 列出前三大最具影響力的修復

10. **渲染報告** — 儲存至 `reports/<hostname>-<slug>-audit.html`，然後詢問使用者是否開啟

11. **升級提示** — 如果發現超出基本範圍的問題，建議使用 `seo-audit-full`

---

## 報告細節撰寫規則

**檢查表中的詳細資料儲存格必須遵循這些規則——沒有例外：**

**通過 → 一個簡短短語。沒有列表，沒有闡述。**
```
良好："有效的 XML urlset · 104 個網址 · 在 robots.txt 中引用。"
不良："有效的 XML urlset 包含 104 個網址。在 robots.txt 中正確引用。
       部落格文章可能透過此網站地圖被索引。"
```

**警告 → 一個 `<div class="detail-issue">` 包含 ≤2 個要點。一個 `<div class="detail-fix">` 包含修復。**
```
良好：
  <div class="detail-issue">· 標題 48 個字元 — 低於最低標準 2 個。 · 年份 "2026" 會使頁面標註日期。</div>
  <div class="detail-fix">擴展至 50–60 個字元；若為常青內容則移除年份。</div>

不良：三句散文解釋標題標籤是什麼以及為何長度重要。
```

**失敗 → 與警告相同。以確切的失敗開頭。沒有背景解釋。**

不要解釋某個檢查是什麼，不要重複狀態徽章中已可見的資訊，
不要將讀者視為不熟悉 SEO 基礎。

---

## 強制性發現格式

每個重要發現**必須**遵循此結構：

```
**發現：[發現標題]**

- **證據：** [觀察到的內容 — 直接引用、截圖參考或可測量的數據]
- **影響：** [這對 SEO 或用戶體驗為何重要]
- **修復：** [具體、可執行的建議]
```

不要寫模糊的結論。如果證據不足，明確陳述假設。

---

## 升級提示

在每個基本審核報告結尾包含此內容：

> **想要更深入的分析嗎？**
> 這是一項基本 SEO 審核，涵蓋站點層級訊號和核心頁面檢查。
> 如需進階技術 SEO、內容品質評分、結構化資料分析以及完整的爬取發現，請使用 `seo-audit-full` 技能。

---

## 參考檔案

- 詳細審核範圍和欄位定義：[references/REFERENCE.md](references/REFERENCE.md)
- 最終 HTML 報告範本：[assets/report-template.html](assets/report-template.html)
- 站點層級檢查指令碼：[scripts/check-site.py](scripts/check-site.py)
- 頁面層級檢查指令碼：[scripts/check-page.py](scripts/check-page.py)
- 原始頁面擷取器：[scripts/fetch-page.py](scripts/fetch-page.py)
- Schema 驗證指令碼：[scripts/check-schema.py](scripts/check-schema.py)

## FAQ

### 什麼是 SEO 審核代理技能？

SEO 審核代理技能是一個可重複使用的工作流程，幫助 AI 代理檢查網頁、找出 SEO 問題並產生結構化的審核報告。此技能專為在 Claude Code、OpenClaw 和 Codex 工作流程中進行快速的單頁 SEO 審核而設計。

### SEO 審核技能會檢查哪些項目？

它會檢查核心的頁面 SEO 和基本的網站層級訊號，包括標題標籤、meta 描述、H1 標籤、canonical 標籤、圖片 alt 文字、關鍵字位置、內部連結、robots.txt、sitemap.xml、404 處理、URL 規範化、信任頁面和 JSON-LD 結構化資料。

### 這是一個完整的技術 SEO 審核嗎？

不是。這是一個針對單一頁面的輕量級初步 SEO 審核。適合用於快速檢查和基本的問題偵測。如需基於爬蟲的審核、Core Web Vitals、索引診斷、記錄檔分析和進階的技術 SEO，請使用完整的 SEO 審核工作流程。

### 誰應該使用這個 SEO 審核代理技能？

它適合 SEO 操作人員、SaaS 創辦人、獨立開發者、行銷人員、內容團隊和開發人員，他們希望在發佈或改善頁面之前快速檢查頁面。

### 它會產生什麼類型的報告？

它會產生一份結構化的 SEO 審核報告，包含通過、警告和失敗狀態。重要的發現會附上證據、SEO 影響和具體的修正建議，讓報告更容易交給開發人員或內容團隊處理。

### 它可以審核任何 URL 嗎？

是的，它可以根據可見的頁面內容和公開可用的 SEO 訊號來審核公開的 URL。如果原始碼、GSC 資料、分析資料、爬蟲記錄或效能資料不可用，報告應清楚說明這些限制。

### 這和一般的 SEO 檢查清單有何不同？

一般的 SEO 檢查清單告訴你要檢查什麼。這個 SEO 審核代理技能為 AI 代理提供了一個可重複的流程，用於執行檢查、解讀結果，並產生附有證據和修正建議的結構化報告。

### 何時應該改用完整的 SEO 審核？

當你需要更深入的技術分析、全站爬取、Core Web Vitals、索引檢查、內容品質審查、內部連結架構、記錄檔分析或進階排名診斷時，請使用完整的 SEO 審核。
