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