Xeory Extensionで構造化エラーが発生! 対処法をまとめた。

こちらのブログではバズ部様が提供してくださっているWordpressテーマ「Xeory Extension」を使用しています。

この度、こちらのテーマをGoogleから提供されているWebマスターツールSearchConsoleの構造化データテストツールにかけると大量のエラーが出てしまいました。

その後、すべて修正しましたので対処方法を記載しておきます。

こちらで使用しているXeory Extensionのバージョンは0.2.1です。

構造化エラーの内容と修正箇所

「author がありません」

single.php 48行目から51行目を書き換え

【改変前】
          <li class="author">
            by <?php the_author(); ?>
          </li>
【改変後】
           <li class="author">
			  by 
            <span class="vcard author" itemprop="author">
				<span class="fn"><?php the_author(); ?></span>
			</span>
          </li>

ちなみにlib/functions/show_avatar.php(記事の一番下に表示されている投稿者プロフィール部分)を書き換えても、

の外にあるため解決できませんでした。

「entry-title がありません」

エラー: Missing required field “entry-title”.

single.php 36行目ブログ記事タイトル部分のh1にクラス名「entry-title」を追加

【改変前】
        <h1 class="post-title" itemprop="headline"><?php the_title(); ?></h1>
【改変後】
         <h1 class="post-title entry-title" itemprop="headline"><?php the_title(); ?></h1>

「updated がありません」

エラー: Missing required field “updated”.

single.php 45行目 投稿日部表示部分のliにクラス名「updated」を追加

【改変前】
          <li class="date" itemprop="datePublished" datetime="<?php the_time('c');?>"><i class="fa fa-clock-o"></i> <?php the_time('Y.m.d');?></li>
【改変後】
           <li class="date updated" itemprop="datePublished" datetime="<?php the_time('c');?>"><i class="fa fa-clock-o"></i> <?php the_time('Y.m.d');?></li>

エラー箇所: datePublished(投稿日時)

エラー内容:値「YYYY.MM.DD」は日時として解析できません。

single.php 45行目の「Y.m.d」を「Y-m-d」に書き換え

【改変前】
         <li class="date updated" itemprop="datePublished" datetime="<?php the_time('c');?>"><i class="fa fa-clock-o"></i> <?php the_time('Y.m.d');?></li>
【改変後】
          <li class="date updated" itemprop="datePublished" datetime="<?php the_time('c');?>"><i class="fa fa-clock-o"></i> <?php the_time('Y-m-d');?></li>

エラー箇所: image(アイキャッチ画像)

エラー内容:「image」フィールドの値は必須です。

single.php 58-60行目を改変

【改変前】
      <div class="post-thumbnail-article">
        <?php the_post_thumbnail(array(1200, 630, true)); ?>
      </div>
【改変後】
     <div class="post-thumbnail-article" itemprop="image" itemscope itemtype="https://schema.org/ImageObject">
        <?php the_post_thumbnail(array(1200, 630, true)); ?>	
		<?php
    		$image_id = get_post_thumbnail_id ();
    		$image = wp_get_attachment_image_src ($image_id, 'full');
		?>
		<meta itemprop="url" content="<?php echo $image[0]; ?>" />
		<meta itemprop="width" content="<?php echo $image[1]; ?>" />
		<meta itemprop="height" content="<?php echo $image[2]; ?>" />
      </div>

エラー箇所: Publishere(組織)

エラー内容:「Publishere」フィールドの値は必須です。

single.php

~
の中に 以下のコードを挿入

ロゴのURL名前と記載されている部分は自身のウェブサイトで使用しているタイトルロゴ画像のURL管理者名に置き換えてください。

		<div class="publisher" itemprop="publisher" itemscope itemtype="https://schema.org/Organization">
    		<span itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">
 		      <span itemprop="url" content="ロゴのURL">
  		        <img src="ロゴのURL" />
  		     </span>
  		  </span>
  		  <span itemprop="name">名前</span>
		</div>

その後、style.cssで非表示に

.publisher {
    display: none;
}

エラー箇所: dateModified(更新日時)

エラー内容:「dateModified」は推奨フィールドです。値があれば指定してください。

single.php

~
の中に以下のコードを挿入

		<meta itemprop="dateModified" datetime="<?php the_modified_date('Y-m-d') ?>" content="<?php the_time('Y-m-d');?>" />

エラー箇所: mainEntityOfPage(記事のURL)

エラー内容:「mainEntityOfPage」は推奨フィールドです。値があれば指定してください。

single.php

~
の中に以下のコードを挿入

		<link itemprop="mainEntityOfPage" href="<?php the_permalink(); ?>" />

おまけ

lib/functions/show_avatar.php 33行目

「discription」と綴りが間違えて記述されているのを修正。(正しくはdescription)

【改変前】
          <p itemprop="discription">{$disp_author_description}</p>
【改変後】
          <p itemprop="description">{$disp_author_description}</p>

修正にあたって参考にさせていただいたサイト

「entry-title がありません」「updated がありません」「author がありません」ウェブマスターツール 構造化データ(hentry)のエラーへの対応策

Xeoryで「authorがありません」「entry-titleがありません」といった構造化データのエラーが出た時の対処法

Search Consoleで構造化エラーが発生!実際した対処方法まとめ

4 件のコメント

  • エラー内容:「Publishere」フィールドの値は必須です。
    について質問させてください。

    上記のやり方でエラーは消えたのですが、どうしてもロゴや名前がホームページで表示されてしまいます、その後、style.cssで非表示にとの事ですが、試してみたのですがどうしても非表示にならないです。
    Style.cscのどこに書き込めば良いのでしょうか?

    よろしければご教授下さい。

    使用テーマ XeoryExtensionバージョン: 0.2.1

  • コメントが着ていたことに気づかず返信遅れて申し訳ございません。
    display: none
    の最後にセミコロンを入力し忘れておりました。

    正しくは

    .publisher {
    display: none;
    }
    となります。

  • コメントする