記事(Articles)の構造化データをマークアップする方法を紹介します。
Googleは検索結果の上部にトップニュースというカルーセル枠を表示することがあります。通常の検索結果よりも上部に、画像つきの目立つレイアウトで表示されます。
記事がトップニュースに表示されるためには、ニュース記事やブログ記事の構造化データをマークアップしておくことが必要です。
記事(Articles)の構造化データは、AMP対応のページの場合と、非AMPページの場合で、マークアップする属性が若干異なります。
JSON-LDでマークアップする
記事(Articles)をJSON-LDでマークアップする方法です。JSON-LDはページのどこに記述しても問題ありませんが、通常は<head>タグ内に記述します。
<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://google.com/article" }, "headline": "Article headline", "image": { "@type": "ImageObject", "url": "https://google.com/thumbnail1.jpg", "height": 800, "width": 800 }, "datePublished": "2015-02-05T08:00:00+09:00", "dateModified": "2015-02-05T09:20:00+09:00", "author": { "@type": "Person", "name": "John Doe" }, "publisher": { "@type": "Organization", "name": "Google", "logo": { "@type": "ImageObject", "url": "https://google.com/logo.jpg", "width": 600, "height": 60 } }, "description": "A most wonderful article" } </script>
Microdataでマークアップする
MicrodataでHTMLタグに直接マークアップする方法です。
<div itemscope itemtype="http://schema.org/NewsArticle"> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article"/> <h2 itemprop="headline">Article headline</h2> <h3 itemprop="author" itemscope itemtype="https://schema.org/Person"> By <span itemprop="name">John Doe</span> </h3> <span itemprop="description">A most wonderful article</span> <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject"> <img src="https://google.com/thumbnail1.jpg"/> <meta itemprop="url" content="https://google.com/thumbnail1.jpg"> <meta itemprop="width" content="800"> <meta itemprop="height" content="800"> </div> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization"> <div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"> <img src="https://google.com/logo.jpg"/> <meta itemprop="url" content="https://google.com/logo.jpg"> <meta itemprop="width" content="600"> <meta itemprop="height" content="60"> </div> <meta itemprop="name" content="Google"> </div> <meta itemprop="datePublished" content="2015-02-05T08:00:00+09:00"/> <meta itemprop="dateModified" content="2015-02-05T09:20:00+09:00"/> </div>
属性の解説
記事(Articles)の構造化データの属性は次のようになります。
属性 | 必須 | 説明 |
---|---|---|
mainEntityOfPage | AMP:必須 non-AMP:無視 | 正規ページ(canonical)のURL |
headline | AMP:必須 non-AMP:推奨 | 記事のタイトル |
image | AMP:必須 non-AMP:推奨 | 記事を代表する画像 |
image.url | AMP:必須 non-AMP:推奨 | 画像のURL |
image.height | AMP:必須 non-AMP:推奨 | 画像の高さ |
image.width | AMP:必須 non-AMP:推奨 | 画像の横幅 696ピクセル以上推奨 |
publisher | AMP:必須 non-AMP:無視 | 記事の発行者 |
publisher.name | AMP:必須 non-AMP:無視 | 記事の発行者の名前 |
publisher.logo | AMP:必須 non-AMP:無視 | 記事の発行者のロゴ |
publisher.logo.url | AMP:必須 non-AMP:無視 | 記事の発行者のロゴのURL |
publisher.logo.height | AMP:必須 non-AMP:無視 | 記事の発行者のロゴの高さ |
publisher.logo.height | AMP:必須 non-AMP:無視 | 記事の発行者のロゴの横幅 |
datePublished | AMP:必須 non-AMP:無視 | 記事の公開日 |
dateModified | AMP:推奨 non-AMP:無視 | 記事の更新日 |
author | AMP:必須 non-AMP:無視 | 著者 |
author.name | AMP:必須 non-AMP:無視 | 著者の名前 |
description | AMP:推奨 non-AMP:無視 | 著者の短い紹介文 |