ウェブマスターツールの構造化データでエラー続出!? データタイプ「hentry」で発生したエラーの対処方法

サイト開設から2週間ほどが経ったので、「そろそろインデックスも増えてきたかな〜?」とウェブマスターツールをチェックしてみると、インデックスではなく構造化データのエラーがしっかりと増えてました…。

エラーを出している構造化データのタイプは「hentry」
エラーの内容は、すべて「author がありません」「entry-title がありません」「updated がありません」というものです。

スクリーンショット 2015 02 01 0 47 43

構造化データのエラー自体は、「検索結果に影響を与えない(エラーがあっても検索順位は下がらない)」とは言われていますが、このままエラーが増え続けるのも何だか気持ち悪いし、エラーはやっぱり無いに越したことはない!!
というわけで、対処してみましょう。

構造化データhentryでエラーが発生する原因

実はこのエラー、何も意識せずにwordpressを使うと絶対に出てしまうエラーです。
というのも、投稿記事に様々なクラスを付与するためのwordpressテンプレートタグpost_class()を使うと、書き出されるクラス属性の中に問題となっている「hentry」が入ってしまうんです。
post_class()は、投稿記事のステータスをクラス名として出力でき、デザインをコントロールできる便利なテンプレートタグなので、ほとんどのテーマで使われています。
そして、hentryは「entry-title」「updated」「author」を必須項目として要求しているmicroformats形式の構造化データなので、hentryだけを書き出してしますうとエラーになってしまうというわけです。

[ cf. テンプレートタグ/post class – WordPress Codex 日本語版 ]
[ cf. hentry · Microformats Wiki ]

構造化データhetnryで発生したエラーの対処方法

対処方法としては、大きく分けて以下の2つの方法があります。

  1. 必須項目である「entry-title」「updated」「author」を必ず書き出すように、テーマを修正する
  2. 投稿記事にhentryクラスを出力しないように修正する

どちらでも問題なくエラーを消すことができますが、当サイト「ultimAGAZINE」では、「投稿記事にhentryクラスを出力しないように修正する」方で対応することにしました。

「ultimAGAZINE」は投稿者の名前を出していないため、authorに当たる情報が無いというのが一つの要因。
さらに、Googleがmicroformats形式よりもmicrodataデータの構造化マークアップを推奨(microformatsももちろん対応していますが)していたり。「microformats2」という別の規格があり、そちらでは「hentry」ではなく「h-entry」が使われていて将来的にどうなるのかわからないという印象を持ってしまうため、「microformatsはもう対応しなくてもいいんじゃね?」と判断することにしました。

[ cf. リッチ スニペットと構造化データについて – ウェブマスター ツール ヘルプ ]

投稿記事にhentryクラスを付与しないように修正する方法

「hentry」を書き出さない方法として、さらに2つのアプローチが考えられます。

  1. テーマ内でpost_class()を使わない
  2. フィルターフックを使い、hentryを削除

シンプルなテーマで、post_class()が出力するクラス名を何にも使用しない場合であれば、post_class()を使わないように修正するのが一番楽かもしれません。

<例>

に書き換えます。

ただ、デザイン面でいろいろとカスタマイズをしたい場合など、post_class()はやっぱりとても便利。
使わないのはもったいないので、post_class()の出力からhentryだけを取り除く方法が一番だと思います。

と言っても、こちらも方法は簡単で、フィルターフックでpost_class()をフックして、出力するクラスからhentryを削除するだけです。
post_class()のパラメータは出力するクラス名の文字列配列なので、array_diff()を使って「hentryだけが入った配列」との差分を返すことで実現できます。

具体的には、functions.php内に以下の記述を行えばOKです。

長々と書いてしまいましたが、やること自体はいたってシンプルです。

以上で、ウェブマスターツールの構造化データで発生したエラーの対処は完了です。
エラーは順調に減っていくはずですが、ウェブマスターツールの各種数値はすぐに反映されないので、気長に待ちたいと思います。

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です