site-crawlability について
site-crawlability は、検索エンジンや AI クローラーがサイトのコンテンツを発見できるよう、テクニカル SEO の改善を案内します。リダイレクト、リンク切れ、サイト構造、ページネーション、クロールバジェット、初期 HTML の内容を扱います。
主な機能
- 01リダイレクトチェーンとループの確認
- 02リンク切れの修正
- 03サイト階層と孤立ページの整理
- 04クロール可能なページネーションの案内
- 05クロールバジェットの改善提案
- 06AI クローラー向け初期 HTML の確認
活用シーン
- 01リダイレクトとリンク切れの監査
- 02孤立ページや階層の深いページの発見
- 03長いリストをクロール可能にする
- 04AI クローラーへのコンテンツ表示確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kostja94/ marketing-skills --skill site-crawlabilityインストール後、Claude Code で/site-crawlabilityを入力して読み込まれたか確認します。
詳細
SEO テクニカル:クロール可能性
robots、X-Robots-Tag、サイト構造、内部リンクによるクロール可能性の改善方法を説明します。
呼び出し時:初回利用時は、役立つ場合、このスキルの対象範囲と重要性を1~2文で説明してから、主な出力を提示します。2回目以降の利用時、または省略を求められた場合は、主な出力から始めます。
対象範囲(テクニカル SEO)
- リダイレクトチェーンとループ:複数段階のリダイレクトを修正し、最終 URL に直接つなげます
- リンク切れ(4xx):内部リンク/外部リンクのリンク切れを修正し、301 リダイレクトするか削除します
- サイトアーキテクチャ:論理的な階層を設け、ホームページから3~4クリック以内に各ページを配置します
- 孤立ページ:受信リンクのないページに内部リンクを追加します
- ページネーション:クロール可能性を確保するため、無限スクロールよりページネーションを優先します
- クロールバジェット:重複 URL、リダイレクト、価値の低い URL による浪費を抑えます(以下を参照)
- AI クローラーの最適化:重要なコンテンツには SSR を使用し、URL を管理して、404/リダイレクトによる浪費を抑えます(以下を参照)
初期評価
プロジェクトのコンテキスト: ルートに contextus.md がある場合は読み込み、このタスクに関連するモジュールのみを読み込みます。Contextus がない場合は、利用可能なプロジェクト資料やユーザーから提供された情報を使い、不足情報を確認します。並行するコンテキストシステムは作成しないでください。
以下を特定します。
- サイト構造:浅い階層か、深い階層か
- フレームワーク:Next.js、静的サイト、SPA など
- 主要なパス:サイトマップ、robots.txt、API、静的アセット
ベストプラクティス
リダイレクトチェーンとループ
- 複数段階のリダイレクトを修正し、最終 URL に直接つなげます
- ループ:自身にリダイレクトされる URL の循環を解消します
リンク切れ(4xx)
- 内部リンク/外部リンクのリンク切れを修正し、301 リダイレクトするか削除します
- 定期的に監査し、リンク切れを更新または削除します
サイトアーキテクチャ
| 原則 | ガイドライン |
|---|---|
| 深さ | 重要なページはホームページから3~4クリック以内に配置します |
| 孤立ページ | 受信リンクのないページに内部リンクを追加します。リンク戦略については internal-links を参照してください |
| 階層 | 論理的な構造にし、ハブページからコンテンツにリンクします |
ページネーションと無限スクロールの比較
問題: 無限スクロールでは、クローラーはユーザーの操作(スクロール、「Load more」のクリック)を再現できません。初回ページ読み込み後に読み込まれるコンテンツは検出されません。これは、マソンリーレイアウトと無限スクロール、遅延読み込みリストなど、同様のパターンにも当てはまります。
解決策: 主要なコンテンツにはページネーションを優先します。無限スクロールを維持する場合は、Google の推奨事項に従って検索に適した状態にします。
| 要件 | 実践方法 |
|---|---|
| 分割ページ | JavaScript なしでアクセスできるページネーションされたページに、コンテンツを分割します |
| 完全な URL | 各ページに固有の URL(例:?page=1、?lastid=567)を設定します。#1 は避けます |
| 重複なし | シリーズ内の各項目は1回だけ表示し、ページ間で重複させません |
| 直接アクセス | 新しいタブで URL が機能し、Cookie や履歴に依存しないようにします |
| pushState/replaceState | ユーザーのスクロールに合わせて URL を更新します。これにより、戻る/進む操作と共有可能なリンクに対応できます |
| 範囲外の場合は404 | ページが998ページしかない場合、?page=999 は404を返します |
参考資料: 無限スクロールを検索に適した状態にするための推奨事項(Google Search Central、2014年)
ページネーション(従来方式)
- 次のページ/前のページへのリンクを用意します。該当する場合は
rel="prev"/rel="next"を使用します - 動的読み込みだけに頼らず、HTML にリンクが含まれるようにします
クロールバジェット
クロールバジェットとは、一定期間内に Googlebot がサイトをクロールする URL の数です。大規模なサイト(10,000 ページ以上)では、重複 URL、リダイレクト、価値の低い URL にクロールバジェットの最大 30%を浪費することがあります。
| 浪費の原因 | 対策 |
|---|---|
| 重複 URL | 正規 URL を指定する。統合する。優先する URL に 301 リダイレクトする |
| リダイレクトチェーン | 最終 URL に直接リンクする |
| パラメーターの増加 | rel="canonical" を使用する。Clean-param(Yandex)の利用を検討する |
| 価値の低いページ | 内容の薄いページや重複ページには noindex を設定する。indexing を参照 |
| クロールトラップ | 無限に URL が生成される状態を避ける(ファセットフィルターなど) |
サイトマップ:インデックス登録可能な正規 URL のみを含めます。xml-sitemap、canonical-tag を参照してください。
AI クローラーの最適化
AI クローラー(GPTBot、ClaudeBot、PerplexityBot など)は現在、Googlebot のクロール量の約 28%を占めています。AI クローラーの動作は検索エンジンと異なるため、両方に向けて最適化すると GEO(AI 検索での可視性)が向上します。GEO 戦略については generative-engine-optimization を参照してください。Vercel/MERJ の調査(2024 年 12 月):
| 要素 | AI クローラー(GPTBot、Claude) | Googlebot |
|---|---|---|
| JavaScript | JS を実行せず、クライアントサイドでレンダリングされたコンテンツを読み取れない | JS を完全にレンダリングする |
| 404 率 | 取得リクエストの約 34%が 404 に到達 | 約 8% |
| リダイレクト | 取得リクエストの約 14%がリダイレクトをたどる | 約 1.5% |
| 初期 HTML 内のコンテンツ | 初期レスポンス内の JSON、RSC をインデックス登録できる | 同様 |
AI クローラーがクロールしやすくするための推奨事項:
| 実践項目 | 対応 |
|---|---|
| サーバーサイドレンダリング | 重要なコンテンツを初期 HTML に含めます。SSR、ISR、または SSG を使用します。詳しくは rendering-strategies を参照してください。 |
| URL 管理 | サイトマップを最新の状態に保ち、一貫性のある URL パターンを使用します。404 の原因となる古い /static/ アセットを避けます。AI クローラーは古い URL に頻繁にアクセスします。 |
| リダイレクト | リダイレクトチェーンを解消し、最終 URL に直接リンクします。AI クローラーは取得リクエストの約 14%をリダイレクトに浪費します。 |
| 404 の処理 | リンク切れを修正し、古い URL を削除するかリダイレクトします。404 率が高い場合、AI クローラーが古い URL リストを使用している可能性があります。 |
参考資料:The rise of the AI crawler(Vercel、2024 年)
よくある問題
| 問題 | 確認事項 |
|---|---|
| リダイレクトチェーン | 最終 URL に直接リンクするよう更新する |
| リンク切れ | 301 リダイレクトするか削除する。内部リンクと外部リンクを監査する |
| 孤立ページ | ハブまたはナビゲーションから内部リンクを追加する。方針については internal-links を参照 |
| 無限スクロール | ページ分割したコンポーネントページを用意する。または重要なコンテンツではページネーションに置き換える。上記を参照 |
| AI クローラーがコンテンツを見つけられない | 重要なコンテンツが初期 HTML に含まれていることを確認する。rendering-strategies を参照 |
出力形式
- リダイレクト監査:修正が必要なチェーンとループ
- リンク切れ監査:修正が必要な 4xx リンク
- サイト構造:孤立ページ、階層
- ページネーション:クロール可能なコンテンツのための実装
- AI クローラー:GEO または AI での可視性を目標とする場合の SSR、URL、リダイレクトの確認
関連スキル
- seo-strategy:SEO ワークフロー。クロール可能性はテクニカルフェーズ(P0)
- website-structure:構築するページ、ページの優先順位、構造の計画。クロール可能性の監査の前または並行して使用する
- robots-txt:robots.txt の設定、AI クローラーの許可/ブロック(GPTBot、ClaudeBot)
- xml-sitemap:URL の検出。AI クローラーの 404 を減らすため、最新の状態に保つ
- google-search-console:インデックス状況、カバレッジレポート
- indexing:インデックス登録の問題を修正する
- internal-links:内部リンクのベストプラクティス
- masonry:Masonry と無限スクロールには同じクロール上の問題がある。レイアウトスキルでは SEO の参考情報としてこれを参照する
- generative-engine-optimization:GEO 戦略、AI 検索での可視性。クロール可能性により AI に引用されやすくなる
- canonical-tag:正規 URL の指定により、重複 URL によるクロールバジェットの浪費を減らす
- rendering-strategies:SSR、SSG、CSR、初期 HTML 内のコンテンツ、クローラーからの可視性