解析不能な構造化データエラー 原因は顔文字

つい先日、Googleのサーチコンソール(Webサイト運営者用Google検索最適化ツール)からこのようなメールが届いた。

エラーの内容は「解析不能な構造化データ・文字列中に無効なエスケープシーケンスがあります」。

要約すると

「君のブログの構造化マークアップの一部の文字列に問題があるよ。このままだとこの記事はGoogle検索結果に表示されなくなるかもよ」

ということ。

最初は焦ったが、原因が判明してからの修正は簡単だったので事の顛末を書いておく。

構造化データとは何か?

当ブログの構造化データの例

構造化データとは、schema.orgなどの団体が仕様を制定しているWebサイトの構造化マークアップにより検索エンジン向けに情報をタグ付けしたサイト・ページに含まれるデータのこと。

Webサイトを構造化マークアップで記述することで、検索エンジンはより適切・正確なWebサイトデータを取得することができ、結果的にGoogleの検索結果などに有利に働く。

今回の解析不能な構造化データエラーとは、その構造化のマークアップの文字列に不適切な文字や記号などが使用され問題が発生したということを意味する。

なお、この問題は僕がWordPressのテーマを変更した直後に発生した。

以前使用していたテーマと違い、変更したテーマはschema.orgによる構造化をJSON-LDで記述しており、実際にエラーが発生した文字列もJSON-LD内の記述にあった。

どうもJSON-LD内の記述は使用する文字列に厳格なようだ。

原因は顔文字

サーチコンソールに行き、「解析不能な構造化データ」の詳細を見ると、問題が発生している記事のソースが表示され、エラーが発生している文字列は赤くハイライトされる。

今回問題が発生したのは1記事のみだったが、該当のJSON-LD内の記述を見てみると半角ダブルクオテーション半角スラッシュ・バックスラッシュがエラーになっていることが確認できた。

半角ダブルクオテーションについてはWebの世界では問題になりやすい記号なのでエラーになるのは当然と言えるのだが、半角スラッシュ・バックスラッシュについては記事中の「顔文字」が原因だった。

その顔文字とはこれ。

なんてことはないありふれた顔文字だが、手の部分が半角スラッシュ・バックスラッシュであるために、特殊な記号と扱われエラーとなったようだ。

対処法

該当の顔文字が半角スラッシュ・バックスラッシュで記述されているのが問題なので、記事編集画面を開き、該当の顔文字を\( 'ω')/と、全角で記入することにより解決した。

記事を修正してもGoogleのクローラーが巡回してくるには数日から場合によって1週間程度かかる。

クローラーの巡回を早めるために、該当エラーを修正したらサーチコンソールからURL検査を実施し、”インデックス登録をリクエスト”をクリックしよう。

これでクローラーが該当の記事を優先的に巡回してくれる。

1日後には上記のようなメールが届き、無事エラーは修正された。

まとめ 記事作成時には顔文字の使用に注意

使用しているWordPressテーマにもよるが、記事作成の際には半角ダブルクオテーションや半角スラッシュ・バックスラッシュなどの特殊記号が入った顔文字は使用しないように注意しよう。

今回の顔文字以外でも、上記の顔文字もモロに引っかかる。

顔文字は絵文字と違いOSなど訪問者の環境によって見た目があまり変わらないのがメリットだが、場合によっては今回のようなエラーの原因になる。

顔文字を使用する際は半角の記号は全角に直すといった対策をしよう。