
目次
こんにちは、マサシです。
Webサイトの制作から保守まで、一貫してやっています(スタジオについて)。
8月2日、自分のサイトがAIからどう読まれているかを調べていました。
llms.txtも構造化データも入れてあるので、大きな穴は出ないだろうと踏んでいたんです。
で、トップページをAIと同じ条件で開いたら、こうなっていました。
AIのクローラーと同じ名乗りでHTMLを取得して、中身を全文読みました。
- これまでに作ったサイト・LP …… 0件超
- 取引評価 …… 0件
- 月次保守 …… 0サイト
どれも、返ってきたHTMLの中を見て数えた値です。
画面には50件超と出ている、まさにその場所でした。
画面の数字と、AIが読んでいる数字が違っていた
まず、ブラウザで普通に開いたときの画面です。

2026年8月2日時点の画面を、そのまま撮ったものです。
数字が0から本当の値まで増えていくアニメーションで出しています。
この動き、けっこう気に入っていました。
次が、同じ場所をAIと同じ条件で開いた画面です。
JavaScriptを動かさず、見た目の装飾も外して、文字だけが残る状態にしました。

どちらも本番と同じコードを動かして、中を見て確かめました。
2026年8月2日に実測しました。
上が直す前、下が直したあとになります。
数字だけを並べると、こうなります。
| 項目 | 画面で見えている数字 | AIが読んでいた数字(2026年8月2日時点・HTMLの中を見て確認) |
|---|---|---|
| これまでに作ったサイト・LP | 50件超 | 0件超 |
| 取引評価 | 186件・平均5.0 | 0件・平均5.0 |
| 月次保守を継続中 | 5サイト | 0サイト |
| 制作をはじめた年 | 2018年〜 | 2018年〜 |
制作をはじめた年だけ、正しく出ています。
この項目にはカウントアップを止める指定を最初から入れてあったからです。
裏を返すと、正しく出す方法はコードの中にすでにあったことになります。
足りないのではなく、間違いが書いてある状態だった
ここが、この件でいちばん重いところでした。
llms.txtも構造化データも、AIに読んでほしい情報を「足す」作業です。
本文に0件と書いてあれば、いくら足しても、そちらが信じられます。
実際にHTMLの中を見て、そう書いてあることを確かめました。
2018年から活動していて、制作実績は0件、取引評価も0件。
これも同じHTMLから読み取った内容です。
AIがこう読んだら、返ってくる答えは決まってしまいますよね。
情報が足りないだけなら、AIは「分からない」と言ってくれます。
間違った情報が書いてある状態は、そこで止まってくれません。
原因は、数字が0から増えていく演出だった
カウントアップは、0から最終値まで数える動きです。
出発点である0が、そのままHTMLに書き出されていました。
AIのクローラーは、ブラウザのようにJavaScriptを動かしてからページを読むとは限りません。
GPTBot・ClaudeBot・PerplexityBot・OAI-SearchBot の4つを名乗ってアクセスし、返ってきた中身を全文読んで確かめました(2026年8月2日に実測しました)。
どれもHTMLがそのまま返っていて、その素のHTMLに0が入っていた形です。
原因はこの1行でした。
// 修正前:サーバーが書き出すHTMLに 0 が焼き付いてしまう
const [v, setV] = useState(skip ? to : 0);
直し方は、順番を入れ替えるだけです。
// 修正後:初期値は最終値。ブラウザで動き出す直前に 0 へ戻してから数える
const [v, setV] = useState(to);
useIsomorphicLayoutEffect(() => {
if (skip) return;
setV(0);
}, [skip]);
0へ戻す処理を、描画される前のタイミング(useLayoutEffect)に置いてあります。
修正後の画面をブラウザで再生して、ちらつきが出ないことを目で確かめました。
アニメーションは今までどおり動いています。
見た目は1ピクセルも変わっていません。
自分のサイトが同じ状態か、5分で確かめる
特別なツールは要りません。
ブラウザだけで確かめられます。
- トップページで右クリックして「ページのソースを表示」を開く
-
Ctrl + F(Macは⌘ + F)で、実績の数字(例:50、186)を検索する - 数字が出てこない、または0になっていたら、AIには0として読まれている
- 同じ手順で、住所・電話番号・料金・営業時間も検索する
- 見出し(h1・h2)の文言もソースの中にあるか確認する
引っかかりやすいのは、数字のカウントアップ、スクロールで出てくる文章、タブで切り替わる料金表あたりです。
見た目のために動かしている部分ほど、素のHTMLでは空になりがちでした。
自分のサイトで試して1つでも見つかったら、そこがAI検索対策の最初の一手になります。
AI検索対策と聞くと構造化データやllms.txtの話になりがちですが、順番としてはこちらが先です。
どこが空になっているか見てほしい、という方はAI検索対策(LLMO)に診断の内容を書いています。
llms.txtを置けば効く、と思っていました
ここは正直に書いておきます。
私は少し前まで、llms.txtを置いてあるからAI検索にはすぐ効く、と思っていました。
これは楽観的すぎました。
llms.txtは提案段階の仕様で、読んでいると公式に明言しているAIサービスは限られています。
置いておく価値はありますが、これがあるから答えが変わる、とは言えません。
今回の件は、置いた・置かないの話ではありませんでした。
本文に何と書いてあるかの話で、そこはHTMLの中を見て確かめています。
派手な施策より先に、素のHTMLに正しいことが書いてあるかを見る。
順番を間違えていたな、というのが今回いちばんの反省です。
この記事で確認できたこと・できていないこと
はっきり分けて書きます。
| 内容(2026年8月2日に実測しました) | |
|---|---|
| 確認できたこと | 素のHTMLの実績が 0件超 → 50件超 に変わった(中を見て確認) |
| 確認できたこと | AIクローラー4種がHTMLをそのまま受け取れている(全文を読んで確認) |
| 確認できていないこと | AIの回答内容や引用のされ方がこれで変わるか(観測中・変化が出たら追記します) |
| 対象 | mstudio-web-create.com(Next.js製) |
AI検索の成果は、いまの時点では誰にも保証できないと思っています。
だから自分のサイトを実験台にして、やったことと経過をこうして出しています。
まとめ
見た目のための演出が、そのままAIへの誤情報になっていました。
しかも「実績なし」という、いちばん困る形でです。
構造化データもllms.txtも大事ですが、その前に、素のHTMLに本当のことが書いてあるかを見てください。
右クリックからソースを開いて、数字を1つ検索するだけで分かります。
自分のサイトでやってみて引っかかった、というときはお問い合わせから一言ください。
AI検索対策として何をどこまでやるかはAI検索対策(LLMO)に、料金も含めて書いています。
技術的な失敗と解決の記録は、ブログにほかにも置いています。

