「文字列中に無効なエスケープ シーケンスがあります」エラー解消法。

IT技術
スポンサーリンク

突然Google Search Consoleからエラーメッセージが発生しました。

解析不能な構造化データhttps://piro02.com/で問題が検出されました

https://piro02.com/ の所有者様

Search Console により、貴サイトに影響する「解析不能な構造化データ」関連の問題が 1 件検出されました。

主なエラー

エラーにより、貴サイトのページまたは機能が検索結果に表示されなくなる可能性があります。貴サイトでは、以下のエラーが検出されました。

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

上記の問題をできる限り解決されることをおすすめいたします。こうした問題を解消することで、サイトのエクスペリエンスや Google 検索結果での表示を最適化できます。

なんのこっちゃ分かりません。

まず対象のページを見てみました。

powershellのエラー「一部が見つかりませんでした」はレジストリ操作で解決。
powershellでフォルダの数、ファイル数を計測していた作業中にエラーが発生しました。 「(フォルダ名) 一部が見つかりませんでした」 「一部が見つかりませんでした」ってどうゆうこと??? 最初なんのことやら分かりませんでした...

レジストリ値を記載しているので、恐らく値の中にある文字列が引っ掛かっていると思い対策をしてみました。

スポンサーリンク

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

もともとレジストリ値を記事中にテキストでダイレクトに書いていました。

それがgoogleの怒りをかったのでしょう。

ソースコードは<pre>タグを使ったほうが良さそう。

<pre>とは
「PRE」とは「preformatted text(整形済みテキスト)」の略で、その名の通り<pre>~</pre>で囲んだ整形済みテキストを表示するためのタグです。

整形済みテキストとはあらかじめマークアップを行う前に整形してあるテキストのことで、ソース中のスペースや改行などをそのまま等幅フォントで表示します。

また、自動的な折り返しがされなくなるので、ソースコードなどをそのまま表示する時に便利です。

ただし、「<」、「>」、「&」などは特殊文字として認識されてしまいますので、それぞれ「&lt;」、「&gt;」、「&amp;」のように実体参照で置き換えて書く必要があります。

引用:https://html-coding.co.jp/annex/dictionary/html/pre/

ってことでレジストリ値を以下のような感じで修正しました。

<pre>レジストリ値</pre>

これでGoogle Search Consoleから修正の連絡をしてしばらく待ちます。

10/25にgoogle側で検査が始まって、合格したのが11/11でした。

長い・・・。

却下されるのかと思っていましたが、しばらく待っていると何とか完了できているようで良かったです。

Google Search Consoleのエラーは無視できないものも多いので、見つかった時点で改善していきましょう。

コメント

タイトルとURLをコピーしました