ウェブマスターツールの構造化データ(hentry)のエラー対策

by 管理者
12月 18日 2013 年

僅か3日くらい前から出始めたウェブマスターツールの構造化データのエラー。

いきなり718件もエラーになっているので、「何事か?」って驚きますよね。

WMTで構造化データのエラーが発生

エラーの内容を見ると、「・entry-titleがありません。・updatedがありません。・author がありません。」とあるように定義しないといけない項目が未定義なので出ているということが分かります。

発生したエラーの内容

だけど、718件も修正するの?

今ブログを付け始めたばかりならともかく、今更こんなものやってられるか!

じゃ、ないでしょうか!?

対策方法は?

「・entry-titleがありません。・updatedがありません。・author がありません。」とエラーを出しているのは、データタイプの「hentry」なので、これが何者なのか調査したところ、Wordpressのテーマにpost_class()が使われると、hentryクラスがくっ付いてくることが分かりました。

それなら、post_class()からhentryクラスを抜けば良のではないか?という考え方です。

さらに調べると、WordpressでAutopagerizeを動作させないためにpost_class()からhentryクラスを抜く方法を公開しているサイトが沢山あったので、それを参考にしたところ、以下のfunction remove_hentry( $classes ) {xxxxx}までをfunction.phpに追加、add_fillter(xxxxx)をsingle.phpに追加すれば良いと記載されていました。

function remove_hentry( $classes ) {
    $classes = array_diff($classes, array('hentry'));
    return $classes;
}

add_filter('post_class', 'remove_hentry');

しかし、今回は使用目的が違うので、秀丸エディタのgrepを使ってpost_class()を使っているphpのソースを調べるとarchive.php、index.php、search.php、single.phpの4つあり、single.phpだけでは対策が不十分のはず。

それなら、上記の青文字部分を全て、function.phpに追加すれば良いのではないか?

具体的には、Wordpressの外観 → テーマ編集 → テーマのための関数(function.php)をクリックして、最後の方に上記の青文字部分を全て追加しました。

具体的な修正箇所

ウェブマスターツールの構造化データにある「ライブデータのテスト」機能で見ると、エラーが消えているので、おそらく大丈夫かな!

暫く待てば、ソースを弄らなくても簡単に対策出来るプラグインが公開されるかもしれません。

WordPressで使っている古いテーマに問題があった場合、それを修正するスキルがあれば良いですが、無ければテーマを変更するしかありません。

今回は何とかなったけど、WEBの世界はどんどんと難しくなって、シロートでは触れなくなってきていると実感します。

※ いかなる障害が発生しての責任は取れないので、自己責任で修正して下さい。

結果の報告

この通りエラーは無くなりました。

2014年1月10日に0件になったので、約1ヶ月かかりました。

エラー件数の推移

コメント / トラックバック 2 件

  1. 石井貢 より:

     テーマTwentyFourteenです。他の様々なsサイト参考に試行錯誤しましたが、効果無しか、wordpressのエラーになるばかり。 
     こちらの方法では、すっかり消えました。有難うございました。m(__)m

  2. 田中良 より:

    大変参考になりました!

    おかげさまで
    「・entry-titleがありません。・updatedがありません。・author がありません。」
    のエラーが消えました!

    ただ、消えた後にブログに変なコードが表示されるようになってしまいました。

    function remove_hentry( $classes ) { $classes = array_diff($classes, array('hentry')); return $classes; } add_filter('post_class', 'remove_hentry');

    こちらのコードがブログの表に表示されてしまいます。

    記事と同じように進めていったのですが、
    対処法を存じ上げませんでしょうか。

    よろしくお願いいたします!

この記事へのトラックバックURL