調べるのはこの 1 ページだけで、JavaScript は実行しません。hreflang もこのページ分のみ、引用されやすさは数を数える簡易的な目安です。
AI 検索はこのページを見つけ、読み、引用できるか。
URL は ByteScope の Worker が代理で取得し、採点はブラウザ内で行います。保存するのは成功・失敗の匿名カウントだけです。
調べるのはこの 1 ページだけで、JavaScript は実行しません。hreflang もこのページ分のみ、引用されやすさは数を数える簡易的な目安です。
AI の回答エンジンがページを引用する前に気にするのは、クローラーが取得できるか、JavaScript を実行しなくても本文が読めるか、引用に値する具体的な中身があるか、の 3 点です。URL を貼ると、この 3 点を 10 項目に分けて調べ、100 点満点のスコアを出します。各項目には「現状」「なぜ大事か」「どう直すか」があり、robots.txt、llms.txt、<head> にそのまま貼れるスニペットも付いています。
robots.txt は RFC 9309 のマッチング規則で、GPTBot、OAI-SearchBot、ChatGPT-User、ClaudeBot、Claude-User、PerplexityBot、Google-Extended、Applebot-Extended、CCBot、Bingbot をひとつずつ判定します。学習用クローラーを拒否するのは正当な選択として扱い、検索用やユーザー操作で動くクローラーを拒否している場合だけ不合格にします。回答に載らなくなる原因はそちらだからです。ほかに /llms.txt の中身と先頭 10 リンクの生死、ページの Markdown 版(.md、index.md、rel="alternate" type="text/markdown" のリンク)、sitemap から 5 件の抜き取り確認、JSON-LD の型と必須項目の抜け、見出し構造、ステータスコード、リダイレクト、noindex、canonical を見ます。
10 項目のチェックの下には、スコアに含まれない「質問との関連度」という項目もあります。読み手が聞きそうな質問を最大 5 つ入れると、ページを見出しごとの段落に分け、オープンソースの埋め込みモデル EmbeddingGemma 2 で段落と質問をベクトルに変換し、質問ごとに意味の近い段落を 3 つスコア付きで並べます。いちばん高い段落でもページ全体の中央値との差が 0.05 未満なら、「この質問に特に近いと言える段落は見当たりません」と表示します。これはオープンソースのモデルで検索の仕組みを再現したもので、Google や ChatGPT、Perplexity が実際に使っているモデルではないため、スコアは同じページの段落どうしを比べる目安にしかなりません。並び順は意味の近さで決まり、内容を理解しているわけではないので、抽象的な言葉ほど結果があいまいになります。初回は約 234 MB のモデルをダウンロードし、その後はブラウザに残ります。WebGPU が必要で、使えるのはデスクトップ版の Chrome と Edge です。Safari、Firefox、スマホのブラウザは未検証です。ページの取得は上のチェックと同じく Worker 経由ですが、ベクトルへの変換はブラウザの中で行います。分析するのは取得したこの 1 ページだけで、サイト全体ではありません。
調べるのは入力したこの 1 ページだけで、サイト全体はクロールしません。多くの AI クローラーと同じく JavaScript は実行しないので、JS 依存の判定は生の HTML から見た推定です(見える文字数、スクリプトの重さ、#root や #__next のような空のマウント要素)。hreflang もこのページの分だけ(自分自身を指すエントリ、<html lang> との一致、コードの妥当性)を見ます。ほかの言語版が指し返しているかまでは、全ページを取得しないと分からないので対象外です。引用されやすさは、数値・日付・表・定義文と宣伝的な形容詞を数える簡易的な目安で、文章の良し悪しを判定するものではありません。
ブラウザからは他サイトのページを直接読めないため、URL は ByteScope の Cloudflare Worker に送られます。Worker はページ本体、robots.txt、llms.txt、sitemap、Markdown 候補を、全体で 8 秒の期限、リダイレクト最大 3 回、1 レスポンス 2 MB まで、Cookie なしで取得します。プライベートアドレスやローカルアドレス、そこへ名前解決されるホスト名は拒否します。Worker は生のレスポンスを返すだけで、採点はブラウザの中で行います。ページの内容は保存せず、残るのは成功か失敗かの匿名カウントだけです。
チェックを実行して robots.txt のカードを開くと、AI クローラーごとに許可か拒否か、どのルールで決まったかが一覧で出ます。GPTBot は OpenAI の学習用クローラーです。ChatGPT の検索は OAI-SearchBot、ユーザーに頼まれた取得は ChatGPT-User なので、GPTBot だけを拒否しても ChatGPT の回答から消えるわけではありません。
OpenAI のインデックスの中身は外からは見えず、このツールもそこは分かったふりをしません。調べるのは、インデックスされうる条件のほうです。OAI-SearchBot と ChatGPT-User が許可されているか、ページが noindex なしで 200 を返すか、本文が JavaScript で後から描かれるのではなく HTML に入っているか、です。
項目ごとに重みがあります。robots.txt、引用されやすさ、JS 依存が各 15、llms.txt、sitemap、構造化データ、見出しが各 10、Markdown 版、レスポンス、言語が各 5 です。合格は満点、要改善は半分、不合格は 0 で数え、判定できなかった項目は合計から外します。
必須にしている検索エンジンはありません。llmstxt.org が提案している、主要ページを短くまとめた Markdown の目次で、読みに来る AI ツールもあります。ここでは無いと 100 点中 10 点を失います。作るなら、llms.txt ジェネレーターで sitemap から生成できます。
ほとんどの AI クローラーは JavaScript を実行しません。サーバーが返すのが空の #root と大きなバンドルだけだと、クローラーにはほぼ何も見えません。SSR や静的書き出しにすれば本文が HTML に入ります。このチェックは生の HTML だけを読むので、そうしたクローラーに見えている姿がそのまま出ます。
保存しません。Worker は取得したレスポンスをブラウザに返したら何も残さず、分析イベントに残るのはチェックが成功したかどうかだけです。Worker には IP アドレスごとの回数制限があり、プライベートアドレスやそこへ名前解決されるホスト名は取得しません。
チェック結果の下にある「質問との関連度」を使ってください。質問を入れると、このページの中で意味が近い段落を 3 つスコア付きで並べ、ほかの段落より目立って近い段落がないときはそのことも知らせます。分かるのは検索の仕組みがどの段落を選びそうかであって、AI に引用されるかどうかではありません。スコアは Google や ChatGPT、Perplexity のモデルではなくオープンソースのモデルによるもので、同じページの中でしか比べられません。WebGPU(デスクトップ版 Chrome か Edge)と、初回だけ約 234 MB のダウンロードが必要です。
サイトマップから、ページごとのタイトルと説明付きの llms.txt を作ります。
どの AI クローラーが実際に来ているかを、サーバーログから確認できます。