author がありませんと言われたら

Googleウェブマスターツールで、サイトマップの読み込みとインデックスへの登録数を確認しています。

いじくり回していると、エラーページのログあり。エラー数が膨大。内容はauthor,entrtit,updateが無いよ、どうなってんのって。

クラス指定で情報を追加する方法

「author がありません」「entry-title がありません」「updated がありません」

ページのソースを見ると、たしかにありません。この要求はマイクロフォーマットの規格で、著者情報、記事の題名、いつ公開したかを検索エンジンが欲しがっています。

「author がありません」の直しかた

single phpに書く
footer phpに書く
function phpに書く

以上の情報がでてきます。もうすこし調べてみると、最初にauthor情報はあると分ります。このページで言うと、著者情報として、記事の下にアイコンが置いてあります。

新しく書き込んだり、wp関数で呼び出さず、アイコンに記載している情報にクラス指定を増やすだけで要求通りになるはず。そこで、影響のでないスパンのタグをふたつ使ってvcard と authorの2つのクラスを追加しました。

「entry-title がありません」の直した

h1タグがタイトルかと思ったら、記事タイトルはh2で指定してました。なぜかどことはいいませんが、ほかのテンプレートとはまるで違う場所に指定がありこれを見つけるのに一苦労。コードを開いて首っ引きで付き合わせて該当するページを探します。

見つかったら、class=”entry-date”などエラーの原因になるけれど、いまはテンプレートに入っていないクラスをspanタグなどで指定します。ライブデータのテストができるのですが、いまひとつ分らない。改修したページのソースを開いてクラスが入っていればよいとします。あとは再度計測ページをみたときにエラーが減っていることに期待。

「updated がありません」

アップデート、ページを作った日付が検索ロボには見えません。私が今使っているwordpressテンプレートは、日付が上にでます。タグをみると構造がへんな順番に見えましたけれどphpの書き方としては正しいみたい。新規に日付を追加しても良いのですが、有るものを使った方が間違いはないので、日付の前後にやはりスパンタグ(span)でentry-updateを追加しまして、ようやく作業完了。

参照サイト

「entry-title がありません」「updated がありません」「author がありません」ウェブマスターツール 構造化データ(hentry)のエラーへの対応策 | 田舎に住みたいエンジニアの日記
対策と考え方。

ウェブマスターツールで「hentry(マークアップ: microformats.org)」構造化データエラーが出たときの対策方法
必要なクラス指定を追加しました。私の使っているテンプレートと違う解説ですが、テンプレートの作り方は作った人次第ですので、config phpとsingle phpあたりを探すことになります。

WordPressユーザー要注意!〜構造化データのエラーでアクセス激減?
最初にhentryクラスを出さずに済ませる方法。

今回は最後の方法は試さず、エラーの原因は要求ととらえ要求を満たすことでエラーを潰しました。