Google ウェブマスターツールで「author がありません」エラーが発生した際の対処

      2016/02/17

Google ウェブマスターツールの [構造化データ] を開くと、リニューアル以降で「author がありません」というエラーが頻発していました。

author がありません

author がありません

どうやら、ページ内のクラスに "hentry" というものが含まれていた場合、タイトルや投稿者などの情報を所定のクラスで指定しなければいけないようです。

STINGER 公式ページにも掲載されており、そこでは、WordPress 標準の post_class() 関数が "hentry" クラスを出力しているので、single.php から post_class() 関数を除外するよう書かれてました。

コメントアウト前

コメントアウト前

コメントアウト後

コメントアウト後

しかし、構造化データは SEO 的には良いようなので使う方向で修正してみます。[STINGER管理] にある [著者情報を表示する] をオンにすれば、author クラスの値が入ります。ただ、これだけだと設定が不足しており、エラーのリンクをクリックして表示される Structured Data Testing Tool だと「問題ありません」と表示しておきながら、author が追加されていないため、エラーは追加され続きます。

Structured Data Testing Tool

Structured Data Testing Tool

STINGER7 だとクラスの指定が不足しているので single.php に対して以下のように vcard と fn クラスを追加します。

<?php if ( isset($GLOBALS&#091;'stdata17'&#093;) &amp;&amp; $GLOBALS&#091;'stdata17'&#093; === 'yes' ) { ?>
  執筆者:
  <span class="fn">
  <a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>;">
  &nbsp;&nbsp; &nbsp;<?php the_author(); ?>
  </a>
  </span>
<?php } ?>

再度チェックすると、今度は問題なさそうです。

Structured Data Testing Tool

Structured Data Testing Tool

また、the_author() 関数で投稿者ページを掲載してもこのサイトの執筆者は 1 人しかいないので意味がありません。なので author.php に以下を記述して著者を表示した際は /about/ ページに移動するようにしました。

  <?php header("Location: /about/");?>

 

2016年2月17日追記

最終的に記事の通り設定を行ったのが 2 月 14 日で、この時は 2 月 11 日までのエラーしか検知されてませんでした。変更してから反映が分かるまで 3 日必要になります。3 日後の今日エラーが減少していることが確認できました。

減少傾向

減少傾向が確認できた

 - Web ,