GoogleSearchConsoleの構造化エラーを直す方法

@niketcha

WordPressで作ったウェブサイトをGoogleSearchConsoleで見ると、構造化エラーがたくさん出ました。

「authorフィールドの値は必須です」や「datePublishedフィールドの値は必須です」、「publisherフィールドの値は必須です」などのエラーだったのですが、色々試してみてもなかなか解決しなくてはまりました。

原因はプラグインやテーマが中途半端なことをしていたっぽいです。やっと解決したので、私のやったことを紹介します。

参考構造化データ テストツール

構造化エラーの原因

All in One SEOというプラグインを使っていたのが原因でした。設定で「Schema.org マークアップを使用」という項目があるのですが、これにチェックを入れるとhtmlタグのところに「itemtype=”http://schema.org/Article”」という記述が付きます。

また「DeliveryLite」というテーマを使っているとbodyタグに「itemtype=”http://schema.org/Blog”」が、articleタグに「itemtype=”http://schema.org/BlogPost”」が付きます。itemtypeにこれらの値を指定すると、authorなどを指定しなければいけないみたいです。

Sponsored Link

やってダメだったこと

クラス名の追加

著者の情報を<span class="user post-author">で囲めばいいという情報を見つけたのですが、これではエラーは消えませんでした。

itempropの追加

authorの部分に「itemprop=”http://schema.org/author”」と入れるという情報が出てきました。こちらで直ることは直ったのですが、記事内に元々入れてなかった情報まで入れる必要が出てくる。publisherとかヘッダーやフッターには書くけど記事内にはあまり書かないですよね。

「Blog」や「BlogPost」のitemtypeを指定した範囲内にpublisherなどの情報を入れなければエラーは解決しません。例えば「<article itemtype="http://schema.org/BlogPost">」となっていたら<article>~</article>の中に構造化データを入れる必要があります。

解決方法

意図しない場所に出力されているitemtypeタグを消して、独自に構造化データを出力するようにしました。

プラグイン

All in One SEOの「Schema.org マークアップを使用」のチェックを外します。

テンプレート

DeliveryLiteのテンプレートでbodyとarticleのhybrid_attr関数をコメントアウトします。

構造化データ出力

構造化データを出力したい箇所に下記のコードを追加します。

<?php 
if(is_single()){
// アイキャッチ画像情報を取得
$thumbnail_id = get_post_thumbnail_id($post->ID);
$image = wp_get_attachment_image_src( $thumbnail_id, 'full' ); 
$src = $image[0];    // URL
$width = $image[1];  // 横幅
$height = $image[2]; // 高さ
?>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Article",
"mainEntityOfPage":{
"@type":"WebPage",
"@id":"<?php the_permalink(); ?>"
},
"headline": "<?php echo get_the_title(); ?>",
"image": {
"@type": "ImageObject",
"url": "<?php echo $src; ?>",
"height": "<?php echo $height; ?>",
"width": "<?php echo $width; ?>"
},
"datePublished": "<?php echo get_the_date(DATE_ISO8601); ?>",
"dateModified": "<?php if ( get_the_date() != get_the_modified_time() ){ the_modified_date(DATE_ISO8601); } else { echo get_the_date(DATE_ISO8601); } ?>",
"author": {
"@type": "Person",
"name": "<?php the_author_meta('nickname'); ?>"
},
"publisher": {
"@type": "Organization",
"name": "<?php bloginfo('name'); ?>",
"logo": {
"@type": "ImageObject",
"url": "<?php echo get_stylesheet_directory_uri(); ?>/image/publisher-logo.png",
"width": "500",
"height": "100"
}
},
"description": "<?php echo get_the_excerpt(); ?>"
}
</script>
<?php } ?>

PublisherのロゴURLを修正して使ってください。

-ウェブサイト構築, word press

『GoogleSearchConsoleの構造化エラーを直す方法』へのコメント
                 
  1. hyoinaka 2018-09-17 20:28

    情報ありがとうございます。私は、「All in One SEOの「Schema.org マークアップを使用」のチェックを外します」でエラーも警告も解決しました。

コメントを残す

お名前もメールも入力は任意です。お気軽に指摘や質問などしていただけると嬉しいです。

Gravatarに登録すると、お好きな画像をアバターに設定できます。

Copyright© ニケッチャニッキ , 2017-2018 All Rights Reserved.