サイトの技術チェックリスト:robots.txt で許可すべき AI クローラーと、構造化データ・llms.txt の扱い方

    執筆:TriloAI 編集チーム公開:

    ChatGPT、Perplexity、Claude、Google の AI による概要にサイトを読んでもらうには、技術面で三つの関門があります。robots.txt で検索用のクローラー(OAI-SearchBot、Claude-SearchBot、PerplexityBot、Googlebot、Bingbot)をブロックしないこと。CDN やファイアウォールがその手前で止めていないこと。サイトの基本情報を構造化データで明確に書いておくこと。学習用の GPTBot や ClaudeBot をブロックするかどうかは別の判断で、どの会社も検索とは分けて管理しています。Google-Extended は少し特殊で、Gemini の学習だけでなく、Gemini アプリが回答するときにサイトの内容を参照できるかどうかも左右します。llms.txt は作ってもかまいませんが、今のところ補助にとどまります。

    この記事では、GEO(生成エンジン最適化。日本では LLMO 対策・AIO 対策とも呼ばれます)のうち技術面だけを扱います。技術的な説明にはすべて公式の原文へのリンクを付け、2026 年 10 月 16 日に一つずつ開いて確かめました。各社のルールは変わります。作業の前に、もう一度リンク先を確認してください。

    AI クローラーは 3 種類あり、一つを間違えてブロックすると AI 検索から消えることがあります

    クローラーは、AI 各社とも用途で分けています。検索機能のインデックスを作るもの、モデルの学習に使うコンテンツを集めるもの、ユーザーが質問したときにその場でページを開くものです。いちばんはっきり書いているのは OpenAI で、OAI-SearchBot と GPTBot の設定はそれぞれ独立しているとしています。OAI-SearchBot を許可して検索結果に出られるようにしながら、GPTBot をブロックして学習には使わないよう示すこともできます(OpenAI のクローラー説明(英語))。各社の公式文書をもとに、下の表にまとめました。

    robots.txt での名前運営会社と用途ブロックするとどうなるか(公式の説明)
    OAI-SearchBotOpenAI・検索用:ChatGPT の検索機能でサイトを表示するChatGPT の検索の回答には表示されず、ナビゲーション用のリンクとして出るだけになることがある
    GPTBotOpenAI・学習用:生成 AI の基盤モデルの学習に使われる可能性があるコンテンツを集めるコンテンツを学習に使うべきでないという意思表示になる。OAI-SearchBot には影響しない
    ChatGPT-UserOpenAI・ユーザー起点:ユーザーが ChatGPT で質問したとき、代わりにページを開くことがあるユーザーの操作で動くため、robots.txt のルールが適用されない場合があると OpenAI は説明している。検索に表示されるかどうかの判断にも使われない
    Claude-SearchBotAnthropic・検索用:検索結果の品質を上げるためにウェブを巡回する検索のためのインデックス作成が行われず、ユーザーの検索結果での表示が減る可能性がある(Anthropic のヘルプ)
    ClaudeBotAnthropic・学習用:モデルの学習に使われる可能性があるウェブコンテンツを集めるサイトの今後のコンテンツを Anthropic の学習データから除外すべきという意思表示になる
    Claude-UserAnthropic・ユーザー起点:ユーザーが Claude に質問したとき、代わりにサイトにアクセスするユーザーの質問に応じたコンテンツ取得ができなくなり、ユーザーが指示したウェブ検索での表示が減る可能性がある
    PerplexityBotPerplexity・検索用:Perplexity の検索結果でサイトを表示し、リンクする。AI の基盤モデルのためのクロールには使わないと公式に説明検索結果に表示されるよう、公式は許可を推奨している(Perplexity のクローラー説明(英語))
    Perplexity-UserPerplexity・ユーザー起点:ユーザーの質問に答えるためにページを開き、回答にリンクを付けることがあるユーザーの依頼による取得なので、robots.txt は通常無視すると公式は説明している
    GooglebotGoogle・検索用:Google 検索とすべての検索機能AI は検索に組み込まれているとして、Google は Googlebot の robots.txt の指定を検索(AI による概要と AI モードを含む)のクロールの管理方法にしている。ブロックすると何も取得されない
    Google-ExtendedGoogle:独立したクローラーではなく、robots.txt で使う制御用のトークン。Google がクロールしたコンテンツを、次世代の Gemini モデルの学習に使うかどうかと、Gemini アプリや Vertex AI が回答するときの参照(グラウンディング)に使うかどうかを管理するGoogle 検索への登録には影響せず、Google 検索のランキング シグナルにも使われない(Google の一般的なクローラー)。ただし、Gemini アプリが回答するときにサイトの内容を参照しなくなる可能性がある
    BingbotMicrosoft・Bing の標準クローラーBing のガイドラインは Bing 検索、Copilot、グラウンディング API の結果を対象にしていて、robots.txt で Bingbot をブロックすることを避けるべき行為に挙げている(Bing のガイドライン(英語))

    表の中でいちばん誤解されやすいのは Google-Extended です。「学習用」と分類している記事が多いのですが、それでは半分しか合っていません。Google の原文には、Gemini アプリと Vertex AI でのグラウンディング、つまり回答する時点で Google の検索インデックスからモデルにコンテンツを渡すことも含まれています。AI による概要と AI モードは検索の一部です。その管理は Googlebot の robots.txt の指定で行うと、Google は「AI 機能とウェブサイト」で説明しています。Google-Extended をブロックしても Google 検索や AI による概要から消えることはありません。ただ、Gemini が回答するときにサイトの内容を参照しなくなる可能性はあります。

    ユーザー起点のクローラーは別に考えます。ChatGPT-User について OpenAI は robots.txt が適用されない場合があるとし、Perplexity-User について Perplexity は通常は無視するとしています。ユーザー自身が AI にページを開かせているからです。Claude-User は扱いが違います。こちらはサイト所有者が robots.txt でアクセスの可否を管理できる、と Anthropic は説明しています。

    検索は許可して学習は拒否する robots.txt はこう書きます

    robots.txt はサイトのルート、つまり https://自社のドメイン/robots.txt に置き、サブドメインごとに一つずつ用意します。下の例は、GPTBot と ClaudeBot にコンテンツを学習に使わせない設定です。Google-Extended の行を入れると、Gemini の学習を拒否するだけでなく、Gemini アプリが回答するときにサイトの内容を参照しなくなる可能性もあります。ほかのクローラー(OAI-SearchBot、Claude-SearchBot、PerplexityBot、Googlebot、Bingbot を含む)は、「User-agent: *」のグループですべて許可します。example.com を自社のドメインに置き換え、1 行ずつコピーしてください。

    robots.txt
    User-agent: GPTBot
    User-agent: ClaudeBot
    User-agent: Google-Extended
    Disallow: /
    
    User-agent: *
    Allow: /
    
    Sitemap: https://www.example.com/sitemap.xml

    最初の 3 行は、続けて書くことで一つのグループになります。Google の robots.txt の仕様では、user-agent 行を繰り返せば、複数のクローラーに同じルールをまとめて適用できます(Google による robots.txt の指定の解釈)。何もブロックしたくなければ、最初の 4 行を消します。Gemini が回答するときにサイトを参照できるようにしたければ、Google-Extended の行だけを消します。もともと「User-agent: *」の下に書いていたルール(管理画面のパスを止める Disallow など)は、そのまま残してください。

    よくある失敗は、念のために User-agent: Googlebot と Allow のグループを別に書き足すことです。同じ仕様によると、一つのクローラーが従うのは自分の名前にいちばん限定的に一致するグループだけで、ほかのグループは無視されます。名前を指定したグループと「*」のグループは結合されません。その結果、「*」の下で止めていた管理画面のパスが、Googlebot にはすべて開いてしまいます。書かないか、書くなら「*」の下のルールも一緒に写します。

    変更してから各社が新しい内容を読むまでには、少し時間がかかります。OpenAI は検索結果に robots.txt の変更が反映されるまで約 24 時間、Perplexity は最大 24 時間かかることがあるとしています。

    CDN やファイアウォールが robots.txt より手前で AI クローラーを止めていることがあります

    robots.txt が正しくても、それだけでは足りません。「AI 機能とウェブサイト」で Google が SEO の基本の最初に挙げているのは、robots.txt に加えて CDN またはホスティング インフラストラクチャでもクロールが許可されているかの確認です。OpenAI も ChatGPT 検索のヘルプで同じ点に触れています。サイトのホストか CDN が、OpenAI の公開している検索ボットの IP アドレスからのトラフィックを許可しているかを確かめてほしい、という内容です(OpenAI ヘルプ「ChatGPT でウェブを検索する」)。Perplexity は、Cloudflare と AWS WAF で許可する手順そのものを公開しています。

    Cloudflare を使っているサイトは、特に注意が要ります。Cloudflare は AI のトラフィックを 3 種類に分け、それぞれ設定できるようにしています。Search(検索)は、コンテンツを集めたりインデックスに登録したりして、あとで質問に答えるためのクローラーです。Agent(エージェント)は、チャットのフェッチ用ボットのように人に代わってリアルタイムに動くもの。Training(トレーニング)は、モデルの学習や微調整にコンテンツを使うクローラーです(Cloudflare のドキュメント(英語))。

    2026 年 9 月 15 日から、この設定の意味が変わりました(Cloudflare 公式ブログ)。まず、Training で[ブロック]か[広告のあるページでブロック]を選ぶと、検索と学習の両方を担う複合用途クローラーにも適用されるようになりました。Cloudflare が名前を挙げているのは Applebot、Bingbot、Googlebot です。つまり検索まで一緒に止まります。検索を残して学習だけを止めたいなら、[AIトレーニングを許可しない](Disallow AI Training)を選びます。もう一つの変更は新しいドメインの推奨設定で、広告で収益を得ているかどうかによって 2 種類が示されます。広告ありの推奨設定を選ぶと、Agent は広告のあるページでブロックされます。

    見落としやすいのが、Cloudflare の Bot Preference Sync です。設定に応じて元の robots.txt の先頭に管理用のルールを自動で付け足し、合わせた内容をクローラーに返します(Cloudflare の説明(英語))。サーバー上のファイルと、クローラーが受け取る内容が同じとは限りません。確認するときは、必ずブラウザで https://自社のドメイン/robots.txt を開きます。

    次の手順では、メニューの名前は Cloudflare の英語ドキュメントの表記、選択肢は英語名と Cloudflare 日本語ブログの表記を併記しています。

    1. Cloudflare を使っている場合は、Security Settings > Configure AI bot policies を開き、Search(検索)、Agent(エージェント)、Training(トレーニング)がそれぞれどの設定かを見ます。Search は Block([ブロック])にしません。
    2. 学習を止めたい場合は、Training で Disallow AI Training([AIトレーニングを許可しない])を選びます。Block を選ぶと、Googlebot と Bingbot も一緒にブロックされます。なお Cloudflare によると、Bing は robots.txt の「学習に使わない」設定をまだ読み取らないため、Bing が対応するまでこの設定の希望は Bing に伝わりません。
    3. AI Crawl Control のクローラー一覧で、OAI-SearchBot、Claude-SearchBot、PerplexityBot など検索用クローラーのアクションが Allow になっているかを確かめます。
    4. ブラウザで https://自社のドメイン/robots.txt を開き、Cloudflare が付け足した部分(BEGIN Cloudflare Managed content という文字列が入っています)が意図どおりかを確認します。
    5. Cloudflare を使っていない場合は、ホスティング会社かエンジニアにサーバーのログを調べてもらいます。OAI-SearchBot、PerplexityBot、Claude-SearchBot といった名前のリクエストに、403 などの拒否が返っていないかを確かめます。

    構造化データは機械に自社を正しく認識させるためのもので、引用の保証にはなりません

    構造化データは、ページのソースコードに書く機械向けの標準形式のデータで、多くは JSON-LD で書きます。このうち AI 検索に特に関わるのは二つです。トップページに置く Organization(組織)について、Google は組織の管理情報の詳細を把握し、検索結果でほかの組織と区別しやすくなると説明しています(組織のスキーマ マークアップ)。LocalBusiness(ローカル ビジネス)は、営業時間や各部門の情報などを Google に伝えるためのものです。必須プロパティは名前と住所だけです(ローカル ビジネス(LocalBusiness)の構造化データ)。

    限界もはっきりさせておきます。生成 AI 検索の公式ガイドには、生成 AI 検索に構造化データは必要なく、追加すべき特別な schema.org マークアップもないと書かれています。価値として挙がっているのは、リッチリザルトの対象になりやすくなることです(Google 検索の生成 AI 機能向けにウェブサイトを最適化する)。構造化データのガイドラインにも、正しくマークアップしても検索結果に表示されるとは限らないとあります(Google 検索上の構造化データ ガイドライン)。ほかの AI サービスが構造化データをどう使っているかは、どの会社も公式に説明していません。構造化データは、機械に自社を正しく見分けてもらうための名札です。名前、住所、電話番号をそろえて書くためのもので、AI に推薦されやすくなるスイッチではありません。

    1. いちばん具体的な型を選びます。Google はもっとも当てはまるサブタイプを使うよう勧めています。たとえば飲食店なら LocalBusiness の下の Restaurant、ネットショップなら OnlineStore です。
    2. Organization は、トップページか「会社概要」のように組織を説明する一つのページに置きます。サイトのすべてのページに入れる必要はないと Google は書いています。
    3. name(名前)、address(住所)、telephone(電話番号)、url(URL)を書き、営業時間があれば openingHoursSpecification を加えます。電話番号には国コードと市外局番を含めるよう Google は求めています。日本の番号なら +81 から始めます。
    4. sameAs で、ほかのサイトにある公式ページ(SNS や口コミサイトのお店のページなど)を並べます。
    5. マークアップの内容は、ページに表示されている内容と一致させます。ページの読者に表示されないコンテンツはマークアップしないよう、Google のガイドラインは明記しています。
    6. Rich Results Test(リッチリザルト テスト)で検証して重大なエラーを直し、Search Console の URL 検査ツールで Google が実際に何を読み取っているかを確かめます。

    制作担当者向けに、最小限で使える例を載せます。ページのソースコードに入れ、店名、URL、住所、電話番号を自社のものに置き換えてください。内容はページに書いてあるものと同じにします。

    html
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Restaurant",
      "name": "お店の名前",
      "url": "https://www.example.com/",
      "telephone": "+81-3-0000-0000",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "道玄坂 0-0-0(例)",
        "addressLocality": "東京都渋谷区",
        "addressCountry": "JP"
      },
      "sameAs": [
        "https://www.facebook.com/お店のページ"
      ]
    }
    </script>

    llms.txt は作ってもかまいませんが、今のところ補助にとどまります

    llms.txt は、Jeremy Howard が 2024 年 9 月に公開した提案です。サイトのルートに Markdown のファイルを置き、短い説明とリンクで、AI エージェントがサイトの重要な情報をすばやく見つけられるようにします(llmstxt.org(英語))。形式は単純です。最初の行にサイト名かプロジェクト名の H1 を書き、必須なのはこの H1 だけです。続けて要約を引用ブロックで書き、H2 で区切って重要なページへのリンクを並べます。提案は robots.txt との違いにも触れています。robots.txt は自動化されたツールにどこまでアクセスしてよいかを伝えるもの、llms.txt は AI エージェントがユーザーを手伝う中で情報が必要になったときに、その都度読むものです。

    ただし 2026 年 10 月 16 日の時点で、OpenAI、Anthropic、Perplexity が、検索結果や引用元を選ぶためにサイト所有者の llms.txt を読むと公式に約束している説明は見つけられませんでした。Google のほうは、公式ガイドではっきり書いています。Google 検索自体は LLMS.txt のようなファイルを使わず、作っても Google 検索での表示やランキングには影響しません。ほかのサービスのために作るのはまったく問題ない、とも書かれています。優先順位をつけるなら、llms.txt は robots.txt、CDN、構造化データのあとです。手間は小さいので、ついでに作るのはかまいません。それで AI の推薦が変わるとは期待しないでください。

    変更したら公式ツールでクローラーが実際に入れるかを確かめます

    ここまでの項目には、それぞれ確認に使える公式ツールがあります。Google Search Console の生成 AI パフォーマンス レポートは、2026 年 8 月 31 日から世界中のサイトで使えます。AI による概要と AI モードにどの URL が表示されたかがわかります(Google の発表)。Bing Webmaster Tools の AI Performance では、Copilot と Bing の AI 生成の要約で自社のページが引用された回数を確認できます(Bing の発表(英語))。

    同じく 2026 年 8 月 31 日に世界中で使えるようになった設定が、もう一つあります。Search Console の[設定]>[検索の生成 AI]にある「検索の生成 AI 設定」です。初期設定は「含める」です。これが「除外する」に変わっていると、サイトは AI による概要、AI モード、Discover の生成 AI 機能に表示されなくなります(検索の生成 AI 設定)。ほかの人が作ったサイトを引き継いだら、ここは必ず確認します。

    項目確認方法正しい状態
    robots.txt の実際の内容ブラウザで https://自社のドメイン/robots.txt を開く。サーバー上のファイルだけを見ない検索用クローラーが Disallow: / でブロックされていない。CDN が自動で付け足した部分が意図どおり
    Google が robots.txt を読めているかSearch Console の robots.txt レポートファイルが取得済みで、エラーや警告がない
    Googlebot が大事なページを取得できるかSearch Console の URL 検査ツールで、Google が実際に受け取った HTML を見るインデックスに登録でき、主な内容が読めるテキストになっている
    検索の生成 AI 設定Search Console の[設定]>[検索の生成 AI]「含める」(初期設定)になっていて、「除外する」ではない
    AI による概要と AI モードでの表示Search Console の生成 AI パフォーマンス レポートどの URL がどの国やデバイスで表示されたかがわかる
    Bing と CopilotBing Webmaster Tools の AI Performance引用された URL とグラウンディング クエリがわかる
    CDN とファイアウォールCloudflare の AI ボットのポリシーと AI Crawl Control。Cloudflare を使っていなければサーバーのログSearch が許可されている。OAI-SearchBot や PerplexityBot などのリクエストに 403 が返っていない
    構造化データRich Results Test に URL を入れて確かめる重大なエラーがない。名前、住所、電話番号がページの表記と一致している
    llms.txt(任意)ブラウザで https://自社のドメイン/llms.txt を開く最初の行がサイト名で、中のリンクがすべて開ける

    よくある質問

    GPTBot をブロックすると、ChatGPT の検索から消えますか?

    OpenAI の説明では消えません。OAI-SearchBot と GPTBot の設定は互いに独立していて、OAI-SearchBot を許可していれば ChatGPT の検索結果に表示されます。GPTBot のブロックは、コンテンツを学習に使わないでほしいという意思表示です。両方を許可している場合、OpenAI は重複したクロールを避けるため、1 回のクロール結果を両方の用途に使うことがあるとしています。

    Google-Extended をブロックしても、AI による概要にサイトは出ますか?

    公式の説明によると、Google-Extended は Google 検索への登録に影響せず、ランキング シグナルでもありません。AI による概要と AI モードは Google 検索の一部で、管理するのは Googlebot の robots.txt の指定と、Search Console の検索の生成 AI 設定です。ただし Google-Extended は、Gemini アプリが回答するときにサイトの内容を参照できるかどうかも管理しています。ブロックすると、Gemini の回答ではサイトが使われなくなる可能性があります。

    構造化データを整えれば、AI に推薦されますか?

    それで推薦が保証されるわけではありません。生成 AI 検索に構造化データは必要ないこと、正しくマークアップしても表示されるとは限らないことを、Google は明記しています。役に立つのは、自社が誰で、どこにあり、どう連絡できるかを機械に正しく伝えることです。最終的に誰を推薦するかについては、どの AI サービスも完全なルールを公開していません。詳しくは「AI サービスはそれぞれどう推薦先を選んでいるか」をご覧ください。

    llms.txt は作るべきですか?

    作ってもかまいませんが、順番は最後です。llmstxt.org の提案の段階にあり、Google は Google 検索では使わないと明言しています。ほかの主要な AI サービスについても、読むと公式に約束している説明は見つかりませんでした。少し時間を取って一つ書いておく分には損はありません。主な対策とは考えないでください。

    技術面の確認が終わったら、次はお客様が実際にする質問に AI がどう答えているかを見ます。まずは無料クイックスキャンで ChatGPT を確かめられます。登録は要らず、1〜2 分ほどで、AI がサイトを読み取れているかの確認と、ChatGPT に 2 問をその場で聞いた結果がわかります。