サーチコンソール”解析エラー:「,」または「}」がありません”の解決方法

1.また出た解析不能エラー

先日、search console の拡張にある「解析不能な構造化データ」で、またもやエラーが発生したのを見つけました。

解析エラー:「,」または「}」がありません

エラーメッセージって、どれでもそうなんですが、わかる人が見ると一目でわかりますが、そうでない場合、何を言っているかさっぱりわからないものが多いですね。

60爺も、このエラーを見て「何、これ?」って思いました。

そこで、ググって本エラーの解決策を手に入れようとしましたが、徒労に終わりました。

なぜなら、HTML が不備なので書き換えれば良いという解決策がほとんどだったためです。

60爺は、wordpress で記事を書いているため、直接、HTMLコードを書いているわけではありません。

ですので、原因は別にあると考えておりまして、HTMLに対し手を入れることは解決策ではないと考えています。

ただ、今回調査した中で、エラー原因として記載している内容がちょっと気になったのは次の点です。

構造化データはキーとバリューをダブルコーテーションで囲む必要があります。

2.エラーの原因追及

そこで、このエラーの内容について、もう少し掘り下げてみました。

まずは、search console のエラーの出ているページに行きましょう。

エラーは1件だけでした。そこで、右側の数字の1をクリックします。

すると、エラーの発生したページを確認できます。以下のように URL が表示されます。

そして、エラーの発生ページが 1069 であることがわかりました。

この URL をクリックしますと、ちょっと考えてから、該当のエラーのある HTML を表示してくれます。

しかし、先ほども言いましたように、この HTML コードには全く興味がありません。どの部分がエラーなのか判明すれば、対応策が考えられます。

このページは、wordpress のクラシックモードで書かれていたので、つい最近、最新のエディター:「ブロックエディター」通称Gutenberg(グーテンベルク)で書き替えていました。

そこで、気になるのが次の3点でした。

  • シェルの中身
  • シェル実行のコマンド
  • LINE Notifyにメッセージを送るコマンド

これらを、「成形済みテキスト」で記載していたんです。

そして、最初と最後の内容にダブルコーテーションが使われております。ここから考えると、これらが悪さをしている可能性があります。

赤枠の中身を「成形済みテキスト」にしていた

3.対応策

そこで、これらのブロックを「成形済みテキスト」から「コード」に変換してみました。

作業自体は、ほとんど時間のかからない簡単なものです。

テキストをコピー後、ブロックを「コード」にしたエリアにコピーし、「成形済みテキスト」をブロックごと削除しました。

パッと見たところ、あまり変化はありません。

この赤枠の中身は「コード」です!見た目は余り変化がない。

上述気になる3点を訂正後、serach console 上の「修正を検証」をクリックします。

初期検証中として処理がなされ保留中となりました。どうやら、60爺の考え方でビンゴだったようです。

検証開始の依頼後2日後に、検証が無事終わりエラーが無くなったことを確認できました。

やはり、原因はあの部分だったんですね。エラーがなくなりホッとしました。

いかがでしょうか?

「解析エラー:「,」または「}」がありません」が出た場合は、HTMLに触れずに、こんな対応策もあるんだという参考になればいいなと思います。

4.文字列中に無効なスケープシーケンス

冒頭で「またもやエラーが発生した」と述べました。

実は、解析不能な構造化データでは以前も、「文字列中に無効なスケープシーケンスがあります」というエラーが発生しました。

その際は、ブロック「段落」に¥マーク(本来は小文字です!)が記載されていたんです。この¥マーク、システム側でバックスラッシュに読み変えてしまうらしいんですね。

そこで、ブロックは変えずに、【訂正後】のような訂正を加えることで、エラー回避ができました。

【訂正前】
C:¥Windows¥System32¥drivers¥etc

【訂正後】
C: ⇒ Windows ⇒ System32 ⇒ drivers ⇒ etc

今回は、コマンドやシェル内容があやしいと思ったので、文字の訂正ではなく、ブロックを変換したわけです。

こちらも、参考になれば幸いです。