taupe WebとAIと暮らし

Notes / 実践記録

Search Consoleの構造化データエラーを直した2016年の記録

Search Consoleの構造化データエラーを直した2016年の記録

本ページはアフィリエイトプログラムを利用しています

Search Console(ウェブマスターツール)を確認していたら、当ブログの構造化データにエラーが発生しているのに気付きました。
Search Consoleでエラーがでているのはよろしくない状態ですので、早めに対処することとしましょう。
今回は実際のコードを提示しつつ、対応手順をまとめます。

2026年7月追記。
この記事は、2016年にSearch Consoleで構造化データエラーを見つけ、BlogPostingの項目を手で直した時の記録です。
当時使っていた構造化データテスト環境やSearch Consoleの表示は、現在とは変わっています。
今確認するなら、Google Search CentralのArticle構造化データ構造化データの一般ガイドラインRich Results Test、Search Consoleのリッチリザルトレポートを見ます。
WordPressテーマやSEOプラグインがJSON-LDを出している場合も多いので、いま同じコードを足す前に、重複や現在の出力を確認した方がいいです。

schema.orgでマークアップしてエラーを修正

まず、構造化データとはなにか。
構造化データは、HTMLで記述された情報が何を意味するのかを検索エンジンやクローラに理解できるようにするためのものになります。
制定されているフォーマットをもとに、検索ロボットが解釈しやすいようにマークアップします。
なにもない状態から自分でウェブサイトを構築する場合は、構造化データのフォーマットに沿ってHTMLを記述する必要があります。
WordPressなどを使用している場合はテーマにもよりますが、デフォルト状態から構造化データが実装されていることが多いです。
ちなみに、当ブログはWordPressで構築、テーマはXeory Baseを利用しています。

構造化データエラー確認方法

Search Consoleの構造化データエラー一覧画面
構造化データのエラー詳細を確認している画面
BlogPostingのauthorエラーを確認している画面
構造化データのpublisherエラーを確認している画面

構造化データのエラーを確認するには、まずSearch Consoleを確認します。

Search Consoleのサイト管理画面の左側、「検索での見え方」から「構造化データ」を選択します。
当ブログの場合は上記のようにエラーが表示されていました。
189のアイテムにエラーがあるとされています。
えらいこっちゃ。

エラー部分をクリックしていくと、どのページにエラーが発生しているか詳細を確認できます。
さらに、エラー原因を確認するため、「ライブデータをテスト」をクリックします。

するとどの部分にエラーがあるのかはっきりします。
当ブログの場合はBlogPosting内にエラーがあるようでした。

エラーをクリックし、ページごとの詳細を確認します。
いくつかの必須フィールドの値がないことがエラーとして表示されているようでした。
では、実際にこのエラーをschema.orgでマークアップすることで解消しようと思います。

構造化データエラー修正方法(BlogPosting)

構造化データ修正後の検証結果を確認している画面

エラーが表示されなくなるまで実際に記述したコードを下記にまとめます。
コードを記述したあとは、構造化データのテストツールに確認したいページのURLを入力して確認します。

https://search.google.com/test/rich-results

「author」フィールドの値は必須です

<span class="vcard author">
    <span itemprop="author" itemscope itemtype="http://schema.org/Person" class="fn">
        <span itemprop="name">ishikawa</span>
    </span>
</span>

「ishikawa」の部分が著者名になります。
僕はXeory側のCTAに著者情報をまとめているので、管理画面より記述しました。

「image」フィールドの値は必須です

<div class="post-thumbnail" itemprop="image" itemscope itemtype="https://schema.org/ImageObject">
    <img src="・・・">
    <meta itemprop="url" content="画像のURL">
    <meta itemprop="width" content="画像の幅">
    <meta itemprop="height" content="画像の高さ">
</div>

こちらは元々書き出していたキービジュアルにマークアップを追加する形にしました。
Xeoryの場合はsingle.phpに書き足す流れになります。
url、width、heightも同時に記述しないとエラーになります。
WordPressの場合、

<?php
    $image_id = get_post_thumbnail_id ();
    $image_url = wp_get_attachment_image_src ($image_id, true);
?>
<meta itemprop="url" content="<?php echo $image_url[0]; ?>">

とすれば、キービジュアルのURLが出力できます。

「publisher」フィールドの値は必須です、「name」フィールドの値は必須です

<div 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">ishikawa</span>
</div>

この2つは同時に解決します。
publisherフィールド内にnameを含めます。
「ishikawa」の部分がそれぞれのサイトでの固有のものになります。
また、publisherフィールドでは「logo」と「url」が必須になります。

「dateModified」は推奨フィールドです

<li>投稿日:<span itemprop="datePublished" datetime="2016-06-10T17:10:49+00:00">2016-06-10</span></li>
<li>更新日:<span itemprop="dateModified">2016-06-10</span></li>

必須ではなく推奨でありますが、気になるので対応。
元々投稿日のみ表示していたところに、更新日を追加しました。

<?php the_modified_date('Y-m-d') ?>

WordPressの場合は上記のコードで更新日が取得できます。

「mainEntityOfPage」は推奨フィールドです

<a itemprop="mainEntityOfPage" href="https://taupe.site/entry/phpmyadmin-sql/">https://taupe.site/entry/phpmyadmin-sql/</a>

こちらも推奨フィールド。
URLにはそのページのURLを記述します。

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

WordPressの場合は上記のようにすればURLが出力されます。

まとめ

Search Consoleで構造化データの状態を確認している画面

このようにひとつひとつマークアップすることでエラーは解消されました。

構造化データは仕様が変化し、新しいフィールドも追加されているようですので、今後も動向を注視しておかなくてはならないですね。

楽天Kobo電子書籍ストア
¥1,628 (2026/08/16 18:23時点 | 楽天市場調べ)

Next

Category

Author / Official hub

イシカワヒデカズの実践記録

Web制作、開発、AI活用、メディア運営の相談先は公式サイトにまとめています。