WordPress で hAtom と向き合ってみた

先日、ウェブマスターツール の構造化データでエラーが出てるという話をしてたので、自分のブログがどうなってるのか見てみたら案の定いっぱいエラー出てたw

場所はウェブマスターツールからサイトのダッシュボードを開いて、[検索のデザイン] → [構造化データ] で右下の表のデータタイプという列に [hatom] というのがあるのでそこをクリック。
hatom のページに行くと「すべてのページを表示しています。」という文章の下に表があるけど、すべて以下のようなエラーでした。

Missing required field “updated”
Missing required hCard “author”

そもそもhatomってなんだ??
と思って調べたら、hAtom とは Atom が持つメタデータを HTML に埋め込む microformats ということらしいです。

hAtom の詳しい仕様についてはこちら。

参考:hAtom

で、結局、WordPress で post_class() を使うと hentry クラスが付与されるので「hentry があるのに updated とか author がないんだけど!」って事で怒られるみたい。
エラーを消すには hentry クラスを使わないようにするか、hAtom と真面目に向き合うか。

とりあえず、hAtom と真面目に向き合う方法でやる事にしたので、hentry 内に updated と author をクラスとして追加してお怒りをおさめました。

<article class='hentry'>
  <h2 class='entry-title'>エントリタイトル</h2>
  <div class='updated'>2014/01/24<div>
  <div class='vcard author'>
    <span class='fn'>投稿者</span>
  </div>
</article>

author のフォーマットは hCard 形式でやるみたいでちょっと特殊。

参考:hCard 1.0

本当は Google が採用してる schema.org(マークアップ形式 microdata)に切り替えた方がいいらしいんだけど、WordPress がデフォルトでサポートしてるのかどうかも分からないので今は様子見。

schema.org の詳細はこちら。

参考:schema.org に関するよくある質問