blog-audit
ブログ全体の品質、孤立ページ、キーワード競合、古いコンテンツ、AI引用への対応状況などを詳細に分析し、記事ごとの評価と優先順位付けされた改善アクションを提示するSkill。
📜 元の英語説明(参考)
Full-site blog health assessment scanning all blog files for quality scores, orphan pages, topic cannibalization, stale content, and AI citation readiness. Spawns parallel subagents for comprehensive analysis. Produces per-post scores and a prioritized action queue. Use when user says "audit blog", "blog audit", "site audit", "blog health", "audit all posts", "check all blogs".
🇯🇵 日本人クリエイター向け解説
ブログ全体の品質、孤立ページ、キーワード競合、古いコンテンツ、AI引用への対応状況などを詳細に分析し、記事ごとの評価と優先順位付けされた改善アクションを提示するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o blog-audit.zip https://jpskill.com/download/10512.zip && unzip -o blog-audit.zip && rm blog-audit.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/10512.zip -OutFile "$d\blog-audit.zip"; Expand-Archive "$d\blog-audit.zip" -DestinationPath $d -Force; ri "$d\blog-audit.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
blog-audit.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
blog-auditフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Blog Audit -- フルサイトの健全性評価
プロジェクト内のすべての投稿にわたって、包括的なブログの健全性評価を実行します。 品質スコア、孤立ページ、トピックのカニバリゼーション、古いコンテンツ、および AI 引用の準備状況をスキャンします。効率的な分析のために並列サブエージェントを使用し、優先順位付けされたアクションキューを生成します。
監査プロセス
ステップ 1: ブログファイルの検出
プロジェクト内のすべてのブログコンテンツファイルをスキャンします。
- 一般的なブログディレクトリで
*.md、*.mdx、*.htmlをグロブ検索します。 - 確認する一般的なパス:
content/posts/blog/src/content/_posts/pages/blog/articles/src/pages/blog/
- ブログ以外のファイルを除外します: README, CHANGELOG, LICENSE, config files, SKILL.md, package.json, node_modules
- レポート: "[directories] に N 個のブログファイルが見つかりました"
標準的な場所にブログファイルが見つからない場合は、プロジェクトルート全体でブログのような frontmatter (title, date, description) を持つ markdown ファイルを検索します。
ステップ 2: 並列分析
Task ツールを介してサブエージェントを生成し、検出されたすべてのブログファイルで並列処理を行います。
コンテンツ品質エージェント
- 30 ポイントのコンテンツ品質スケールで各投稿をスコアリングします。
- 段落の長さを確認します (目標 40-80 語、ハードリミット 150)。
- 文の長さを確認します (目標 15-20 語)。
- 見出し構造と質問形式の見出しを評価します。
- 可読性を評価します (Flesch Reading Ease 60-70 が目標)。
SEO 最適化エージェント
- 投稿ごとにオンページ SEO 要素を確認します。
- Title タグの長さ (50-60 文字)
- Meta description (150-160 文字、統計を含む)
- H1 の存在と一意性
- 画像の alt text の網羅率
- 内部リンクと外部リンクの数
- URL slug の品質
スキーマ検証エージェント
- すべての投稿で構造化データを検出します。
- BlogPosting スキーマの完全性を検証します。
- FAQ スキーマの存在と形式を確認します。
- dateModified が lastUpdated frontmatter と一致することを確認します。
- 不足している、または形式が正しくないスキーマにフラグを立てます。
リンク健全性エージェント
- すべての投稿で内部リンクをマッピングします。
- 有向リンクグラフを構築します。
- 孤立ページ (受信内部リンクがゼロ) を検出します。
- 行き止まりページ (送信内部リンクがゼロ) を検出します。
- 壊れた内部リンクターゲットを確認します。
- 双方向リンクの機会を推奨します。
新鮮さチェックエージェント
- 各投稿の frontmatter から lastUpdated または dateModified を読み取ります。
- 最終更新日からの日数を計算します。
- 90 日以上更新されていない投稿にフラグを立てます。
- 更新の優先度で分類します。
AI 準備エージェント
- AI 引用の準備状況について各投稿をスコアリングします。
- パッセージレベルの引用可能性を確認します (120-180 語のセクション)。
- Q&A の形式とエンティティの明確さを評価します。
- TL;DR ボックスと引用カプセルを確認します。
- AI クローラーのアクセシビリティを評価します。
ステップ 3: トピックのカニバリゼーションの検出
キーワードの競合についてすべての投稿を分析します。
- 各投稿から主要なキーワード/トピックを抽出します。
- Title テキスト
- H1 見出し
- Meta description
- 最初の段落
- キーワードを正規化します (小文字化、ストップワードの削除)。
- 同じ主要なキーワードをターゲットとする複数の投稿を検出します。
- 次のいずれかの推奨事項で競合する投稿にフラグを立てます。
- Merge: 2 つの弱い投稿を 1 つの強い投稿に結合します。
- Redirect: 弱い投稿を強い投稿に 301 リダイレクトします。
- Differentiate: 投稿が明確な意図をターゲットとするように焦点を調整します。
ステップ 4: 孤立ページの検出
内部リンクグラフを構築して分析します。
- 各ブログ投稿について、すべての内部リンク (相対および絶対) を抽出します。
- 隣接マップを構築します:
{ page -> [pages it links to] } - 逆マップを構築します:
{ page -> [pages linking to it] } - 孤立ページを特定します: 受信内部リンクがゼロの投稿
- 行き止まりページを特定します: 送信内部リンクがゼロの投稿
- 各孤立ページについて、トピックの関連性に基づいて、リンクする必要がある 2〜3 個の既存の投稿を推奨します。
ステップ 5: 古いコンテンツの検出
すべての投稿でコンテンツの鮮度を監査します。
- frontmatter フィールドを読み取ります:
lastUpdated,dateModified,date,updated - 各投稿の最終更新日からの日数を計算します。
- 更新の優先度で分類します。
- High (>180 日): 古くなっている可能性が高く、統計が古くなっている可能性があります。
- Medium (90-180 日): 正確性を確認し、統計を更新します。
- Low (<90 日): 最近更新されたため、すぐに行動する必要はありません。
- 投稿ごとの更新作業を見積もります。
- 軽い更新: 統計の更新、リンクの確認 (1〜2 時間)
- 中程度の更新: セクションの書き換え、新しいデータの追加 (3〜4 時間)
- 大幅な更新: 完全な書き換えを推奨 (5 時間以上)
ステップ 6: サイト全体のレポートの生成
すべての結果を包括的なレポートに集約します。
サマリーダッシュボード
## ブログ監査レポート
**監査日:** [date]
**合計投稿数:** N
**平均スコア:** XX/100
### 健全性の概要
| メトリクス | カウント |
|--------|-------|
| 90 点以上の投稿 (優秀) | N |
| 70〜89 点の投稿 (良好) | N |
| 50〜69 点の投稿 (要改善) | N |
| 50 点未満の投稿 (不良) | N |
| 孤立ページ | N |
| 行き止まりページ | N |
| カニバリゼーションの問題 | N |
| 古いコンテンツ (90 日以上) | N |
投稿ごとのテーブル
### 投稿ごとのスコア
| 投稿 | スコア | コンテンツ | SEO | E-E-A-T | 技術 | AI 引用 | 問題 |
|------|-------|---------|-----|---------|-----------|-------------|--------|
| [filename] | XX/100 | X/25 | X/20 | X/20 | X/15 | X/20 | [count] |
優先順位付けされたアクションキュー
### 優先順位付けされたアクションキュー (スコアの低い順)
| 優先度 | 投稿 | スコア | 最も大きな問題 | 推奨されるアクション |
|----------|------|-------|-----------|--------------------|
| 1 | [file] | XX | [issue] | [action] |
| 2 | [file] | XX | [issue] | [action] |
カニバリゼーションレポート
### トピックのカニバリゼーション
| キーワード | 競合する投稿 | 推奨事項 |
|---------|----------------|----------------|
| [keyword] | post-a.md, post-b.md | Merge / Redirect / Differentiate |
孤立ページ
### 孤立ページ (受信リンクなし)
| ページ | 受信リンク | 推奨されるリンク元 |
|------|---------------|--------------------------|
| [file] | 0 | post-a.md, post-b.md, post-c.md |
古いコンテンツ
### 古いコンテンツ
| 投稿 | 最終更新日 |
(原文はここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Blog Audit -- Full-Site Health Assessment
Performs a comprehensive blog health assessment across all posts in the project. Scans for quality scores, orphan pages, topic cannibalization, stale content, and AI citation readiness. Uses parallel subagents for efficient analysis and produces a prioritized action queue.
Audit Process
Step 1: Discover Blog Files
Scan the project for all blog content files:
- Glob for
*.md,*.mdx,*.htmlin common blog directories - Common paths to check:
content/posts/blog/src/content/_posts/pages/blog/articles/src/pages/blog/
- Filter out non-blog files: README, CHANGELOG, LICENSE, config files, SKILL.md, package.json, node_modules
- Report: "Found N blog files in [directories]"
If no blog files are found in standard locations, search the entire project root for markdown files with blog-like frontmatter (title, date, description).
Step 2: Parallel Analysis
Spawn subagents via the Task tool for parallel processing across all discovered blog files:
Content Quality Agent
- Score each post on the 30-point content quality scale
- Check paragraph length (target 40-80 words, hard limit 150)
- Check sentence length (target 15-20 words)
- Evaluate heading structure and question-format headings
- Assess readability (Flesch Reading Ease 60-70 target)
SEO Optimization Agent
- Check on-page SEO elements per post:
- Title tag length (50-60 chars)
- Meta description (150-160 chars, includes statistic)
- H1 presence and uniqueness
- Image alt text coverage
- Internal and external link counts
- URL slug quality
Schema Validation Agent
- Detect structured data across all posts
- Validate BlogPosting schema completeness
- Check FAQ schema presence and format
- Verify dateModified matches lastUpdated frontmatter
- Flag missing or malformed schema
Link Health Agent
- Map internal links across all posts
- Build a directed link graph
- Detect orphan pages (zero inbound internal links)
- Detect dead-end pages (zero outbound internal links)
- Check for broken internal link targets
- Recommend bidirectional link opportunities
Freshness Check Agent
- Read lastUpdated or dateModified from each post's frontmatter
- Calculate days since last update
- Flag posts not updated in 90+ days
- Categorize by refresh priority
AI Readiness Agent
- Score each post for AI citation readiness
- Check passage-level citability (120-180 word sections)
- Evaluate Q&A formatting and entity clarity
- Check for TL;DR boxes and citation capsules
- Assess AI crawler accessibility
Step 3: Topic Cannibalization Detection
Analyze across all posts for keyword competition:
- Extract primary keyword/topic from each post:
- Title text
- H1 heading
- Meta description
- First paragraph
- Normalize keywords (lowercase, remove stop words)
- Detect multiple posts targeting the same primary keyword
- Flag competing posts with one of these recommendations:
- Merge: Combine two weak posts into one strong post
- Redirect: 301 redirect the weaker post to the stronger one
- Differentiate: Adjust focus so posts target distinct intents
Step 4: Orphan Page Detection
Build and analyze the internal link graph:
- For each blog post, extract all internal links (relative and absolute)
- Build an adjacency map:
{ page -> [pages it links to] } - Build a reverse map:
{ page -> [pages linking to it] } - Identify orphan pages: posts with zero inbound internal links
- Identify dead-end pages: posts with zero outbound internal links
- For each orphan, recommend 2-3 existing posts that should link to it based on topic relevance
Step 5: Stale Content Detection
Audit content freshness across all posts:
- Read frontmatter fields:
lastUpdated,dateModified,date,updated - Calculate days since last update for each post
- Categorize by refresh priority:
- High (>180 days): Likely outdated, statistics may be stale
- Medium (90-180 days): Review for accuracy, update statistics
- Low (<90 days): Recently updated, no immediate action
- Estimate refresh effort per post:
- Light refresh: Update statistics, check links (1-2 hours)
- Moderate refresh: Rewrite sections, add new data (3-4 hours)
- Heavy refresh: Full rewrite recommended (5+ hours)
Step 6: Generate Site-Wide Report
Aggregate all results into a comprehensive report:
Summary Dashboard
## 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 Table
### 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
### Prioritized Action Queue (Lowest Score First)
| Priority | Post | Score | Top Issue | Recommended Action |
|----------|------|-------|-----------|--------------------|
| 1 | [file] | XX | [issue] | [action] |
| 2 | [file] | XX | [issue] | [action] |
Cannibalization Report
### Topic Cannibalization
| Keyword | Competing Posts | Recommendation |
|---------|----------------|----------------|
| [keyword] | post-a.md, post-b.md | Merge / Redirect / Differentiate |
Orphan Pages
### Orphan Pages (No Inbound Links)
| Page | Inbound Links | Recommended Link Sources |
|------|---------------|--------------------------|
| [file] | 0 | post-a.md, post-b.md, post-c.md |
Stale Content
### Stale Content
| Post | Last Updated | Days Stale | Priority | Refresh Effort |
|------|-------------|------------|----------|----------------|
| [file] | [date] | [N] | High/Med/Low | Light/Moderate/Heavy |
Step 7: Save Report
Save the complete report to blog-audit-report.md in the project root.
After saving, inform the user:
- Report location:
[project-root]/blog-audit-report.md - Summary of findings (total posts, average score, critical issues count)
- Suggest running
/blog analyze <file>on the lowest-scoring post first - Suggest running
/blog geo <file>for AI citation optimization on key posts