・パンくずリストの構造化データの記述方法は?
こんな疑問にお答えします。
パンくずリストとは、Webサイト上の階層をわかりやすくするリスト。
「ホーム」>「実績一覧」>「実績詳細➀」とかのやつですね。
ただマークアップするときに、構造化データにしないと、Googleのロボットにたいして読み取らせることができません。
そのため構造化データにしたパンくずリストの記述方法を知っておくべし。
覚えておこう!
ということで、この記事では「パンくずリスト/構造化データの記述」について解説していきます!
・パンくずリスト/構造化データ【基本や種類】
・パンくずリスト/構造化データ【microdata】
・パンくずリスト/構造化データ【JSON-LD】
・パンくずリスト/構造化データ【チェック方法】
目次
【解説】パンくずリスト/構造化データの記述【基本や種類】
パンくずリストの構造化データの記述には、3種類あります。
それがこちら↓
- Microdata(マイクロデータ)
- RDFa(アールディーエフエー)
- JSON-LD(ジェイソンエルディー)
今回はこのなかの「microdata」と「JSON-LD」について解説しますね。
シンプルで使いやすいのが「microdata」ですね。
- HTMLで書ける
- HTML5の構文
- Googleの推奨でない(使用NGというわけではない)
- Web上に表示される
使い方を覚えれば便利なのが「JSON-LD」ですね。
- JSON形式で記述する
- データを1箇所にまとめれる
- Googleが推奨してる
- Web上に表示されない
- SEO効果が期待できる
- 設置場所はbodyタグ内
- 重複しないため片方使うのを推奨
ちなみにWordPressの場合は、プラグインを使えば簡単に実装できちゃいます。
下記記事をどうぞ↓
【WordPress】Breadcrumb NavXTの使い方【パンくずリスト】【解説】パンくずリスト/構造化データの記述【microdata】
まず「microdata」から紹介していきます。
例となるコードがこちら↓
<nav>
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/">
<span itemprop="name">ホーム</span>
</a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/achievements/">
<span itemprop="name">実績</span>
</a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/achievements/introduction1/">
<span itemprop="name">実績紹介➀</span>
</a>
<meta itemprop="position" content="3" />
</li>
</ol>
</nav>
「ホーム」>「実績一覧」>「実績詳細➀」を例としています。
初見だと難しく見えちゃいますよね。
ただ順番に見ていけばシンプルな作りです。
- navタグでくくる
- olタグとliタグに「itemscope」を記述
- olタグに「itemtype」を記述
- liタグに「itemprop」と「itemtype」を記述
- aタグ+その中のspanに「itemprop」を記述。
- aタグ同階層下に「meta」タグを記述
1つずつ見ていきましょう。
<nav>
<!-- ここに中身が入ります -->
</nav>
絶対ではないのですが「nav」タグで囲むのがオススメ。
パンくずリストはナビゲーションにあたるらしく、navタグで囲んだ方がGoogle様に役割を伝えやすくなるかと。
<nav>
<ol itemscope>
<li itemscope>
<!-- 中身 -->
</li>
<li itemscope>
<!-- 中身 -->
</li>
<li itemscope>
<!-- 中身 -->
</li>
</ol>
</nav>
「itemscope」とは、アイテムの範囲という感じです。
つまり「itemscope」が書かれてる範囲の要素は、パンくずリストですよって伝えるということ。
これで構造化データの一部と定義できます。
※ただこの時点では範囲を伝えただけで、どんなパンくずリストの情報かはわかりません。
そのため次の➂が必要になります。
<nav>
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemscope>
<!-- 中身 -->
</li>
<li itemscope>
<!-- 中身 -->
</li>
<li itemscope>
<!-- 中身 -->
</li>
</ol>
</nav>
「itemtype=”http://schema.org/BreadcrumbList”」というコードを、olタグに記述します。
アイテムの種類ってことですね。
現時点でアイテムの範囲(itemscope)+アイテムの種類(itemtype)を記述したって感じです。
簡単に説明すると「このパンくずリストは、schema.org構造化データを用いている」という意味になります。
ウェブページ上でパンくずリストを表現するための規約やルールのセットと覚えておくのが良いかと。
<nav>
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<!-- 中身 -->
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<!-- 中身 -->
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<!-- 中身 -->
</li>
</ol>
</nav>
「itemprop=”itemListElement”」と「itemtype=”https://schema.org/ListItem”」を記述します。
itemtypeに関しては➂と同様、タイプを指定しています。
「itemprop」とは、アイテムのプロパティ(属性)を指定。
「itemprop=”itemListElement”」は「これはリストアイテムですよ」という情報を伝えている感じですね。
リストの一部ってことだね
<nav>
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/">
<span itemprop="name">ホーム</span>
</a>
<!-- 後ほどmetaタグが入ります -->
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/achievements/">
<span itemprop="name">実績</span>
</a>
<!-- 後ほどmetaタグが入ります -->
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/achievements/introduction1/">
<span itemprop="name">実績紹介➀</span>
</a>
<!-- 後ほどmetaタグが入ります -->
</li>
</ol>
</nav>
続いてaタグとその中のspanに対して「itemprop」を記述します。
意味としては下記。
- 「itemprop=”item”」⇒パンくずリストのアイテムだよ
- 「itemprop=”name”」⇒パンくずリストの名前だよ
hrefに対しては普通にリンク先を記述しましょう。
<nav>
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/">
<span itemprop="name">ホーム</span>
</a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/achievements/">
<span itemprop="name">実績</span>
</a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/achievements/introduction1/">
<span itemprop="name">実績紹介➀</span>
</a>
<meta itemprop="position" content="3" />
</li>
</ol>
</nav>
最後にmetaタグをaタグと同階層の下に記述します。
コードとしては下記部分ですね↓
<meta itemprop="position" content="数字" />
これはパンくずリストの順番位置を伝えています。
1番目の項目なら1を記述。
2番目の項目なら2を記述。といった感じ。
これが「microdata」の解説となります。
初見は難しそうに見えますが、いがいとシンプルな作りになっていますよね。
【解説】パンくずリスト/構造化データの記述【JSON-LD】
次に「JSON-LD」を紹介していきます。
例となるコードがこちら↓
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@id": "https://example.com/",
"name": "ホーム"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@id": "https://example.com/achievements/",
"name": "実績"
}
},
{
"@type": "ListItem",
"position": 3,
"item": {
"@id": "https://example.com/achievements/introduction1/",
"name": "実績紹介➀"
}
}
]
}
</script>
「ホーム」>「実績一覧」>「実績詳細➀」を例としています。
初見だと難しく見えちゃいますよね。
ただこちらも順番に見ていけばシンプルな作りです。
- scriptタグでくくる
- 「@context」と「@type」を記述
- 「itemListElement」を記述
- 「itemListElement」の中に値を書く
1つずつ見ていき
<script type="application/ld+json">
//ここに中身が入る
</script>
まずscriptタグで囲みます
typeに「application/ld+json」を記述。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
}
</script>
上記のように宣言文を記述。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
]
}
</script>
次に「itemListElement」を記述。
この中に値を書いていきます。
{
"@type": "ListItem",
"position": 1,
"item": {
"@id": "https://example.com/",
"name": "ホーム"
}
},
type | 「ListItem」を記述 |
position | パンくずリストの階層順番 |
id | ページURL |
name | ページ名 |
上記の値を書いていきます。
【解説】パンくずリスト/構造化データの記述【コードのチェック】
最後に記述したコードが正しく構造化できているかの、チェックをしましょう。
できていないとGoogle様が認識してくれませんので。。チェック大事!
記述した構造化データのコードをコピペして、テストを実行ボタンをクリックしましょう。
エラーなし、警告なしと出ていればOKです。
【解説】パンくずリスト/構造化データの記述【microdata・JSON-LD】:まとめ
- 3種類ある
- microdataはHTML形式
- JSON-LDはjson形式
構造化データのパンくずリストを作る際は試してみてね!