CrystalSnowman.com

あなたの時間節約につながる情報を提供します

ウェブマスターツールの構造化データのエラーを解消する方法

structured data testing tool

Googleウェブマスターツールで構造化データのエラーが発生したので解決しました。当初エラー自体理解できなかったのですが、あるサイトのおかげで解決できました。このブログで実施した方法を紹介します。

ウェブマスターツールの構造化データ

ある日ウェブマスターツールの構造化データを見てみるとこのようなエラーが表示されていました。

構造化データ hentry

「hentry」や「microformats.org」、「authorがありません」などの意味が分からず、しばらくそのままにしていました。

以下のサイトでこのブログが取り上げられたことがきっかけで、ようやく構造化データの意味が理解できました。大感謝です。

WordPressの構造化データ(microformats.org hAtom)マークアップ | Root-013

構造化データとはhtmlに情報を追加することにより、検索エンジンにとってより文章の構造が分かりやすくするものです。
例えば通常の「h1見出し」に、「これは文章のタイトル」であるという情報を追加することができます。

hentryについて

構造化データにはいくつか種類があり、「microformats.org」はその一つです。
「hentry」はclassとして追加する情報で、「microformats.org」の構造化データを使用しますよと宣言するためのものです。

詳しくは以下のサイトが参考になります。

hentry · Microformats Wiki

ただ「hentry」などどこにも記述した覚えないなと疑問に思っていました。
ところがWordPressではhtmlのタグ内に「post_class()」を記述すると「hentry」がclassの要素として追加されます。

このブログでは単一記事と記事一覧に「post_class()」を記述していました。

単一記事のsingle.php

7行目で「post_class()」をarticleタグに設定しています。「postArticle」はデザインのため独自に追加したclassです。

htmlになるとこうなります。

<article class=”postArticle post-1214 post type-post status-draft format-standard hentry category-seo category-wordpress”>

articleタグ内に追加されたclassの中に「hentry」があることが分かります。

記事一覧のindex.php

sectionタグに「post_class()」を記述しています。

エラーの原因

「hentry」により「microformats.org」の構造化データを使用すると宣言しているのに、htmlに「updated」や「author」などの構造化データの情報が設定されていないためエラーとなります。

構造化データを使用する場合は以下のプロパティをhtmlのタグに記述する必要があります。

hEntry schema

この中で「entry-title」と「updated」と「author」は必ず指定することが求められています。これら以外は任意指定です。

解決方法

それぞれのプロパティをhtmlに記述していきます。このサイトはWordPressで作成しているためテーマファイルに記述します。

記事のタイトル

記事のタイトルにはclassとして「entry-title」を指定します。

記事本文

記事本文にはclassとして「entry-content」を指定します。

classの「cntnt」はデザイン用です。今回の構造化データではありません。

投稿日と更新日

投稿日はclassとして「published」、更新日は「updated」を指定します。更新日を表示しない場合は日付に「published」と「updated」の両方を指定します。そうしないとGoogleウェブマスターツールで「updatedがありません」のエラーが発生します。

2行目の条件分岐で、更新日を表示しない (投稿日と更新日が同じ) 場合は日付に「published」と「updated」の両方を指定するようにしました。

著者

記事の著者にはclassとして「vcard author」「fn」を指定します。
このブログは個人のもので、私だけが記事を書いています。そのため著者の表示は本来不要ですが、エラーになるのは嫌だったので、著者を表示することにしました。
投稿日やカテゴリ情報のセクションに著者情報を表示し、それに「vcard author」と「author」を指定することにしました。

カテゴリ

「rel=”tag”」を指定します。WordPressの「the_category()」では「rel=”category”」を出力します。昔は「rel=”category tag”」と出力していたようですが、現在 (2015年6月)は「rel=”category”」のみ出力します。

「rel=”category”」では構造化データとして扱ってくれないので近日中に対策を考えます。

リンク

「rel=”bookmark”」を指定します。記事中の「a」タグ内に設定します。

記事の概要

classとして「entry-summary」を指定します。概要に相当する記事中の「p」タグや「div」タグ内に設定します。

また記事一覧の記事の概要で「entry-summary」を指定するためindex.phpを修正します。

10行目で記事概要に対して「entry-summary」を指定しています。

修正した結果

Googleウェブマスターツールではすぐに反映されないので、「Structured Data Testing Tool」で確認します。

記事一覧の結果です。
structured data testing tool index

問題が解消されました。

単体記事の結果です。
structured data testing tool single

こちらも解消されました。

今日2015/06/24、ようやくGoogleウェブマスターツールでもエラーが無くなりました。

構造化データ エラー解消

参考資料

参考にさせていただいたサイト

WordPressの構造化データ(microformats.org hAtom)マークアップ | Root-013

前半でも触れましたが、このサイトのおかげで構造化データのことが理解できました。わかりやすい解説で、私のように前提知識がない人でも理解できると思います。

参考図書

頼られるWeb担当者になる! Googleウェブマスターツールの教科書
頼られるWeb担当者になる! Googleウェブマスターツールの教科書

この本はウェブマスターツールのみについてはじめて書かれた本だと思います(2015年6月現在)。 Googleアナリティクスの本はたくさんありますが、内部SEOについてはほとんどありませんでした。
ほぼすべての機能について解説されています。ただ2015年3月に出版された本ですが、たった3か月弱で画面イメージが古くなっているページもあります。
いかにGoogleが日々変化しているか分かります。

まとめ

構造化データを設定し、Googleウェブマスターツールのエラーを解消してみました。SEO的には記事自体の質が大事だといわれますが、まだまだ内部SEOも大事だと思います。検索エンジンに適切にクロールしてもらいたいあなたもチャレンジしてみてはいかがでしょうか。


Top