2026.09.15 泊まれる場所4,223 立ち寄りスポット46,522 営業中を確認したキャンプ場1,005 note を読む

Googleが構造化データの読み方を変えていた|二重にエスケープした文字は、もう直してくれない

8月21日にJSON-LDの取り出し方が変わっていた。気づいたのは二週間後。
うちは壊れていなかったけれど、壊れていない理由を説明できなかった。

自分のサイトの構造化データを、久しぶりに目で見た。

きっかけは、Googleが八月にJSON-LDの読み方を変えていたと知ったからだ。
知ったのが今日で、変えたのは二週間以上前だった。

うちは壊れていなかった。
それでも、壊れていなかった理由を僕は説明できなかった。

何があったのか

2026年8月21日、GoogleがJSON-LDの取り出し方を変えたと告知した。

変更点は一行で言える。
HTMLのエスケープを解く処理を、一回だけしか通さなくなった

これまでは、二重にエスケープされた文字を、Googleが黙って何度でも解いてくれていた。
たとえばHTMLの中に & と書いてあったら、以前は & というアンパサンド一文字として読んでくれていた。
いまは & という文字列のまま止まる。

チェックマークを表す のような書き方も同じで、記号にはならず、その文字の並びがそのまま値として読まれる。

Googleの説明はこうだった。
「パーサーをJSONやその他の標準に合わせるため、JSON-LDの抽出を変更し、いまはHTMLのアンエスケープを一度だけ適用している」。

正しい書き方については、GoogleのGary Illyesが、JSONの規格であるRFC 8259の7章を見ろと案内している。
対処は難しくない。
普通のJSONのエスケープを使うか、バックスラッシュに続けて u0026 と書くUnicodeの表記にする。

僕がひっかかったところ

三つある。

ひとつ目。
うちのサイトのソースを開いて ld+json を探し、&&# が出てこないことを確かめた。
出てこなかった。

ほっとしたあとで、なぜ出てこないのかを説明しようとして詰まった。
自作のCMSで、本文は保存するときにエスケープをかけていて、構造化データはそれとは別の経路で組み立てている。
たまたま二重になっていなかっただけで、二重になる書き方をした日には普通に二重になる。
僕は設計でそれを避けていたのではなく、まだ踏んでいなかっただけだった。

ふたつ目。
「Googleが黙って直してくれていた」ということ自体を、僕は知らなかった。

これは怖い話だと思う。
間違って書いていても、受け取る側が優しいあいだは、何も起きない。
表示は正しくて、テストも通って、順位も動かない。
そして受け取る側が標準に寄せた日に、何年も前に書いた一行が急に効いてくる。

優しい実装は、優しいあいだは問題を見せない。
見せてくれないぶん、直す機会も来ない。

みっつ目。
この告知がGoogleのSNSの投稿で、公式のドキュメント更新の一覧からは、僕が見にいった時点では見つけられなかった。

八月に、スパム対策の更新が知らないうちに始まって知らないうちに終わっていた話を書いた(スパム対策の更新が、知らないうちに始まって終わっていた)。
あのとき「小さいサイトはどこを見にいけばいいのか」と書いたのに、二週間後にまた同じ形で乗り遅れている。
見にいく場所を決める、と書いただけで、決めていなかった。

効いてくるのは、テンプレートを共有しているところ

影響が出やすいのは、一箇所を直すと全ページに反映される作りのサイトだ。

CMSのテーマやプラグイン、静的サイトを吐き出す道具、ヘッドレスのCMSからAPIで受け取った値をそのまま埋めているところ。
便利さの裏返しで、間違いも全ページに一斉に効く。

商品名やカテゴリ名にアンパサンドが入っている通販サイトと、見出しに記号を使うニュースサイトが、いちばん踏みやすいらしい。
うちは記事タイトルに全角の記号を使うことが多いので、他人事ではない。

で、僕はどうするか

四つ決めた。

ひとつ、自分のサイトのJSON-LDを、テストにかける前に生のHTMLで見る。
ブラウザでソースを表示して ld+json を探すだけで済む。
検証ツールのほうが親切に直してくれることがあるので、道具越しに見ると気づけない。

ふたつ、探すのは &&# の二つ。
このどちらかが出てきたら、そこが二重になっている。

みっつ、構造化データを組み立てている場所を、コードの中で一箇所に寄せる。
うちは本文の保存側と表示側でエスケープの扱いが違っていて、その差を頭の中だけで覚えている。
覚えているうちは大丈夫でも、半年後の自分は忘れている。

よっつ、更新を拾う場所を、今度こそ一つに決める。
公式のドキュメント更新ページと、SEOの日次まとめを一つ。
週に一度でいいから開く。

数えられるようになった話と、同じ形をしている

先週、AIの答えの中に自分のページが何回出たかを数えられるようになった、という話を書いた(やっと数えられるようになった)。

あれもこれも、こちらの書いたものが、向こうの読み方ひとつで意味を変える話だ。
置いたファイルが読まれる保証はないし(llms.txtを置いても順位は動かない)、書いた記号が記号として読まれる保証もない。

できるのは、標準どおりに書いておくことだけだと思う。
相手が優しいかどうかに賭けない。
優しさは、いつか標準のほうへ寄せられる。

出典

※ 内容と日付は2026年9月6日時点で各ページを確認したものです。ドキュメント更新の一覧にこの項目を見つけられなかったのも、同日時点での話です。

まる子パパ

まる子パパ

会社員。受託開発のエンジニアで、その前は寿司職人・長距離運転手・農業。 技術ブログは、キャンプの合間に踏んだバグと、AI・Web開発の運用の失敗を書いています。 このサイト自体が、開発に携わっているCMS「コンテナ」の稼働中の実例です。 このサイトについて

ほかにも書いています

note・スタンプ

※noteは運営者が個人で書いているものです。

技術ブログ一覧へ戻る