AI はページ上の数字や構造化データを正しく読み取れている?JavaScript・JSON-LD・llms.txt の当社の記録(2026年10月)
先に答え:AI が正しく読み取れているかは、当社の記録では確認できていません。分かったのは次の 3 点です。
- ページを開いたあとに JavaScript で書き換わる数字は、JavaScript を動かさないボットには書き換わる前の値(多くは 0)で届くことがあります。当社の製品ページでは、HTML に「対応言語 0+」とあり、AI アプリは代わりに別の出典の数字を答えていました(原因かは分かりません)。
- llms.txt は、当社のサイトでは AI の検索用ボットにも、ユーザーの依頼でページを開くアクセスにも、1 回も読まれていません。
- JSON-LD にだけ書いた URL を取得しに来たボットの記録は 1 回だけです。
記録日:2026 年 10 月 22 日(項目ごとに確認日を書いています)。数字はすべて当社の 2 つのサイト(会社サイト migurei.ai と検証用の pw.migurei.ai、以下 pw)のログと、当社が AI アプリに質問した記録からのものです。
このページの言葉
- HTML(サーバーの HTML):サーバーが最初に返すページの中身。JavaScript を動かさないボットは、これだけを読みます。
- JSON-LD:ページに埋め込む構造化データの書き方の 1 つ。人には見えず、機械に「このページは何か」を伝えます。
- llms.txt:サイトの要点とリンクを AI 向けにまとめたテキストファイル(https://llmstxt.org/ )。
- ボット、UA、IP 確認:ボットはページを取得しに来るプログラム、UA はボットが名乗る名前、IP 確認は接続元の IP アドレスが運営会社の公開する一覧に入っているかを確かめることです。
- Run:当社が決まった質問を AI アプリに入力し、回答とログを記録する 1 回の試行。
1. JavaScript で動く数字は、0 のまま読まれることがある
- 2026 年 10 月 18 日 06:49(UTC。日本時間 15:49)に当社グループの製品ページ
migurei.ai/m-meetingをそのまま取得すると、HTML には「対応言語 0+」と書かれていました。ブラウザで開くと、JavaScript のアニメーションで 0 から数え上がり「60+」と表示されます。10 月 20 日にも同じ HTML を確認しています。 - 同じ日(10 月 18 日)、この製品について 4 つの AI アプリに計 92 回質問しました(各アプリ 23 回)。具体的な言語数を挙げた回答は ChatGPT 11 件、DeepSeek 9 件、Claude 4 件、Gemini 4 件で、挙げられたのは主に「4 言語(日本語・英語・ベトナム語・韓国語)」でした。アプリが出典に挙げたのは、当社グループの PR TIMES のリリース(2026 年 9 月 24 日)などです。
- ページの「0+」のせいでアプリがリリースの数字を使った、というのは当社の推測で、確かめてはいません。ページに正しい数字があってもリリースを引用した可能性はあります。
なお、当社自身の資料も一致していません。ページの表示は「60+」、リリースは「4 言語」、アプリ本体の言語一覧は 6 言語です。どれが正しいかを決めるのは製品の担当者で、この記録ではありません。AI に正しく読ませる前に、まず自社の情報が揃っているかを確かめる必要がある、という例でもあります。
2. JavaScript は、Google のインデックスに登録されるページの中身も変えることがある
- pw には、ブラウザの言語が英語なら
/jaのページから/enのページへ自動で切り替える JavaScript がありました。このとき Google のインデックスに登録されていた/jaのページ 5 つは、いずれも Search Console の「ユーザーが指定した正規 URL」(英語表示は User-declared canonical)が/enのページになっていました。サーバーの HTML では、それぞれ自分自身を正規 URL と宣言していたページです。 - 10 月 14 日 17:18(UTC。日本時間 15 日 2:18)に、この JavaScript を外しました。10 月 15 日の時点ではまだ、Google のインデックスに登録されていたのは外す前に取得された 5 ページで、上の状態のままでした。
- その後 Google が 5 ページを取得し直し、5 ページとも「ユーザーが指定した正規 URL」も「Google が選択した正規 URL」もそのページ自身になりました。10 月 17 日、19 日、22 日の 3 回確認し、3 回とも同じでした。
- Google も公式のガイドで、ユーザーを言語版の間で自動的にリダイレクトしないよう勧めています(https://developers.google.com/search/docs/specialty/international/managing-multi-regional-sites )。
これは Google 検索の話ですが、AI にも関わります。Google は、AI による概要(AI Overviews)と AI モードで出典として使うのは、Google のインデックスに登録されたページだと説明しています(https://developers.google.com/search/docs/appearance/ai-features )。ただし、正規 URL が戻ったことで AI による概要の表示が変わったかは、当社は測っていません。
これは当社のサイトで変更の前後を比べた記録ですが、比べる相手(何もしなかったページ)はありません。サイトマップの更新日の変更、Search Console で「インデックス登録をリクエスト」したこと、Google が自分で戻ってきたことの影響とは切り分けられていません。Google の描画が英語として動いたというのも、当社の推測です。
3. llms.txt:誰が読んだか
pw には llms.txt があり、すべてのページから案内しています。2026 年 10 月 21 日までのログでは次のとおりです。
| 読んだもの | 回数 |
|---|---|
| AI の検索用ボット(OAI-SearchBot、Claude-SearchBot、PerplexityBot) | 0 |
| ユーザーの依頼でページを開くアクセス(ChatGPT-User、Claude-User、Perplexity-User) | 0 |
| 学習用ボット GPTBot(10 月 16 日) | 1 回。トップページのリンクをたどって、ほかのページと同じように取得 |
| 学習用ボット ClaudeBot(10 月 16 日) | 1 回。サイトマップのページを取得し終えたあと |
| Amazonbot(10 月 18 日、UA のみで判断) | 1 回。そのあと llms.txt 内の URL を取得しに来た(下記) |
| Googlebot と Bingbot(10 月 1 日〜14 日) | Googlebot 2 回、Bingbot 1 回 |
pw の llms.txt は、標準の書き方(https://llmstxt.org/ )どおり、- [料金](https://pw.migurei.ai/pricing): … のようにリンクを書いています。10 月 19 日、Amazonbot は /pricing): と /docs): という存在しない URL にアクセスしました。Amazonbot は、Markdown のリンク記法の末尾の ) や : を URL に含めたまま取得しに来たように見えます(2 件、どちらも 404、UA のみで判断)。標準の書き方のまま、害は 404 のみでした。気になる場合は、URL を単独の行で書く方法もありますが、効果は確かめていません。
4. JSON-LD:中の URL を取得しに来たボットは 1 回
- 当社の会社サイト migurei.ai では、2026 年 10 月 16 日から、全ページの JSON-LD に
/en/docs/ld-probeという URL を入れていました。この URL は JSON-LD の中にしかなく、サイトマップにも、ページ上のリンクにも、llms.txt にもありません。 - 10 月 17 日 17:22(UTC。日本時間 18 日 2:22)に、Amazonbot を名乗るアクセスがこの URL を取得しに来ました(ページはなく 404)。IP は Amazon の一覧と照合していません。
- 見たのはこの 1 回だけです。Amazonbot は、当社が数えている AI 検索用ボットには入っていません。また、Amazonbot が本当に JSON-LD からこの URL を見つけたのかも分かりません。
構造化データの「正しさ」については、Google のツールが当社の誤りを示しています。pw の料金ページの JSON-LD は、価格のない Product として書かれていて、Search Console の URL 検査で「商品スニペット」が「無効」と判定されました(アイテム 1 件。10 月 17 日、19 日、22 日の 3 回とも)。Google のドキュメントでは、Product には offers、review、aggregateRating のどれかが必要です。これは Google のリッチリザルトの判定で、AI アプリがこの JSON-LD を読むかどうかとは別の話です。
外部の報告(2 つ、向きが逆)
- AI のボットは JavaScript を動かさない:Vercel と MERJ の調査(2024 年 12 月 17 日、https://vercel.com/blog/the-rise-of-the-ai-crawler )は、主要な AI クローラー(OAI-SearchBot、ChatGPT-User、GPTBot、ClaudeBot、PerplexityBot など)は JavaScript を描画しないと報告しています。例外は Gemini(Googlebot の仕組みを使う)と AppleBot です。2 年近く前の調査です。
- OpenAI のボットは JavaScript を動かし始めた:Zenn の記事(hirajo さん、2026 年 9 月 30 日、https://zenn.dev/hirajo/articles/chatgpt-crawler-js-rendering )は、筆者のサイトで 2026 年 9 月 25 日から、OAI-SearchBot と GPTBot(IP 確認済み)が JavaScript を動かしている形跡が見えたと報告しています(Next.js の先読みリクエストが OAI-SearchBot のリクエストの 2% から 84% に増えた)。1 人の筆者の観察で、OpenAI の発表はなく、当社は確かめていません。pw では OAI-SearchBot がページを取得していないので、当社のログでは確かめようがありません。
どちらが今も正しいかは、この記録からは言えません。Google も「すべてのボットが JavaScript を実行できるわけではない」(原文は英語、当社訳)として、サーバー側で HTML を用意することを勧めています(https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics )。
自社サイトで確かめる方法
- サーバーの HTML とブラウザの表示を比べる:
curlなどで JavaScript を動かさずにページを取得し、価格・在庫・実績の数字などが HTML に書かれているかを見ます。ブラウザで見える数字が HTML になければ、JavaScript を動かさないボットにはその数字が届きません。 - Google のインデックスに登録されたページの正規 URL を見る:Search Console の URL 検査で、「ユーザーが指定した正規 URL」(英語表示は User-declared canonical)と「Google が選択した正規 URL」を確かめます。サーバーの HTML と違う URL になっていたら、ページを書き換える JavaScript を疑います。
- ボットは UA と IP の両方で数える:llms.txt や JSON-LD 内の URL を誰が取得しに来たかは、アクセスログで UA を見て、IP を各社の公開一覧と照らします。
- llms.txt の URL が正しく取得されているかを見る:アクセスログで、llms.txt に書いた URL の末尾に
)や:が付いたアクセス(404)がないかを見ます。標準の書き方([名前](URL): 説明)を変える必要はありません。 - 構造化データの書式を確かめる:Google のリッチリザルト テストや Search Console で、エラーのない書き方になっているかを見ます。ただし、これで分かるのは Google の判定だけです。
無料ツールで何が分かり、何が分からないかは Search Console・Bing Webmaster Tools・Cloudflare で分かる AI 検索の数字、分からない数字 に、OpenAI のボットが pw に来たかどうかは ChatGPT は自社サイトに来ている? にまとめています。
この記録から言えないこと
- 当社のサイト 2 つ、数日から数週間の記録です。 数字は回数で、割合や傾向ではありません。
- 「0+」が原因でアプリが別の数字を答えた、とは言えません。 比べる相手のない観察です。
- 正規 URL が戻ったのが JavaScript を外したおかげ、とも言い切れません。 比べる相手がなく、ほかの要因と切り分けられていません。また「Google のインデックスに登録されている」ことは、日本語の検索や AI による概要(AI Overviews)に表示されることを意味しません。
- llms.txt が「役に立たない」とは言えません。 AI の検索用ボットは、そもそも pw にほとんど来ていません。そのため「来たが llms.txt を読まなかった」のか「来なかった」のかを区別できません。アプリが他社の検索結果やキャッシュを通じて内容を使っても、当社のログには出ません。
- JSON-LD を AI アプリが回答に使う、とは言えません。 見たのは Amazonbot が URL を 1 回取得しに来たことだけで、IP 確認もしていません。
- 価格や在庫の読み取りは測っていません。 当社のサイトには公開価格も在庫もありません。この記録の「数字」は製品ページの対応言語数です。
- 書いたのも測ったのも当社です。 第三者の確認はありません。
このページが参照した記録
knowledge/claims/js-count-up-stat-reads-zero-to-bots.md(当社の観察)、lab/grades/2026-10-18-mmeeting-baseline-day1.json(当社の採点)knowledge/claims/client-language-redirect-sets-wrong-canonical-in-google.md(当社のサイトでの前後比較、比較対象なし)、docs/evidence/2026-10-22-no-lang-redirect-read3.mdknowledge/claims/google-ai-features-need-indexed-snippet-pages.md(外部の出典:Google のドキュメント)knowledge/claims/llms-txt-read-by-search-bots-not-ai-bots.md(現在の記述は当社の観察)、amazonbot-follows-urls-from-llms-txt-and-json-ld.md(当社の観察)knowledge/claims/google-product-snippet-requires-offers.md(外部の出典:Google のドキュメント)knowledge/claims/openai-crawlers-render-js-since-2026-09.md(外部の出典:Zenn の記事 1 件)