seo-technical について
seo-technicalは、クロール、インデックス、パフォーマンス、レンダリング、インフラを確認する技術SEO監査スキルです。AIクローラーやJavaScript SEOも含むチェックリストとレポート形式を備えています。
主な機能
- 01クロールとインデックスの確認
- 02セキュリティとURL構造のレビュー
- 03モバイルとCore Web Vitalsの確認
- 04構造化データとJavaScript SEOのガイド
- 05AIクローラーとIndexNowの確認
- 06スコア付き監査レポートの構成
活用シーン
- 01robots.txt、サイトマップ、canonicalタグの確認
- 02JavaScriptサイトのレンダリングとインデックスリスクの評価
- 03セキュリティヘッダーとモバイル対応の監査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill seo-technicalインストール後、Claude Code で/seo-technicalを入力して読み込まれたか確認します。
詳細
テクニカルSEO監査
使用する場面
- クロール可能性、インデックス登録可能性、パフォーマンス、レンダリングに焦点を当てたテクニカルSEOレビューをユーザーが求めている場合に使用します。
- robots.txt、正規化、JavaScript SEO、Core Web Vitals、AI クローラーのアクセスを監査する場合に使用します。
- コンテンツよりも、インフラや実装に重点を置いたタスクの場合に使用します。
カテゴリー
1. クロール可能性
- robots.txt:存在し、有効で、重要なリソースをブロックしていない
- XML サイトマップ:存在し、robots.txt で参照され、有効な形式である
- Noindex タグ:意図的な設定か、誤った設定か
- クロール深度:重要なページがホームページから3クリック以内にある
- JavaScript レンダリング:重要なコンテンツの表示に JS の実行が必要か確認する
- クロールバジェット:大規模サイト(10k ページ超)では、効率性が重要
AI クローラーの管理
2025〜2026年現在、AI 企業はモデルのトレーニングや AI 検索の提供を目的として、積極的にウェブをクロールしています。robots.txt を使用してこれらのクローラーを管理することは、テクニカルSEOにおける重要な考慮事項です。
既知の AI クローラー:
| クローラー | 企業 | robots.txt のトークン | 用途 |
|---|---|---|---|
| GPTBot | OpenAI | GPTBot | モデルのトレーニング |
| ChatGPT-User | OpenAI | ChatGPT-User | リアルタイムの閲覧 |
| ClaudeBot | Anthropic | ClaudeBot | モデルのトレーニング |
| PerplexityBot | Perplexity | PerplexityBot | 検索インデックス+トレーニング |
| Bytespider | ByteDance | Bytespider | モデルのトレーニング |
| Google-Extended | Google-Extended | Gemini のトレーニング(検索には使用されません) | |
| CCBot | Common Crawl | CCBot | オープンデータセット |
主な違い:
Google-Extendedをブロックすると Gemini のトレーニングへの利用を防げますが、Google 検索のインデックス登録や AI Overviews には影響しません(これらにはGooglebotが使用されます)GPTBotをブロックすると OpenAI のトレーニングへの利用を防げますが、ブラウジングを通じた ChatGPT によるコンテンツの引用(ChatGPT-User)は防げません- 各ベンダーの最新ドキュメントで、クローラーの用途と制御方法を確認してください。この表は完全なものでも、恒久的な一覧でもありません。
例:AI クローラーを選択的にブロックする場合:
# Allow search indexing, block AI training crawlers
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Bytespider
Disallow: /
# Allow all other crawlers (including Googlebot for search)
User-agent: *
Allow: /
**推奨事項:**ブロックする前に、AI での可視性戦略を検討してください。AI システムに引用されることで、ブランド認知度や参照トラフィックが向上します。AI での可視性を最適化するには、seo-geo スキルも参照してください。
2. インデックス登録可能性
- canonical タグ:自己参照であり、noindex と競合していない
- 重複コンテンツ:ほぼ重複するページ、パラメーター付き URL、www 版と非 www 版
- 内容の薄いコンテンツ:ページの目的に対して有用な情報が不十分なコンテンツ。任意の最低語数を設けないこと
- ページネーション:rel=next/prev または「さらに読み込む」パターン
- Hreflang:多言語・多地域サイトで正しく設定されている
- インデックス肥大化:クロールバジェットを消費する不要なページ
3. セキュリティ
- HTTPS:強制され、有効な SSL 証明書があり、混在コンテンツがない
- セキュリティヘッダー:
- Content-Security-Policy (CSP)
- Strict-Transport-Security (HSTS)
- X-Frame-Options
- X-Content-Type-Options
- Referrer-Policy
- HSTS preload:セキュリティ要件の高いサイトでは、プリロードリストへの登録を確認する
4. URL 構造
- クリーン URL:内容がわかる表現で、ハイフンを使用し、コンテンツ用のクエリパラメーターを含まない
- 階層:サイト構造を反映した論理的なフォルダー構成
- リダイレクト:リダイレクトチェーンがない(最大1ホップ)。恒久的な移転には301を使用する
- URL の長さ:100文字超を指摘する
- 末尾のスラッシュ:一貫して使用する
5. モバイル最適化
- レスポンシブデザイン:viewport メタタグとレスポンシブ CSS
- タッチターゲット:最小48x48px、間隔は8px
- フォントサイズ:基本サイズを最小16pxにする
- 横スクロールがない
- モバイルファーストインデックス:モバイル版のコンテンツが同等であることを確認し、実際の Googlebot のクロール記録を調べる。すべての Google クローラーやフェッチャーがモバイルのユーザーエージェントを使用すると推測しないこと。
6. コアウェブバイタル
- LCP(Largest Contentful Paint):目標 <2.5s
- INP(Interaction to Next Paint):目標 <200ms
- INP は 2024 年 3 月 12 日に FID に置き換わりました。FID は 2024 年 9 月 9 日に、すべての Chrome ツール(CrUX API、PageSpeed Insights、Lighthouse)から完全に削除されました。FID にはどこでも言及しないでください。
- CLS(Cumulative Layout Shift):目標 <0.1
- 評価には実ユーザーデータの 75 パーセンタイルを使用します
- MCP が利用可能な場合は、PageSpeed Insights API または CrUX データを使用します
7. 構造化データ
- 検出対象:JSON-LD(推奨)、Microdata、RDFa
- Google がサポートするタイプに照らして検証します
- 詳細な分析については seo-schema スキルを参照してください
8. JavaScript のレンダリング
- コンテンツが初期 HTML で表示されるか、JavaScript が必要かを確認します
- クライアントサイドレンダリング(CSR)とサーバーサイドレンダリング(SSR)を判別します
- インデックス登録の問題につながる可能性がある SPA フレームワーク(React、Vue、Angular)を指摘します
- 該当する場合は、動的レンダリングの設定を確認します
JavaScript SEO:canonical とインデックス登録に関するガイダンス(2025 年 12 月)
Google は 2025 年 12 月、JavaScript SEO のドキュメントを更新し、重要な点を明確にしました。
- canonical の競合: 生の HTML に含まれる canonical タグと、JavaScript によって挿入される canonical タグが異なる場合、Google はどちらか一方を使用する可能性があります。サーバーでレンダリングされた HTML と JavaScript でレンダリングされた出力で、canonical タグが同一であることを確認してください。
- JavaScript と noindex: 生の HTML に
<meta name="robots" content="noindex">が含まれていて、JavaScript がこれを削除した場合でも、Google は生の HTML の noindex を適用する可能性があります。初期 HTML レスポンスで正しい robots ディレクティブを配信してください。 - 200 以外のステータスコード: Google は 200 以外のレスポンスをレンダリングしない場合があります。クライアントサイドでの修復に頼らず、正しいステータス、コンテンツ、ディレクティブを配信してください。
- JavaScript 内の構造化データ: JavaScript によって挿入される Product、Article などの構造化データは、処理が遅れる可能性があります。時間的制約のある構造化データ(特に e コマースの Product マークアップ)は、初期のサーバー側レンダリング HTML に含めてください。
ベストプラクティス: JavaScript による挿入に頼るのではなく、重要な SEO 要素(canonical、meta robots、構造化データ、title、meta description)を初期のサーバー側レンダリング HTML で配信してください。
9. IndexNow プロトコル
- Bing、Yandex、Naver 向けにサイトが IndexNow をサポートしているか確認します
- Google 以外の検索エンジンでサポートされています
- Google 以外の検索エンジンでより速くインデックス登録されるよう、導入を推奨します
出力
技術スコア:XX/100
定性的なスコアは任意です。評価基準、証拠の情報源、確認できなかった項目を明示してください。クロールリクエストの範囲を定め、読み取り専用の分析の一環として robots、HSTS preload、本番環境の設定を変更しないでください。クローラーとレンダリングに関する説明は、Google クローラーおよびJavaScript SEOで確認してください。
カテゴリ別内訳
| カテゴリ | ステータス | スコア |
|---|---|---|
| クロール可能性 | pass/warn/fail | XX/100 |
| インデックス登録可能性 | pass/warn/fail | XX/100 |
| セキュリティ | pass/warn/fail | XX/100 |
| URL 構造 | pass/warn/fail | XX/100 |
| モバイル | pass/warn/fail | XX/100 |
| コアウェブバイタル | pass/warn/fail | XX/100 |
| 構造化データ | pass/warn/fail | XX/100 |
| JS レンダリング | pass/warn/fail | XX/100 |
| IndexNow | pass/warn/fail | XX/100 |
重大な問題(直ちに修正)
優先度:高(1 週間以内に修正)
優先度:中(1 か月以内に修正)
優先度:低(バックログ)
DataForSEO との連携(任意)
DataForSEO MCP ツールが利用可能な場合は、実際のページ分析(ステータスコード、ページのタイミング、リンク切れ、ページ上のチェック)に on_page_instant_pages を、Lighthouse 監査(パフォーマンス、アクセシビリティ、SEO スコア)に on_page_lighthouse を、技術スタックの検出に domain_analytics_technologies_domain_technologies を使用します。
エラー処理
| シナリオ | 対応 |
|---|---|
| URL に到達できない | ステータスコードとともに接続エラーを報告します。URL の確認、DNS 解決の確認、サイトが一般公開されていることの確認を提案します。 |
| robots.txt が見つからない | ルートドメインで robots.txt が検出されなかったことを伝えます。適切なディレクティブを含むファイルの作成を推奨します。残りのカテゴリの監査は続行します。 |
| HTTPS が設定されていない | 重大な問題として指摘します。HTTP がリダイレクトなしで提供されているか、混在コンテンツが存在するか、SSL 証明書がない、または期限切れかを報告します。 |
| Core Web Vitals のデータを利用できない | CrUX データを利用できないことを伝えます(トラフィックの少ないサイトではよくあります)。Lighthouse を使ってラボ環境でのパフォーマンスを診断し、フィールドデータに基づく Core Web Vitals とは別に表示します。また、CrUX にデータを登録するためにトラフィックを作り出してはいけません。 |
制限事項
- タスクが上記の説明にある範囲に明確に該当する場合にのみ、このスキルを使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を停止して確認を求めてください。