Googleのウェブマスターツールで検索のデザイン、構造化データでエラー発生。

  • 投稿日:
  • by
  • カテゴリ:

Googleのウェブマスターツールで検索のデザイン、構造化データでエラー発生。

構造化データでエラーがでているのは、hentryのmicroformats.org のフォーマットです。updatedがありませんと表示されます。これは、MovableType6にヴァージョンアップ後ではなく、その以前からでていたような気がするんだが。


ブログ記事では、最初に
<html lang="<$mt:BlogLanguage$>" itemscope itemtype="http://schema.org/Article">
をしています。schema.orgのArticleの構造化データを定義しています。
ブログ記事のテンプレートでは、
<article id="entry-<$mt:EntryID$>" class="entry entry-asset asset hentry">
となっており、hentryは単に記述されているだけす。
ブログ記事の概要では
<article id="entry-<$mt:EntryID$>" class="entry-asset entry asset hentry" itemscope itemType="http://schema.org/BlogPosting"> からは、schema.orgのBlogPostingのプロバディを取っているのはわかるのですが。

どうしてupdatedのデータが取られていないかですね。これが問題だ。

schema.orgを使いましょうの説明のサイト http://schema-ja.appspot.com/docs/gs.html
からまず勉強。

1. microdataを使ったマークアップの仕方
<div itemscope>
itemscopeを追加することによって、<div>と</div>の間にあるHTMLがある特定のものについての情報であると示すことになります。

<div itemscope itemtype="http://schema.org/Movie">

<div itemscope itemtype ="http://schema.org/Movie">
<h1 itemprop="name"&g;Avatar</h1>
<div itemprop="director" itemscope itemtype="http://schema.org/Person">
Director: <span itemprop="name">James Cameron</span> (born <span itemprop="birthDate">August 16, 1954)</span>
</div>
<span itemprop="genre">Science fiction</span>
<a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</div>

itemprop="director"などで定義して行く必要があるみたいだ。

Movable Type ユーザーコミュニティで助けを求めたら、@Styleさんから親切な提案があり試してい見ることにした。http://communities.movabletype.jp/2014/03/googleupdated.html

ブログ記事やブログ記事の概要テンプレートでは、投稿日の記述は下記のようになっている。
<li class="asset-meta-list-item">投稿日:<time datetime="<$mt:EntryDate format_name="iso8601"$>" itemprop="datePublished"><$mt:EntryDate format="%x"$></time></li>

それでは、更新日を定義すれば問題ないのでは。updatedのデータは、<$MTEntryModifiedDate$>で引っ張ってこれます。

これを投稿日の定義のあとに入れる。
<li class="asset-meta-list-item">更新日:<time datetime="<$mt:EntryModifiedDate format_name="iso8601"$>" itemprop="dateModified"><$mt:EntryModifiedDate format="%x"$></time></li>

これをブログ記事やブログ記事の概要テンプレートに書き込んでみる。


これでエラーが消えればいいんだが。

最終的なMovable Type サポートチームの回答は、

構造化データについてですが、対象のサイトは「プロフェッショナルブログ」テーマまたは「プロフェッショナルウェブサイト」テーマを適用されているという認識でよろしいでしょうか。

Google のウェブマスターツール内の構造化データ機能が、microformats v1 のフォーマットに準じているため、hentry 内に必須要素となる updated がないと診断されている状態かと思われます。

updated 要素を追加する場合は、hentry が指定された HTML タグ内に以下のようなフォーマットで updated 要素を記述してください。

<abbr class="updated" title="<$mt:EntryModifiedDate format_name="iso8601"$>"><$mt:EntryModifiedDate format="%x %X"$></abbr>

なお、「プロフェッショナルブログ」テーマまたは「プロフェッショナルウェブサイト」テーマを適用されている場合には、「記事のメタデータ」テンプレートモジュール内への記述が適切かと思われます。