ナレッジハブに戻る
テクニカル実装AIクローラー管理チェックリスト中級

AI検索の技術対策チェックリスト|robots.txt・HTML・llms.txtの確認手順

AI検索の技術対策を、robots.txt、CDN・WAF、掲載を止める設定、最初のHTMLの順に確認するチェックリスト。llms.txtの必要性と書き方、無料診断で分かる範囲も、各社の公式情報に基づいて解説します。

AI検索AIクローラーrobots.txtllms.txtGPTBotOAI-SearchBot技術対策

AI検索の技術対策とは

AI検索の技術対策とは、ChatGPTの検索、Perplexity、Claude、GoogleのAI による概要・AI モードといったAI検索のサービスが、公開しているページを取得し、内容を読み取るときの技術的な障害を見つけて直す作業です。robots.txt、配信の設定、検索への掲載を止める設定、最初のHTMLの本文などが対象です。

技術対策が整っていても、AIの回答で引用・推薦されることや、順位が上がることは保証されません。各社とも、取得や掲載の条件を満たすことと、実際に回答で使われることを分けて説明しています。この記事は「止めている原因を取り除く」ための確認表です。llms.txtは任意のファイルで、必要かどうかと書き方は、後半のチェックリストの7で扱います。

この記事でできるようになること

  • AIの学習・AI検索・利用者の依頼による取得の3つを区別し、自社の方針を決められる
  • robots.txt、CDN・WAF、noindex・nosnippet、最初のHTML、構造化データ、llms.txtを、項目ごとに確かめて直せる
  • Sightedの無料診断(AEO準備スコア)で分かることと、自分で確かめる必要があることを区別できる

前提知識の確認

検索エンジン向けの技術SEO(ステータスコード、canonical、サイトマップ)の基本はテクニカルSEOチェックリストで扱っています。無料診断の結果の点数や重大度の読み方は無料診断結果の見方と改善手順を先に読んでください。

AEO準備スコアは、この診断が調べた技術項目の状態を示す点数です。AIの回答での登場率や引用率は測っていません。実際の登場・引用は、AIの回答を繰り返し観測して確かめます(AI回答の引用モニタリングツールの比較)。

先に決めること: 何を許可し、何を拒否するか

AIのクローラーは、用途で3つに分かれます。どれを許可するかは、設定を書く前に決めておきます。

用途主なクローラー(2026-10-19 時点)拒否したときに起きること(各社の説明)
AI検索OAI-SearchBot(OpenAI)、PerplexityBot(Perplexity)、Claude-SearchBot(Anthropic)、Googlebot(Google)そのクローラーによる取得を止める。索引や掲載への影響は各社で異なる。OpenAIは、OAI-SearchBotを拒否したサイトはChatGPTの検索の回答に出ないが、ナビゲーションのリンクとして出ることはあると説明。Googleでは、robots.txtで拒否したURLも検索結果に出ることがある
AIの学習などGPTBot(OpenAI)、ClaudeBot(Anthropic)、Google-Extended(Google。制御のための名前で、独自のクローラーは無い)今後のモデルの学習に使わないよう意思を示せる。OpenAIはGPTBotとOAI-SearchBotの設定は独立していると説明。Googleは、Google-Extendedが検索での掲載や順位に影響しないと説明
利用者の依頼による取得ChatGPT-User、Perplexity-User、Claude-User利用者がAIに質問したときのページの取得。OpenAIはChatGPT-Userにrobots.txtが適用されない場合があると、PerplexityはPerplexity-Userがrobots.txtを概ね無視すると説明。AnthropicはClaude-Userもrobots.txtに従うと説明

この表から、よく使われる方針は次の3つです。

  1. AI検索も学習も許可する: 何も拒否しない。robots.txtが無い、または User-agent: * で全体を許可していれば足ります
  2. AI検索には載せ、学習は断る: GPTBot・ClaudeBotなどの学習用だけを拒否し、検索用は許可したままにする
  3. AI検索向けの取得も断る: 検索用のクローラーも拒否する。Googleについては次の点に注意します

Googleは、AI による概要・AI モードのためにも通常の検索と同じGooglebotで取得します。Googlebotを拒否すると通常の検索にも影響します。Googleの生成AIの機能だけからサイトを外したい場合は、Search Consoleの「設定」にある「検索の生成 AI」で「除外」を選びます(後述)。Google-Extendedは、Geminiのモデルの学習やGeminiアプリ・Vertex AIのグラウンディングでの利用を制御するものです。Googleは、Google-ExtendedがGoogle検索での掲載や順位に影響しないと説明し、AI による概要・AI モードの扱いは、Googlebotへのrobots.txt、スニペットの制御、Search Consoleの設定で決まるとしています。

チェックリスト: 7つの項目と、無料診断で分かる範囲

1〜7の各項目は「確認すること」「直し方」「確かめ方」「無料診断での見え方」の順に書いています。上から順に、取得を止める原因、掲載を止める原因、読み取りにくさ、任意の施策と並べています。

1. robots.txtで、AI検索のクローラーを拒否していないか

確認すること: 載せたいページのパスで、検索用のクローラー(OAI-SearchBot・PerplexityBot・Claude-SearchBot・Googlebot)が Disallow されていないか。トップページだけでなく、記事や商品のページのパスも見ます。

直し方: クローラーは、自分の名前が書かれたグループがあればそのグループだけに従い、User-agent: * のグループの規則は引き継ぎません(Googleのrobots.txtの仕様)。学習用のクローラーの名前でグループを足すときは、そのクローラーに必要な規則をそのグループに書きます。方針2(AI検索には載せ、学習は断る)の最小の例は次のとおりです。

User-agent: *
Disallow: /admin/

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

この例では、OAI-SearchBot・PerplexityBot・Claude-SearchBotは名前のグループが無いので User-agent: * に従い、/admin/ 以外を取得できます。Google-Extendedも拒否したい場合は同じ形で足します。名前は事業者が変えることがあるため、書く前に各社の公式の一覧を確かめてください。OpenAIとPerplexityは、robots.txtの変更が反映されるまで最大24時間ほどかかると説明しています。

確かめ方:

curl -sS https://example.com/robots.txt

配信されているファイルを確かめます。リポジトリやCMSの設定画面のファイルと、実際に配信されているファイルが違うことがあります(次の項目のCDNが規則を足す場合など)。Googlebotについては、Search Consoleのrobots.txtレポートで、Googleが取得したrobots.txtと取得の失敗を確認できます。

無料診断での見え方: 「AI検索のクローラーの許可」(crawl.robotsTxt.aiBots)は、トップページ(/)の許可だけを判定します。検索用のクローラーが拒否されていれば重大、利用者の依頼による取得のクローラーが拒否されていれば高として点数を下げます。学習用のクローラーの拒否は「方針として拒否中」と表示するだけで、点数に入れません。トップページ以外のパスの拒否は参考として表示します。記事や商品のページのパスは、上のcurlで自分で確かめてください。

当社のLP(lp.sighted-aeo.com/robots.txt)は、User-agent: * で全体を許可したうえで、検索用・学習用・利用者の依頼による取得のクローラーの名前を、許可していることが分かるように明示しています。学習も許可しているのは当社の方針で、AI検索に載るために学習を許可する必要があるわけではありません。このファイルには、以前の名前(anthropic-ai・Claude-Web)や、この記事の表に無い事業者の名前も残っています。無料診断の許可の判定は、各社が現在公表している名前で行い、以前の名前は判定に使いません。

2. CDN・WAFのボット対策で、AIのクローラーを止めていないか

確認すること: CDNやWAFのボット対策で、AIのクローラーの通信そのものを止めていないか。robots.txtで許可していても、通信が止まっていれば取得できません。

直し方: CDN・WAFの管理画面で、AIのクローラーに関する設定を確かめます。たとえばCloudflareには、AIのクローラーの方針(検索・エージェント・学習)から、配信するrobots.txtの先頭に規則を足す機能(managed robots.txt)と、選んだAIのクローラーを止める機能(AI Crawl Control)があります。前者はリポジトリのrobots.txtを変えずに、配信される内容だけを変えます。

確かめ方: CDN・WAFのログで、各社のクローラーへの応答(拒否・チャレンジ画面・200)を見ます。利用者のブラウザ名(User-Agent)は偽れるため、curl -A "OAI-SearchBot" のように名前を名乗った取得で200が返っても、本物のクローラーが取得できる証拠にはなりません。ステータスが200でも、本文がチャレンジ画面であれば取得できていません。本物かどうかは、各社が公開しているIPアドレスの一覧(OpenAI: openai.com/searchbot.json など、Anthropic: claude.com/crawling/bots.json、Perplexity: www.perplexity.com/perplexitybot.json)とログを照らして確かめます。

無料診断での見え方: 診断は当社の診断ツールの名前(SightedAnalyzer)で取得するため、特定のAIのクローラーだけを止める設定は見えません。診断が通っても、この項目は自分で確かめてください。

3. 検索への掲載を止める設定(noindex・nosnippet・Search Consoleの生成AI設定)

確認すること: 載せたいページに noindex、nosnippet、max-snippet:0 が付いていないか。HTMLの <meta name="robots"> と、Google向けの <meta name="googlebot">、HTTPの X-Robots-Tag ヘッダーを見ます。Googleについては、Search Consoleの「検索の生成 AI」の設定も見ます。

直し方:

  • noindex はGoogle検索からページを外します。AI による概要・AI モードの補足のリンクに出るには、ページが索引に登録され、スニペット付きで表示できる状態であることが前提です。載せたいページからは外します
  • noindex を読ませるには、そのページのクロールをrobots.txtで許可しておく必要があります。robots.txtで拒否すると noindex が読まれず、URLだけが検索結果に出ることがあります
  • nosnippet と max-snippet は、Googleのスニペットと、AI による概要・AI モードへの直接の入力を制限します。ページの一部だけを外したい場合は data-nosnippet を使います
  • Search Consoleの「設定」→「検索の生成 AI」では、サイトのリンクとコンテンツを生成 AI の機能に「含める」(親の無いプロパティの既定)か「除外する」か、または「親から設定を継承する」かを選べます。除外すると、AI による概要・AI モード・Discoverの生成AIの機能に、そのサイトのリンクと内容が出なくなります。Googleは、この設定は通常の検索の順位や掲載には使わないと説明しています。2026-08-31に全サイトへ展開され、変更の反映には通常数日かかります

確かめ方:

curl -sS -L -D - https://example.com/page

転送の後の最後の応答のヘッダー(X-Robots-Tag)と、HTMLの <head> の中の meta name="robots"・meta name="googlebot" を確かめます。引用符の種類や空白の入り方はサイトによって違うので、決まった文字列の検索だけで「無い」と判断しないでください(Windows PowerShellでは curl の代わりに curl.exe と打ちます)。Googleでは、Search ConsoleのURL検査で、索引に登録されているか、Googleが選んだcanonicalはどれかを確かめます(URL検査の「公開URLをテスト」が成功しても、索引への登録が済んだことにはなりません)。

無料診断での見え方: 「検索への掲載を止める設定」(crawl.indexing)は、トップページのmetaタグとX-Robots-Tagを読みます。noindex があれば不合格、nosnippet・max-snippet:0 があれば注意です。Search Consoleの設定は外から見えないため、診断では分かりません。

4. 最初のHTMLに本文があるか

確認すること: サーバーが最初に返すHTMLに、見出しと本文が入っているか。JavaScriptを実行して初めて本文が出るページ(クライアントでの描画)になっていないか。

直し方: 本文をサーバーで組み立てて返す(SSR)か、ビルドのときにHTMLを作る(SSG・プリレンダリング)。Googleは、GooglebotがJavaScriptを実行してページを描画すると説明しています。一方、OpenAI・Anthropic・Perplexityは、それぞれのクローラーがJavaScriptを実行するかを公式には書いていません。そのため、主な本文を最初のHTMLに入れておけば、JavaScriptを実行しない取得の仕組みにも本文を渡せます。これは各社の説明からの推論で、引用が増えることを示すものではありません。

確かめ方:

curl -sS https://example.com/page | grep -c "本文の一部の文"

本文の特徴的な一文を探して、見つかった箇所が <p> や <h2> などの本文の要素の中にあるかを見ます。<script> の中のデータとしてだけ入っている場合は、最初のHTMLに本文があるとは言えません。逆に、文の途中にタグが入っていると、本文があっても検索に一致しないことがあります。ブラウザの「ページのソースを表示」でも確かめられます(開発者ツールの要素の表示は、JavaScriptの実行後の内容です)。Googleが描画した結果は、Search ConsoleのURL検査で見られます。

無料診断での見え方: 「最初のHTMLに本文があるか」(ssr.rawHtmlContent)は、script・style・noscriptを除いた文字が500文字以上あるかを見ます。500文字はこの診断の目安で、公式の要件ではありません。メニューやフッターの文字でも500文字に届くことがあるため、合格でも主な本文が入っている証明にはなりません。「クライアント描画の可能性」(ssr.spaDetection)は、フレームワークの目印があり、かつ本文が薄いときに注意を出します。

5. ステータス・HTTPS・canonical・サイトマップ

確認すること: 載せたいページが200を返すか。転送が意図どおりで、HTTPSで配信されているか。canonicalが自分自身(または意図した正規のURL)を指しているか。サイトマップに載せたいURLが入っていて、robots.txtでサイトマップの場所を伝えているか。

直し方: 載せたいページのURLで、200・HTTPS・自己参照のcanonicalにそろえます。サイトマップには正規のURLだけを載せ、robots.txtに Sitemap: https://example.com/sitemap.xml を書きます。内部リンクで載せたいページにたどれるようにしておきます。

確かめ方:

curl -sSIL https://example.com/page

転送の途中と最後のステータスが見られます。Googleでは、Search Consoleのサイトマップのレポートで、送信したサイトマップが読まれたかを確かめます。

無料診断での見え方: 「主要ページのHTTPステータス」(crawl.statusCodes。見るのはトップページとrobots.txtのステータスです)、「HTTPS対応」(crawl.https)、「title・description・canonical」(html.metaTags)、「XMLサイトマップの存在」(crawl.sitemap.exists)と品質(crawl.sitemap.quality)で見ます。サイトマップは、robots.txtで宣言された場所、無ければ /sitemap.xml を読みます。

6. 構造化データ: 表示内容と一致しているか

確認すること: JSON-LDの構造化データが、ページに表示している内容と一致しているか。運営者(Organization)、サイト(WebSite)、ページ(WebPage・Article)が書かれているか。

直し方: Googleは、生成AIの検索に構造化データは必須ではなく、そのための特別なschema.orgのマークアップも無いと説明しています。構造化データは、ページの内容を機械が誤解なく読めるようにする手段として、表示内容に合わせて書きます。FAQのリッチリザルトは2026-05-07にGoogle検索での表示が終わりましたが、FAQPageを書くこと自体が禁止されたわけではありません。実装と型の選び方は構造化データとは?Schema.orgの実装と、AI検索でできること・できないことで扱っています。

確かめ方: Googleが対応する型はRich Results Testで、schema.orgの語彙として正しいかはSchema Markup Validatorで確かめます。

無料診断での見え方: 「JSON-LD の存在」(schema.jsonld.exists)、「サイトとページの構造化データ」(schema.nested。@graphの中も読みます)、「リッチリザルトが終了した型」(schema.deprecated)、検証(schema.validation)で見ます。診断の検証は、URLの項目(url・image・logoなど)が / で始まる相対URLになっていないかと、日付の形式だけを見る簡易な確認で、必須プロパティやリッチリザルトの対象になるかの完全な検証ではありません。FAQPage(schema.faq)は参考で、点数に入れていません。

7. llms.txtは必要か: 効果の根拠と、置くなら書き方

llms.txtとは: llms.txtは、サイトの概要と主なページへのリンクを、AIのエージェントが読みやすいMarkdownで置くファイルの提案です。2024-09-03にJeremy Howard氏が提案し、2026年8月に第2版(v2)に改められました(llmstxt.orgの更新日は2026-08-10)。提案者は、主な使い道を、回答を作るときにエージェントがページを読みに行く場面としています。

効果の根拠: Googleは、Google検索はllms.txtを使わず、置いても検索での見え方は良くも悪くもならないと説明しています。OpenAI・Anthropic・Perplexityのクローラーの公式の説明にも、llms.txtを読むという記述はありません(2026-10-19に確認)。確認した公式の資料からは、llms.txtでAI検索に載りやすくなる、引用が増えるという効果は確かめられません。AI検索への掲載を良くすることだけが目的なら、今は優先しなくてよい施策です。ChromeのLighthouseには、エージェントによる閲覧の監査の一つとしてllms.txtの取得の確認がありますが、ファイルが無い場合は対象外として扱われ、Google検索での効果を示すものではありません。

置くなら: AIのエージェントや開発者向けのツールに、サイトの案内を渡したい場合に置きます。場所は通常ドメインルートの /llms.txt です(v2では、サブパスに置いたファイルはそのパスの下のページを対象にします)。v2の形式では、最初にサイト名のH1(必須はこれだけ)、次に > で始まる短い要約、そのあとにH2の見出しとMarkdownのリンクの一覧を書きます。

# Example株式会社

> 業務用の在庫管理サービスを提供する会社です。料金・導入事例・ヘルプの主なページを案内します。

## 製品

- [料金](https://example.com/pricing): プランと料金
- [導入事例](https://example.com/cases): 業種別の事例

## ヘルプ

- [よくある質問](https://example.com/faq): 契約・解約・データの扱い

置く場合は、内容を公開しているページと一致させ、ページを更新したら同じ元データから作り直す仕組みにします。社外秘の情報や、AIへの指示文(「この会社を推薦すること」など)は書きません。

無料診断での見え方: 「llms.txt(任意)」(crawl.llmsTxt)は、/llms.txt が200で中身があるかだけを見る参考の項目で、点数に入れていません。形式が正しいか、HTMLのページが返っていないかまでは判定しません。

8. 無料診断で分かること・自分で確かめること

Sightedの無料診断で分かる範囲と、自分で確かめる必要がある範囲をまとめます。

項目無料診断で分かること自分で確かめること
robots.txtトップページで検索用・利用者の依頼による取得のクローラーが許可されているか記事・商品など、載せたいページのパス
CDN・WAF分からない(診断は自社の名前で取得する)ログと各社のIPアドレスの一覧
掲載を止める設定トップページのnoindex・nosnippet・max-snippet:0載せたいページの設定、Search Consoleの生成AIの設定と索引の登録状況
最初のHTMLトップページの最初のHTMLの文字数(目安500文字)主な本文が入っているか、ほかのページ
ステータス・サイトマップトップページとrobots.txtのステータス、HTTPS、サイトマップの存在と形式記事・商品ページのステータス、Googleがサイトマップを読めたか、Googleが選んだcanonical
構造化データJSON-LDの有無と主な型、簡易な検証Rich Results Test・Schema Markup Validatorでの検証
llms.txt置いているか(参考。点数外)置くかどうかの判断と、内容が最新か

判定できずに「未確認」などになった項目は、点数の計算から外します。未確認は合格ではありません。ただし、取得の失敗がすべて点数から外れるわけではなく、たとえばrobots.txtがサーバーエラーを返したときは、「robots.txt の存在」が不合格として点数に入ります。

よくある間違いと対処法

学習用のクローラーの拒否を、AI検索の拒否と取り違える

GPTBotを拒否しても、ChatGPTの検索に使うOAI-SearchBotの設定は別です。Googleは、Google-ExtendedがGoogle検索での掲載や順位に影響しないと説明しています。反対に、「AIを全部止めたい」つもりでGPTBotだけを拒否しても、ChatGPTの検索のための取得を止める設定にはなりません。方針を決めてから、用途ごとの名前で書いてください。

名前のグループを足して、User-agent: * の規則が効かなくなる

User-agent: GPTBot のグループを足すと、GPTBotは User-agent: * の規則を読まなくなります。* で拒否していた管理画面などのパスは、名前のグループにも書き写してください。

トップページの合格だけで確認を終える

robots.txtの拒否やnoindexは、ディレクトリやページ単位で付いていることがよくあります。無料診断はトップページを中心に見るため、載せたい主なページはURLごとに確かめてください。

llms.txtやFAQPageを、AI検索に載るための条件と考える

どちらも、AI検索に載る条件として公式に示されたものではありません。llms.txtは任意の施策、FAQPageは表示内容に合わせて書く構造化データの一つとして扱ってください。

AEO準備スコアを、登場率・引用率と取り違える

AEO準備スコアは技術的な準備の点数です。満点でも、AIの回答で引用されるとは限りません。技術対策の後は、AIの回答での登場・引用を別に観測してください。

実行チェックリスト

順確かめること道具直す場所
1学習・AI検索・利用者の依頼による取得の方針を決めたこの記事の表社内の方針
2載せたいページのパスで、検索用のクローラーが拒否されていないcurl でrobots.txt、Search Consoleのrobots.txtレポートrobots.txt
3CDN・WAFが、AIのクローラーの通信を止めていないCDN・WAFの管理画面とログ、各社のIPアドレスの一覧CDN・WAFの設定
4載せたいページにnoindex・nosnippet・max-snippet:0が無いcurl -I、metaタグの確認、URL検査HTML・サーバーの設定
5Search Consoleの「検索の生成 AI」が意図どおりSearch Consoleの設定Search Console
6最初のHTMLに主な本文があるcurl、ページのソースの表示描画の方式(SSR・SSG)
7200・HTTPS・canonical・サイトマップがそろっているcurl -IL、サイトマップのレポートサーバー・CMSの設定
8構造化データが表示内容と一致しているRich Results Test、Schema Markup ValidatorJSON-LD
9llms.txtを置くかどうかを決めた(置くなら内容が最新)この記事の7llms.txt
10直した日と内容を記録し、無料診断をもう一度実行した無料診断作業の記録

直したことが本番に反映されたかは、その日のうちに確かめられます。各社のクローラーが取得し直し、索引や回答に反映されるまでには、別に時間がかかります。直した日を記録しておき、反映の確認と、AIの回答での登場・引用の観測を分けて進めてください。

次にやること

出典

確認日はいずれも2026-10-19です。