WordPress

WordPress 投稿の構造化データを設定する方法

WordPress 投稿の構造化データを設定する方法

WordPress で投稿の構造化データを動的に設定する方法を紹介します。
コードをそのままコピーして使えるようにまとめていますが、一部の項目は画像の作成が必要です。

  1. 構造化データとは?
    1. 基本的な記述方法
    2. 注意点
  2. mainEntityOfPage(URL) について
  3. headline(見出し) について
  4. image(画像) について
  5. datePublished(主に記事の公開日) について
  6. dateModified(最終更新日) について
  7. author(著者) について
  8. publisher(組織情報) について
    1. ロゴのガイドライン
  9. description(説明) について
  10. 構造化データのテスト

構造化データとは?

構造化データとは、サイトのコンテンツ内容を検索ロボットに適切に理解させることのできるメタデータのことをいいます。
記述方法は主に「Microdata」「RDFa」「JSON-LD」の3つがあります。
今回はコードを汚すことのない JSON-LD の記述方法を使用して説明を進めます。

基本的な記述方法

投稿の詳細ページに記述する方法を紹介します。
次のコードを詳細ページのテンプレートに追加します。


<?php
// image(画像)の指定のためにアイキャッチ画像の情報を取得します
$thumbnail_id = get_post_thumbnail_id($post->ID); // アタッチメントIDの取得
$image = wp_get_attachment_image_src( $thumbnail_id, 'full' ); // アイキャッチの情報を取得
$src = $image[0]; // URL
$width = $image[1]; // 横幅
$height = $image[2]; // 高さ
?>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"mainEntityOfPage":{
"@type":"WebPage",
"@id":"<?php the_permalink(); ?>"
},
"headline": "<?php echo get_the_title(); ?>",
"image": {
"@type": "ImageObject",
"url": "<?php echo $src; ?>",
"height": <?php echo $height; ?>,
"width": <?php echo $width; ?>
},
"datePublished": "<?php echo get_the_date(DATE_ISO8601); ?>",
"dateModified": "<?php if ( get_the_date() != get_the_modified_time() ){ the_modified_date(DATE_ISO8601); } else { echo get_the_date(DATE_ISO8601); } ?>",
"author": {
"@type": "Person",
"name": "<?php the_author_meta('nickname'); ?>"
},
"publisher": {
"@type": "Organization",
"name": "<?php bloginfo('name'); ?>",
"logo": {
"@type": "ImageObject",
"url": "<?php echo get_template_directory_uri(); ?>/img/publisher-logo.png",
"width": 600,
"height": 60
}
},
"description": "<?php echo get_the_excerpt(); ?>"
}
</script>

コードの追加場所は適宜調整してください。
情報が無駄なく取得できているのであればテンプレートの最後の方に追加するのがよいでしょう。

注意点

画像の設定に一癖あるのでその点を注意しましょう。詳しくは次の項目を参照してください。
設定する項目や書式は定期的に変更される恐れがあります。
一度設定したら終わりではなく、定期的に情報を収集して内容を更新して行きましょう。

mainEntityOfPage(URL) について

mainEntityOfPage※推奨
記事の URL を指定します。

headline(見出し) について

headline※必須
記事の見出しを指定します。見出しは、110文字以内に収めましょう。

image(画像) について

image※必須
その記事を象徴する固有の画像を指定します。画像の指定には「url」「height」「width」を必ず指定する必要があり、画像の横幅は少なくとも696pxの幅で指定します。画像の形式は JPG、PNG、または.GIF形式である必要があります。

この方法は、アイキャッチ画像を有効化していることを前提にしています。
機能を有効化できな場合は静的な記述に変更してください。
アイキャッチ画像の詳しい設定方法はWordPress アイキャッチ画像の表示とカスタマイズ方法をご覧ください。

datePublished(主に記事の公開日) について

datePublished※必須
記事の最初に公開された日付を指定します。

日付は「ISO8601」形式で指定します。

dateModified(最終更新日) について

dateModified※必須
記事の最終更新日を指定します。記事が修正されていない場合は、このプロパティを省略するか datePublished と同じ日付を使用することができます。

日付は「ISO8601」形式で指定します。最終更新日がない場合は if文で datePublished と同じ日付が出るようにします。

author(著者) について

author name※必須
記事の著者を指定します。

著者名の指定には the_author_meta のニックネームを利用します。
WordPress の管理画面から、投稿権限を持つユーザーのニックネームを入力してください。

publisher(組織情報) について

publisher※必須
該当する記事を寄稿する組織名を指定します。指定する内容は「組織名」「ロゴ画像(url, height, width)」を必ず指定します。

ロゴのガイドライン

publisher ではロゴ画像を指定する必要があります。画像の形式は JPG, PNG, GIF, SVG 形式が使用できます。画像サイズは 600 x 60px の矩形に収まる必要があります。

description(説明) について

description※必須
記事の短い説明を指定します。

構造化データのテスト

入力内容が適切に動いているかを確認するために Google が提供している Structured Data Testing Tool を利用して確認します。チェックツールでは公開された URL を指定するか HTML ソースをアップロードすることで確認することができます。

まとめ

WordPress で投稿の構造化データを動的に設定する方法を紹介しました。

スポンサーリンク

合わせて読みたい関連記事