blog-audit について
blog-auditは、プロジェクト内のブログ記事全体を評価するスキルです。品質、SEO、スキーマ、リンク、鮮度、AI引用への適性を確認し、優先順位付きレポートにまとめます。
主な機能
- 01一般的なディレクトリのブログファイルを検索
- 02コンテンツ品質とSEOを評価
- 03スキーマと内部リンクを検証
- 04古い記事、孤立記事、競合トピックを検出
- 05サイト全体の優先アクションレポートを作成
活用シーン
- 01サイト刷新前にブログを点検
- 02更新やリンク追加が必要な記事を特定
- 03トピックが重複する記事を見つける
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill blog-auditインストール後、Claude Code で/blog-auditを入力して読み込まれたか確認します。
詳細
ブログ監査:サイト全体の健全性評価
プロジェクト内のすべての投稿を対象に、ブログの健全性を包括的に評価します。 品質スコア、孤立ページ、トピックのカニバリゼーション、古くなったコンテンツ、 AI による引用への対応状況をスキャンします。効率的に分析するために並列サブエージェントを 使用し、優先順位を付けたアクションキューを作成します。
監査プロセス
ステップ 1:ブログファイルの検出
プロジェクト内のすべてのブログコンテンツファイルをスキャンします。
- 一般的なブログディレクトリ内の
*.md、*.mdx、*.htmlを Glob で検索します - 確認する一般的なパス:
content/posts/blog/src/content/_posts/pages/blog/articles/src/pages/blog/
- ブログ以外のファイルを除外します:README、CHANGELOG、LICENSE、設定ファイル、 SKILL.md、package.json、node_modules
- 報告:「[directories] 内にブログファイルが N 件見つかりました」
標準的な場所にブログファイルが見つからない場合は、プロジェクトのルート全体を検索し、 ブログらしいフロントマター(title、date、description)を持つ Markdown ファイルを探します。
ステップ 2:並列分析
Task ツールを使ってサブエージェントを起動し、検出されたすべてのブログファイルを 並列処理します。
コンテンツ品質エージェント
- 各投稿を 30 点満点のコンテンツ品質基準で採点します
- 段落の長さを確認します(目標は 40~80 語、上限は 150 語)
- 文の長さを確認します(目標は 15~20 語)
- 見出しの構成と疑問形の見出しを評価します
- 読みやすさを評価します(Flesch Reading Ease の目標は 60~70)
SEO 最適化エージェント
- 投稿ごとにページ内 SEO 要素を確認します:
- タイトルタグの長さ(50~60 文字)
- メタディスクリプション(統計情報を含む 150~160 文字)
- H1 の有無と固有性
- 画像の代替テキストの網羅率
- 内部リンクと外部リンクの数
- URL スラッグの品質
スキーマ検証エージェント
- すべての投稿に含まれる構造化データを検出します
- BlogPosting スキーマの完全性を検証します
- FAQ スキーマの有無と形式を確認します
- dateModified が frontmatter の lastUpdated と一致することを確認します
- スキーマの欠落や形式不備を報告します
リンク健全性エージェント
- すべての投稿の内部リンクをマッピングします
- 有向リンクグラフを作成します
- 孤立ページ(内部リンクの被リンク数がゼロ)を検出します
- 行き止まりページ(内部リンクの発リンク数がゼロ)を検出します
- 内部リンクのリンク先が無効でないか確認します
- 相互リンクの機会を提案します
鮮度確認エージェント
- 各投稿の frontmatter から lastUpdated または dateModified を読み取ります
- 最終更新からの日数を計算します
- 90 日以上更新されていない投稿を報告します
- 更新の優先度ごとに分類します
AI 対応状況エージェント
- 各投稿の AI による引用への対応状況を採点します
- セクション単位で引用可能か確認します(120~180 語のセクション)
- Q&A 形式とエンティティの明確さを評価します
- TL;DR ボックスと引用用カプセルの有無を確認します
- AI クローラーのアクセス性を評価します
ステップ 3:トピックのカニバリゼーション検出
すべての投稿を分析し、キーワードの競合を検出します。
- 各投稿から主要なキーワード/トピックを抽出します:
- タイトルのテキスト
- H1 見出し
- メタディスクリプション
- 最初の段落
- キーワードを正規化します(小文字化し、ストップワードを除去)
- 同じ主要キーワードを対象とする複数の投稿を検出します
- 競合する投稿を報告し、次のいずれかを推奨します:
- 統合:内容の弱い 2 件の投稿を、内容の充実した 1 件の投稿にまとめます
- リダイレクト:内容の弱い投稿から、内容の充実した投稿へ 301 リダイレクトします
- 差別化:投稿が異なる検索意図を対象とするよう、焦点を調整します
ステップ 4:孤立ページの検出
内部リンクグラフを作成して分析します。
- 各ブログ投稿からすべての内部リンク(相対パスと絶対 URL)を抽出します
- 隣接マップを作成します:
{ page -> [リンク先のページ] } - 逆引きマップを作成します:
{ page -> [リンク元のページ] } - 孤立ページを特定します:内部リンクの被リンク数がゼロの投稿
- 行き止まりページを特定します:内部リンクの発リンク数がゼロの投稿
- 各孤立ページについて、トピックの関連性に基づいてリンク元として適切な既存の投稿を 2~3 件提案します
ステップ 5:古くなったコンテンツの検出
すべての記事のコンテンツが最新かどうかを監査します。
- フロントマターのフィールドを確認します:
lastUpdated、dateModified、date、updated - 各記事の最終更新からの経過日数を計算します
- 更新の優先度別に分類します:
- 高(180 日超):古くなっている可能性が高く、統計情報も古い可能性があります
- 中(90~180 日):正確性を確認し、統計情報を更新します
- 低(90 日未満):最近更新されているため、すぐに対応する必要はありません
- 記事ごとの更新作業量を見積もります:
- 軽微な更新:統計情報の更新、リンクの確認(1~2 時間)
- 中程度の更新:セクションの書き直し、新しいデータの追加(3~4 時間)
- 大規模な更新:全面的な書き直しを推奨(5 時間以上)
ステップ 6:サイト全体のレポートを生成
すべての結果を包括的なレポートにまとめます:
サマリーダッシュボード
## Blog Audit Report
**Audit Date:** [date]
**Total Posts:** N
**Average Score:** XX/100
### Health Overview
| Metric | Count |
|--------|-------|
| Posts Scoring 90+ (Excellent) | N |
| Posts Scoring 70-89 (Good) | N |
| Posts Scoring 50-69 (Needs Work) | N |
| Posts Scoring <50 (Poor) | N |
| Orphan Pages | N |
| Dead-End Pages | N |
| Cannibalization Issues | N |
| Stale Content (90+ days) | N |
記事ごとの表
### Per-Post Scores
| Post | Score | Content | SEO | E-E-A-T | Technical | AI Citation | Issues |
|------|-------|---------|-----|---------|-----------|-------------|--------|
| [filename] | XX/100 | X/25 | X/20 | X/20 | X/15 | X/20 | [count] |
優先対応キュー
### Prioritized Action Queue (Lowest Score First)
| Priority | Post | Score | Top Issue | Recommended Action |
|----------|------|-------|-----------|--------------------|
| 1 | [file] | XX | [issue] | [action] |
| 2 | [file] | XX | [issue] | [action] |
カニバリゼーションレポート
### Topic Cannibalization
| Keyword | Competing Posts | Recommendation |
|---------|----------------|----------------|
| [keyword] | post-a.md, post-b.md | Merge / Redirect / Differentiate |
孤立ページ
### Orphan Pages (No Inbound Links)
| Page | Inbound Links | Recommended Link Sources |
|------|---------------|--------------------------|
| [file] | 0 | post-a.md, post-b.md, post-c.md |
古くなったコンテンツ
### Stale Content
| Post | Last Updated | Days Stale | Priority | Refresh Effort |
|------|-------------|------------|----------|----------------|
| [file] | [date] | [N] | High/Med/Low | Light/Moderate/Heavy |
ステップ 7:レポートを保存
完全なレポートをプロジェクトのルートに blog-audit-report.md として保存します。
保存後、ユーザーに以下を伝えます:
- レポートの場所:[project-root]/blog-audit-report.md
- 調査結果の概要(記事の総数、平均スコア、重大な問題の件数)
- 最もスコアの低い記事から
/blog analyze <file>を実行するよう提案します - 主要な記事の AI 引用最適化のために
/blog geo <file>を実行するよう提案します
相互参照
このサイト全体の健全性チェック以外の、エビデンスに基づく監査プロンプトについては、/blog flow optimize(可視性、CTR、スキーマ、抽出の監査)と /blog flow win(2つのサーフェスのスコアカード、コンバージョン監査)を参照してください。