「文字列中に無効なエスケープ シーケンスがあります」とは。原因と解決方法を解説

.

文字列中に無効なエスケープ シーケンスがあります

Google Search Console(通称サチコ)を確認していたら以下のようなエラーが表示されていました。

[拡張] > [解析不能な構造化データ] > [文字列中に無効なエスケープ シーケンスがあります]

Google Search Console 解析不能な構造化データ
Google Search Console 解析不能な構造化データ

今回はこちらについて原因と解決方法を解説してみたいと思います。

「文字列中に無効なエスケープ シーケンスがあります」とは

まずこの問題を知るにはエスケープシーケンスが何かを理解する必要があります。

エスケープシーケンスとは

エスケープシーケンス (escape sequence) とは、コンピュータシステムにおいて、通常の文字列では表せない特殊な文字や機能を、規定された特別な文字の並びにより表したもの。

出典 Wikipedia

例えば < > や ” などのHTMLで使う記号は、通常の文字として使えません。こういった場合、エスケープシーケンスを使うことで使えるようになりますよ、ということです。

特殊記号エスケープシーケンス
<&lt;
>&gt;
&quot;
HTMLでのエスケープシーケンス例

今回の問題では構造化データにエスケープシーケンスが含まれてるけど、これ無効ですよ、というサチコさんからのご指摘なのでJavaScript内での問題になります。

意味エスケープシーケンス
ダブルコォーテーション\”
改行\n
JavaScriptでのエスケープシーケンス例

このようにバックスラッシュ( \ )はエスケープシーケンスが始まる記号として使われます。

解決方法

原因となっている箇所を確認してみましょう。

[拡張] > [解析不能な構造化データ] > [文字列中に無効なエスケープ シーケンスがあります]

Google Search Console 文字列中に無効なエスケープ シーケンスがあります
Google Search Console 文字列中に無効なエスケープ シーケンスがあります

上画像の赤枠部分に問題となっているページのURLがありますので、こちらをクリックします。

すると右側に詳細画面が表示されるのですが、ここにある赤のハイライト部分(矢印部分)が問題となっている箇所です。

今回の場合では構造化データのソースコードでバックスラッシュを使っていますが、エスケープシーケンスは無効ですよ、というのが原因でした。

このページでは「\ ◯◯◯◯ /」のようにタイトルを強調するような使い方をしていましたが、バックスラッシュを文字列として使うのはやめた方が良さそうです。

顔文字でもバックスラッシュが含まれるものがありそうですし、避けた方が無難でしょうね。

で、バックスラッシュを消すか大文字「\」に変換すれば修正は完了です。

解決しているか確認する

それでは修正ができているか確認してみまいしょう。エラーが表示されている画面で「修正を検証」を押してみます。

Google Search Console 修正を検証
Google Search Console 修正を検証

検証が終わると下画像のようなメールが届きます。僕は2〜3日待ちました。

このように、「エラーが正常の修正されました」と書かれていれば完了です。

終わり

今回はサーチコンソールの「無効なエスケープ シーケンスがあります」について解説しました。

このブログでは、このように自分自身がWEB関係のことで困ったことについて解決方法を備忘録しています。みなさんの「困った」の手助けになれたら幸いです。

最後までお読みいただきありがとうございました。

コメントを残す

ページ先頭へ ↑

GaraKutaをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む