seo-programmatic について
構造化データから生成する SEO ページの計画・監査を支援するスキルです。データ、テンプレート、URL、内部リンクを評価し、品質基準で薄いコンテンツやインデックス肥大化を抑えます。
主な機能
- 01構造化データの品質評価
- 02差別化したページテンプレートの設計
- 03URLと内部リンクのルール策定
- 04薄いコンテンツの品質基準適用
- 05canonical、サイトマップ、インデックスの管理
活用シーン
- 01ページ生成前にCSVやAPIデータを確認
- 02製品ページや地域ページの独自テンプレートを計画
- 03生成ページの重複や品質を監査
- 04大量ページのインデックスを管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill seo-programmaticインストール後、Claude Code で/seo-programmaticを入力して読み込まれたか確認します。
詳細
プログラマティック SEO の分析と計画
構造化データソースから大規模に生成される SEO ページを構築し、監査します。 低品質なコンテンツによるペナルティやインデックスの肥大化を防ぐため、品質ゲートを適用します。
データソースの評価
プログラマティックページを支えるデータを評価します。
- CSV/JSON ファイル:行数、列の一意性、欠損値
- API エンドポイント:レスポンス構造、データの鮮度、レート制限
- データベースクエリ:レコード数、フィールドの完全性、更新頻度
- データ品質チェック:
- 個別のコンテンツを生成するのに十分な固有属性を、各レコードが備えている必要があります
- 重複または重複に近いレコード(フィールドの重複が80%超)にフラグを付けます
- データの鮮度を確認します。古いデータからは古いページが生成されます
テンプレートエンジンの計画
独自性と価値のあるページを生成するテンプレートを設計します。
- 変数の挿入箇所:タイトル、H1、本文セクション、メタディスクリプション、スキーマ
- コンテンツブロック:静的(ページ間で共通)と動的(ページごとに固有)
- 条件ロジック:データの有無に基づいてセクションを表示/非表示にします
- 補足コンテンツ:関連項目、状況に応じたヒント、ユーザー生成コンテンツ
- テンプレートのレビューチェックリスト:
- 各ページが、それ単体で価値のあるリソースとして読める必要があります
- 「マッドリブ」形式(同一の文章で都市名や製品名だけを差し替えるパターン)は避けます
- 動的セクションでは、キーワードの言い換えだけでなく、真に有益な情報を追加する必要があります
URL パターン戦略
一般的なパターン
/tools/[tool-name]:ツール/製品のディレクトリページ/[city]/[service]:地域+サービスのページ/integrations/[platform]:連携機能のランディングページ/glossary/[term]:定義/リファレンスページ/templates/[template-name]:ダウンロード可能なテンプレートページ
URL のルール
- データから生成した、小文字でハイフン区切りのスラッグを使用します
- サイトのアーキテクチャを反映した論理的な階層にします
- 重複するスラッグを作らず、生成時に一意性を強制します
- URL は100文字未満にします
- 主要なコンテンツ URL にクエリパラメーターを使用しません
- 末尾のスラッシュの有無を統一します(既存のサイトパターンに合わせます)
内部リンクの自動化
- ハブ&スポークモデル:カテゴリのハブページから個々のプログラマティックページにリンクします
- 関連項目:データ属性に基づいて、関連ページを3~5件自動的にリンクします
- パンくずリスト:URL 階層から BreadcrumbList スキーマを生成します
- 相互リンク:属性(同じカテゴリ、同じ都市、同じ機能)を共有するプログラマティックページ間をリンクします
- アンカーテキスト:説明的で多様なアンカーテキストを使います。完全一致キーワードの繰り返しは避けます
- リンク密度:1000語あたり3~5件の内部リンク(seo-content のガイドラインに合わせます)
低品質コンテンツの防止策
品質ゲート
| 指標 | しきい値 | 対応 |
|---|---|---|
| コンテンツレビューを受けていないページ | 100+ | ⚠️ 警告:公開前にコンテンツ監査が必要です |
| 正当性の説明がないページ | 500+ | 🛑 強制停止:ユーザーによる明示的な承認と低品質コンテンツの監査が必要です |
| ページごとの独自コンテンツ | <40% | ❌ 低品質コンテンツとしてフラグを付けます(ペナルティのリスクが高い可能性があります) |
| ページごとの単語数 | <300 | ⚠️ レビュー対象としてフラグを付けます(価値が十分でない可能性があります) |
スケールドコンテンツ乱用: 執行の背景(2025~2026年)
Google のスケールドコンテンツ乱用ポリシー(2024年3月導入)は、2025年に大規模な執行強化を迎えました:
- 2025年6月: AI 生成コンテンツを大規模に掲載するウェブサイトを対象とした手動措置の波
- 2025年8月: SpamBrain スパムアップデートにより、AI 生成のリンクスキームやコンテンツファームに対するパターン検出が強化
- 結果: Google は、2024年3月の執行以降、検索結果における低品質で独自性のないコンテンツが45%減少したと報告
プログラムマティックページのための強化された品質ゲート:
- コンテンツの差別化: 任意の2つのプログラムマティックページ間で、コンテンツの30~40%以上が真に独自である必要があります(単なる都市名やキーワードの文字列置換ではない)
- 人的レビュー: 公開前に生成ページの最低5~10%をサンプルレビュー
- 段階的な展開: 50~100ページ単位のバッチで公開します。拡大する前に2~4週間、インデックス登録とランキングを監視します。明示的な品質レビューなしに500ページ以上のプログラムマティックページを同時に公開しないでください。
- 単独価値テスト: 各ページは次を満たす必要があります:「他に類似ページが存在しなくても、このページは公開する価値があるか?」
- サイトレピュテーション乱用: 高い権威のドメイン(自身のものではない)の下でプログラムマティックコンテンツを公開する場合、サイトレピュテーション乱用のペナルティを引き起こす可能性があります。Google は2024年11月からこれを積極的に執行し始めました。
推奨:
<40% unique contentでの WARNING ゲートは引き続き適切です。スケールドコンテンツ乱用のリスクを防ぐため、<30%の独自コンテンツで HARD STOP を検討してください。
安全なプログラムマティックページ(大規模でも OK)
✅ 統合ページ(実際のセットアップドキュメント、API の詳細、スクリーンショット付き) ✅ テンプレート/ツールページ(ダウンロード可能なコンテンツ、使用手順付き) ✅ 用語集ページ(例や関連用語を伴う200語以上の定義) ✅ 製品ページ(独自の仕様、レビュー、比較データ) ✅ データ駆動型ページ(レコードごとの独自の統計、チャート、分析)
ペナルティリスク(大規模では避ける)
❌ 同一のテキストの都市名だけを入れ替えた地域ページ ❌ 業界固有の価値がない「[業界]向けのベスト[ツール]」 ❌ 実際の比較データがない「[競合]の代替」 ❌ 人的レビューと独自の付加価値がない AI 生成ページ ❌ コンテンツの60%超が共有テンプレートの定型文であるページ
独自性の計算
独自コンテンツ % = (このページに固有の語数) / (ページ上の総語数) × 100
プログラムマティックセット内の他のすべてのページと比較して測定します。共有のヘッダー、フッター、ナビゲーションは計算から除外されます。テンプレートの定型文は含まれます。
正規化戦略
- すべてのプログラムマティックページには、自己参照の canonical タグが必要です
- パラメータのバリエーション(並べ替え、フィルター、ページネーション)はベース URL に正規化します
- ページネーションされたシリーズ: ページ1に正規化するか、rel=next/prev を使用します
- プログラムマティックページが手動ページと重複する場合、手動ページが正規となります
- 意図的なクロスドメイン設定でない限り、異なるドメインへの canonical は設定しないでください
サイトマップ統合
- すべてのプログラムマティックページのサイトマップエントリを自動生成します
- サイトマップファイルごとに50,000 URL で分割します(プロトコルの上限)
- 複数のサイトマップファイルが必要な場合はサイトマップインデックスを使用します
<lastmod>は実際のデータ更新タイムスタンプを反映します(生成時刻ではありません)- noindex に設定されたプログラムマティックページはサイトマップから除外します
- robots.txt にサイトマップを登録します
- 新しいレコードがデータソースに追加されるたびに、サイトマップを動的に更新します
インデックス肥大化の防止
- 低価値ページの noindex: 品質ゲートを満たさないページ
- ページネーション: ページ1以降のページネーションされた結果を noindex にします(または rel=next/prev を使用します)
- ファセットナビゲーション: フィルタリングされたビューを noindex にし、ベースカテゴリに正規化します
- クロールバジェット: プログラムマティックページが10kを超えるサイトでは、Search Console でクロール統計を監視します
- 薄いページの統合: データが不十分なレコードを集約ページに統合します
- 定期的な監査: インデックス登録されたページ数と意図したページ数を毎月レビューします
出力
プログラムマティック SEO スコア: XX/100
評価の概要
| カテゴリ | ステータス | スコア |
|---|---|---|
| データ品質 | ✅/⚠️/❌ | XX/100 |
| テンプレートの独自性 | ✅/⚠️/❌ | XX/100 |
| URL 構造 | ✅/⚠️/❌ | XX/100 |
| 内部リンク | ✅/⚠️/❌ | XX/100 |
| コンテンツの薄さのリスク | ✅/⚠️/❌ | XX/100 |
| インデックス管理 | ✅/⚠️/❌ | XX/100 |
重大な問題(直ちに修正)
優先度:高(1 週間以内に修正)
優先度:中(1 か月以内に修正)
優先度:低(バックログ)
推奨事項
- データソースの改善
- テンプレートの変更
- URL パターンの調整
- 品質ゲートへの準拠対応
エラー処理
| シナリオ | 対応 |
|---|---|
| URL に到達できない | ステータスコードとともに接続エラーを報告します。URL にアクセスできることを確認し、認証が必要かどうかを確認するよう提案します。 |
| プログラムによって生成されたページが検出されない | テンプレート生成型またはデータ駆動型のページパターンが見つからなかったことをユーザーに伝えます。ページがクライアントサイドレンダリングを使用しているか、URL が正しいセクションを指しているかを確認するよう提案します。 |
| コンテンツの薄さのしきい値を超過 | 品質ゲートの警告を発します。独自コンテンツの割合を報告し、独自性が 40% 未満のページにフラグを立てます。続行する前に、ユーザーの承認を求めます。 |
| 品質ゲート違反 | 正当な理由なく 500 ページ以上、または独自コンテンツが 30% 未満という HARD STOP のしきい値に達した時点で分析を停止します。調査結果を提示し、続行するにはユーザーの明示的な承認を求めます。 |