WordPressのウェブマスターツールでのMicroformats問題の対処
WordPressのウェブマスターツールでのMicroformats問題の対処方法について紹介します。
1.はじめに
「WordPressユーザー要注意!〜構造化データのエラーでアクセス激減」で知りましたが、WordPressで
<?php post_class(); ?>
という、記事の投稿情報のクラス属性値を表示するテンプレートタグを利用している場合、Microformatsの構成要素である「hentry」というclass属性値を出力するのですが、その他のMicroformatsの必須要素である、
- updated
- author
などがclass属性値として存在しない場合、ウェブマスターツールの「検索のデザイン」→「構造化データ」で大量のエラーが発生する、ということらしいです。
2.hentryの構成要素
hentryの構成要素は次のとおりです。
- entry-title:記事のタイトル(必須)
- entry-content:記事の内容(任意)
- entry-summary:記事の概要(任意)
- updated:更新日時(必須、ただし存在しない場合はpublishedを参照?)
- published:公開日時(任意)
- author:ユーザー名(必須)
- bookmark:パーマリンク(任意)
- tags:タグ(任意)
元記事ではhentryを出力しているpost_class()を削除する対処としていますが、個人的にはpost_class()はそのままにして、hentryの必須要素を網羅するのが本来ではないかと思います。
ので、次項で必須要素である、
- entry-title
- updated
- published
- author
の設定例について紹介します。
なお、hentryの仕様はさらに更新されているようなので、もしかしたらここに掲載している内容は過去のものかもしれません。2014年1月現在、ウェブマスターツールではMicroformats2未対応です。
3.entry-titleを設定する
entry-titleは以下のように設定します。テーマ「Twenty Fourteen」のcontent.phpの抜粋です。
if ( is_single() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
endif;
4.published/updatedを設定する
published/updatedは以下のように設定します。
function.phpに以下を設定
function get_mtime($format) {
$mtime = get_the_modified_time('Ymd');
$ptime = get_the_time('Ymd');
if ($ptime > $mtime) {
return get_the_time($format);
} elseif ($ptime === $mtime) {
return get_the_time($format);
} else {
return get_the_modified_time($format);
}
}
content.phpなどに以下を追加
公開日:<abbr class="published"><?php the_time('Y年n月j日') ;?></abbr>
<?php if ($mtime = get_mtime('Y年n月j日')) echo '最終更新日:', '<abbr class="updated">'.$mtime.'</abbr>'; ?>
5.authorを設定する
authorは以下のように設定します。
<span class="byline"><span class="author vcard"><a class="url fn n" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) ?>" rel="author"><?php echo get_the_author(); ?></a></span></span>
テーマ「Twenty Fourteen」のtwentyfourteen_posted_on()から抜粋して手を加えました。
6.構造化データを確認する
正しいMicroformatsであることを確認するには、ウェブマスターツールの「構造化データ テスト ツール」を利用してください。
URLまたは出力したソースをはりつけて「プレビュー」をクリックするだけです。
OKの場合
NGの場合
- ウェブマスターツールで被リンクを調べる方法
- noindexが使えない形式のファイルにnoindexを適用する方法
- Googleウェブマスターツールの「URLパラメータ」の使い方
- Googleウェブマスターツールにサイトを登録する方法
- Googleウェブマスターツールでインデックスされたページを削除する方法
- Google ウェブマスターツールの「robots.txt テスター」の使い方
- インデックスされたページを404にしたあとにGoogleウェブマスターツールでインデックスから削除する方法
- Googleウェブマスターツールの「過去の上位検索クエリデータの改善」について
- Googleウェブマスターツールで「タイトルタグの重複」を減らす方法