Communityコーディング&開発github.com

ブログSEOチェック

ブログ記事作成後に包括的なオンページSEOバリデーションを実行し、合格・不合格のチェックリストと不合格項目の具体的な修正方法を生成します。公開前に問題を発見します。

ブログSEOチェック とは?

このスキル(Blog SEO Check)は、ブログ記事作成後のオンページSEO(検索エンジン最適化)バリデーションを自動化するものです。Claude CodeやCursorなどのAIエージェント向けに設計されており、記事のタイトル、メタディスクリプション、見出し構成、内部リンク、外部リンク、正規URL、OGメタタグ、Twitterカード、URL構造など、SEOに影響を与える主要な要素を網羅的にチェックします。各チェック項目は具体的な合格基準に基づいてPASS/FAILを判定し、FAILの場合は具体的な修正方法も提示します。また、公開済みURLがあり、かつblog-googleスキルの認証情報が利用可能な場合は、PageSpeed Insightsによるパフォーマンスチェック(Lighthouseスコア、Core Web Vitals)を追加で実行できます。これにより、検索エンジンのランキング向上とユーザー体験の改善に貢献します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AgriciDaniel/claude-blog/tree/main/skills/blog-seo-check

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ブログSEOチェック -- 記事作成後のバリデーション

ブログ記事作成後に包括的なオンページSEOバリデーションを実行し、合格・不合格のチェックリストと各不合格項目の具体的な修正方法を生成します。公開前に問題を発見するために、記事作成後に実行するように設計されています。

ワークフロー

ステップ 1: コンテンツを読む

対象ファイルを読み込み、以下を抽出します:

  • フロントマター - タイトル、説明、日付、最終更新日、著者、タグ、 正規URL、og:image、スラッグ/URL
  • 見出し構造 - 見出しテキスト全体を含むH1、H2、H3の階層
  • リンク - アンカーテキストを含むすべての内部リンクと外部リンク
  • メタタグ - OGタグ、Twitter Cardタグ、正規URL
  • 本文 - キーワードと構造分析のための全文

ユーザーがファイルパスではなくURLを提供した場合は、WebFetchを使用してページを取得し、関連要素を抽出します。

ステップ 2: タイトルタグのバリデーション

チェック合格基準
文字数40~60文字(SERPで切り捨てられない)
キーワード配置主要キーワードがタイトルの前半にある
パワーワード少なくとも1つのパワーワードを含む(例: ガイド、ベスト、方法、なぜ、必須、実証済み、完全)
切り捨てリスク60文字で切り捨てられても重要な意味が失われない
独自性一般的ではない - コンテンツに特化している

ステップ 3: メタディスクリプション

チェック合格基準
文字数150~160文字
統計を含む少なくとも1つの具体的な数字またはデータポイントを含む
価値提案明確な読者にとってのメリットまたは価値提案で終わる
キーワード存在主要キーワードが自然に出現する(詰め込まれていない)
キーワードの詰め込みなしキーワードは最大1回出現する
行動喚起行動を示唆する(学ぶ、発見する、見つける、確認する)

ステップ 4: 見出し階層

チェック合格基準
単一のH1正確に1つのH1タグ(タイトル)
レベルをスキップしないH1 -> H2 -> H3、H1 -> H3 や H2 -> H4 は不可
見出し内のキーワード2~3つの見出しに主要キーワードがある(自然で、強制されていない)
疑問形式H2見出しの60~70%が疑問文である
H2の数標準的なブログ記事で6~8個のH2セクション
見出しの長さ各見出しが70文字未満

ステップ 5: 内部リンク

チェック合格基準
リンク数投稿あたり3~10個の内部リンク
アンカーテキスト説明的である(「ここをクリック」や「続きを読む」ではない)
双方向性リンク先のページもリンクを返しているかを確認(していなければフラグ)
孤立状態なし投稿がサイトの少なくとも3つの他のページにリンクしている
リンクの分布リンクが投稿全体に分散しており、集中していない
自己リンクなし投稿が自分自身にリンクしていない

Grep と Glob を使用してプロジェクト内の既存のブログコンテンツをスキャンし、可能な場合は双方向リンクを検証します。

ステップ 5.5: リンクの重複排除

チェック合格基準
重複URLなし各URLは本文内に最大1回出現する
最適なインスタンスを維持重複がある場合は、最も説明的なアンカーテキストを持つものを残す
ナビゲーションは除外ヘッダー/フッターのナビゲーションリンクは本文の重複カウントに含めない
フラグメント正規化異なる#フラグメントを持つURLは同一のURLとして扱う

重複が見つかった場合:

  1. URLを正規化する(末尾のスラッシュ、クエリパラメータ、フラグメントを削除)
  2. アンカーテキストの説明的な度合いで各インスタンスをスコアリングする(キーワードリッチ > 一般的)
  3. 最もスコアの高いインスタンスを残し、他を削除することを推奨する
  4. 重複1つにつき、SEO最適化スコアから1点を減点する

GoogleはページあたりURLごとに1~2個のアンカーテキストを記録します(Zyppy 2023)。最適: 本文内で同じURLに1回リンク、2,000語あたり5~10個の内部リンク、ページあたり最大約50個のリンク。

ステップ 6: 外部リンク

チェック合格基準
ソースの階層信頼できる(Tier 1~3)ソースのみにリンクしている(SEOブログではない)
リンク切れWebFetchを使用して主要な外部リンクが到達可能か確認する
rel属性外部リンクに適切なrel属性がある(スポンサー/ユーザー生成コンテンツの場合はnofollow)
リンク数信頼できる情報源への外部リンクが少なくとも3つ
競合他社へのリンクなし不必要に直接の競合他社にリンクしていない

ステップ 7: 正規URL

チェック合格基準
存在する正規URLがフロントマターまたはメタタグで定義されている
正しい形式完全な絶対URL(https://domain.com/path)
末尾のスラッシュサイトの規則と一致している(末尾のスラッシュが混在していない)
自己参照正規URLがページ自身を指している(意図的なクロスドメインの場合は除く)

ステップ 8: OGメタタグ

チェック合格基準
og:title存在し、タイトルタグと一致または補完している
og:description存在し、150~160文字で、ソーシャル共有に魅力的
og:image存在し、最低1200x630ピクセル、絶対URL
og:typeブログ記事の場合は「article」に設定
og:url存在し、正規URLと一致
og:site_name存在し、サイト/ブランド名と一致

ステップ 9: Twitterカード

チェック合格基準
twitter:cardブログ記事の場合は「summary_large_image」に設定
twitter:title存在し、70文字未満
twitter:description存在し、200文字未満
twitter:image存在し、og:imageと同じか類似
twitter:siteサイトにTwitter/Xアカウントがある場合に存在

ステップ 10: URL構造

チェック合格基準
長さ短い - パス部分が75文字未満
キーワードの存在URLスラッグに主要キーワードまたは類似のバリエーションが含まれている
日付なしURLに /2025/ や /2026/ のような日付セグメントが含まれていない
特殊文字なし小文字の英字、数字、ハイフンのみ
小文字URLパス全体が小文字
ストップワードなしスラッグ内の「the」「a」「and」「of」の使用を最小限にする
ファイル拡張子なしURLに .html や .php がない(クリーンなURL)

ステップ 11: レポートの生成

以下の形式で包括的なSEOバリデーションレポートを出力します:

## SEOバリデーションレポート: [タイトル]

**ファイル**: [パスまたはURL]
**日付**: [チェック日]
**総合評価**: [合格したチェック数/全チェック数] - [合格/改善必要/不合格]

### 結果

| # | チェック | ステータス | 詳細 | 修正方法 |
|---|----------|-----------|------|----------|
| 1 | タイトル長 | 合格 | 52文字 | - |
| 2 | タイトルキーワード | 合格 | 「キーワード」が前半にある | - |
| 3 | タイトルのパワーワード | 不合格 | パワーワードが見つからない | 「ガイド」「必須」「完全」などを追加 |
| 4 | メタディスクリプションの長さ | 合格 | 155文字 | - |
| 5 | メタディスクリプションの統計 | 不合格 | 数字が見つからない | 投稿の主要な統計を追加 |
| ... | ... | ... | ... | ... |

### サマリー

**合格**: [N] チェック
**不合格**: [N] チェック

### 優先修正項目
1. [最も影響が大きい修正 - 何をどこで変更するか]
2. [2番目に影響が大きい修正]
3. [3番目に影響が大きい修正]

### 備考
- [全体的なSEOの健全性に関する観察]
- [チェックリストを超えた改善の提案]

ステータス値:

  • 合格 - 基準を満たしている
  • 不合格 - 基準を満たしていない、修正方法を提供
  • 警告 - 部分的に基準を満たしている、またはエッジケース、推奨事項を提供
  • 該当なし - 該当しない(例: サイトにXアカウントがない場合のTwitter Cardタグなし)

オプション: ライブパフォーマンスチェック(blog-google)

公開されたURLがあり、blog-googleの認証情報が利用可能な場合:

  1. 認証情報を確認: python3 skills/blog-google/scripts/run.py google_auth --check --json
  2. Tier 0以上の場合、PageSpeedを実行: python3 skills/blog-google/scripts/run.py pagespeed_check <url> --json
  3. レポートに追加:
    • Lighthouseのパフォーマンス、アクセシビリティ、ベストプラクティス、SEOスコア
    • CWVフィールドデータ(LCP、INP、CLS)と信号機評価
    • 推定節約額を含む上位3つの改善機会
  4. 認証情報が利用できない場合やURLが公開されていない場合は、自動的にスキップされます。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

関連スキル