seo-ai-discovery について
seo-ai-discoveryは、AIやエージェント向けのサイト上の発見ファイルとエンドポイントを検査する監査スキルです。構造やアクセス可否を確認し、検索への影響は不確実としてスコアに反映しません。
主な機能
- 01llms.txtの構造とリンクを検査
- 02agents.mdの有無を確認
- 03UCPとAIカタログのデータを検証
- 04エージェント用サイトマップのリンクを確認
- 05依頼に応じて発見ファイルを修正
活用シーン
- 01サイトのAI発見ファイルを監査
- 02発見用URLへのアクセス可否を確認
- 03サイト構造からllms.txtを作成
- 04報告前に発見項目の検査結果を検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hainrixz/ claude-seo-ai --skill seo-ai-discoveryインストール後、Claude Code で/seo-ai-discoveryを入力して読み込まれたか確認します。
詳細
seo-ai-discovery(M21 — AI 検出とエージェントエンドポイント)
検出ファイルは、エージェントやコーディングアシスタントに参照先を知らせるものです。いずれも、検索エンジンのランキングや引用に関する根拠として文書化されたものではないため、M21 の調査結果はすべて speculative または directional であり、このモジュールの重みは 0 です。robots/UA の対応状況は seo-ai-crawlers(M14)、エージェント型コマースへの対応状況(ストアの UCP とカタログフィード)は seo-ecommerce(M18)が担当します。
入力
ディスパッチ用エンベロープで指定された PageSnapshot を使用します。<run_dir>/site/discovery.json には、/llms.txt、/llms-full.txt、/agents.md、/.well-known/ucp、/.well-known/ai-catalog.json、/sitemap_agentic_discovery.xml、/api/ucp/mcp のプローブ結果(ステータス、content-type、バイト数、最大256 KBの生の本文)が格納されています。<run_dir>/site/robots.json には、robots のクロスチェックに使うボットごとの判定結果が格納されています。エンベロープの vertical によって UCP の担当範囲が決まります。audit.mjs がすでに出力した決定的な調査結果は <run_dir>/findings.deterministic.json に記載されています。これらの ID を再出力せず、モデル判定の調査結果のみを追加してください。スナップショットなしで URL/パスを直接指定して実行する場合は、まず node "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs" を実行し、表示されたスナップショットのパスを使用してください。
監査
- llms.txt — 存在する(200、text)。llmstxt.org の構成に従っていること:H1 のタイトルが1つ、任意の要約ブロック引用、
- [title](url): note形式のリンクを含む H2 セクション。リンク先 URL が解決できる(--deep、確認は最大25件)。このファイルが、参照する AI ボットに対して robots で禁止されていないこと。/llms-full.txtは存在/不在のみを報告します。 - agents.md — 存在/不在を確認します。プラットフォームのデフォルトである場合(Shopify には標準で含まれます)は注記します(参考情報)。
- UCP プロファイル(
/.well-known/ucp)—ecommerceが有効でない場合に限ります(有効な場合は M18 の担当です)。公開されている(200、認証なし)こと、JSON 形式であること、ucp.versionがYYYY-MM-DD形式であること、services/capabilitiesオブジェクトが逆 DNS 名をキーとし、{version, spec, transport?, endpoint?, schema}の配列になっていることを確認します。dev.shopify.catalogの宣言があれば注記します。これはプラットフォームがカタログサービスを公開していることを示すもので、マーチャントが決定したものではなく、プラットフォームのデフォルトです。 - ARD カタログ(
/.well-known/ai-catalog.json)— 存在し、解析可能な JSON であることを確認します。報告のみ:v0.9 ドラフト(2026-05-28)、採用はほぼゼロです。 - エージェント用サイトマップ(
/sitemap_agentic_discovery.xml)— 存在し、整形式の XML であり、サンプルとして確認した<loc>エントリが解決できることを確認します。
修正
- AUTO(
fixable: auto)、開示を条件とし、スコアは0:ユーザーから明示的な依頼(fix --category ai-discovery、エイリアスllms)があった場合に限り、サイト自身の構造(サイトマップ URL と解析済みタイトル)のみを使ってllms.txt/llms-full.txtを生成または修正します。書き込み前に差分を表示し、影響が小さい、または不確実であることを必ず開示します。 - ADVISORY(
fixable: advisory):UCP/ARD/エージェント用サイトマップの導入、および robots で禁止されている検出ファイルのブロック解除(robots の書き込みは M14 の担当です)。このツールがマーチャントのプロファイルを作成することはありません。プロファイルはプラットフォームが生成します。 - 決して捏造しないこと:リンク先、説明、エンドポイント、バージョンを捏造せず、ユーザーに確認するか、
TODOと明確に示したプレースホルダーを残してください。
検証
node "${CLAUDE_PLUGIN_ROOT}/scripts/ai-discovery.mjs" --snapshot <pages/<slug>.json> [--deep]—site/discovery.jsonを再読み込みし、llms.txt の構造(dom_assert)、UCP/ARD の JSON 形式(schema_validator)、エージェント用サイトマップの XML(xml_parse)、robots のクロスチェック(robots_parse)を検証します。- 検出プローブが実行されなかった場合(ネットワークなし、ローカルパス)は、ステータスが
needs_apiになります。誤ってpassにしてはいけません。
所見
schema/finding.schema.json に準拠します。軸は ai、重大度は ≤2、特に記載がない限り信頼度は speculative です。重大度ポリシー:5 は、サイト/テンプレートのスコープで適格性を失わせる壊滅的な事実に限って使用します。4 は重大、3 は中程度、2 は軽微、1 はごく軽微、0 は情報提供のみです。また、スコアの上限を設定できるのは、有効なカテゴリーにおける established の重大度 5 の fail のみです(references/scoring-model.md)。M21 のカテゴリーウェイトは 0 なので、重大度にかかわらず、ここに記載した内容によっていずれのスコアも変動したり、上限が設定されたりすることはありません。evidence.observed にはファイル/プローブの行をそのまま引用します。verification.reproduce は上記のコマンドです。expected_impact は範囲で示します(単独の % は記載しません)。ID:
M21.llmstxt.missing(warn 1、fixable: auto) ·M21.llmstxt.malformed(warn 1、fixable: auto) ·M21.llmstxt.broken_links(warn 2、fixable: proposed、directional) ·M21.llmstxt.blocked_for_ai_bots(warn 2、fixable: advisory、directional— ファイルは存在しますが、読み取る想定のボットに対して robots がアクセスを禁止しています)。M21.agents_md.present(pass 1) ·M21.agents_md.missing(warn 1、fixable: advisory)。M21.ucp.present_valid(pass 2) ·M21.ucp.invalid(warn 2、fixable: advisory) ·M21.ucp.not_public(warn 2、fixable: advisory)— e コマースが無効な場合のみ。それ以外の場合は、担当が M18 であることを示してnot_applicableとします。M21.ai_catalog.present(pass 1) ·M21.ai_catalog.invalid_json(warn 1、fixable: advisory)。M21.agentic_sitemap.present(pass 1) ·M21.agentic_sitemap.broken_locs(warn 2、fixable: proposed、directional)。
誠実性
- Google 検索は llms.txt を無視します — Google の声明(2026-06-15 — 正確な日付は要確認。この声明は 2026-07-10 更新の Optimizing your website for generative AI features に記載されており、AI features and your website には「AI テキストファイルは……ない」とあります)。llms.txt を AI Overviews/AI Mode の改善策として決して提示しないでください。
- ベンダーの対応は一部に限られます(Anthropic と Perplexity は検索時に読み込みます。OpenAI は対応を明言していません)。導入率は約 10% で、Ahrefs によると(2026 年 5 月)、llms.txt ファイルの 97% はボットからのリクエストを一度も受けていません。この数値は出典とともに
rationaleにのみ記載してください。expected_impactには決して記載しないでください。 - UCP、ARD、agentic sitemap が関係するのは、エージェントによるコマースとリソースの検出であり、回答エンジンでの引用ではありません。これらについて報告してください。ここに記載した内容によって AI Visibility スコアが変動することはありません。
- Shopify ストアでは、これらすべてがデフォルトで提供されます(2026 年 5 月)。Shopify ストアでの存在はプラットフォームのデフォルトであり、販売者の評価指標ではありません。