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

Last update 
/ Posted by Takumi Hirashima

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

WordPress で投稿の構造化データを動的に設定する方法を紹介します。ソースをコピーして簡単に使えるようにまとめましたが、一部項目は画像の作成が必要なのでご注意ください。

  1. 基本的な設定方法と注意点
  2. mainEntityOfPage(URL) について
  3. headline(見出し) について
  4. image(画像) について
  5. datePublished(主に記事の公開日) について
  6. dateModified(最終更新日) について
  7. author(著者) について
  8. publisher(組織情報) について
  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形式である必要があります。

今回はアイキャッチ画像の指定が必ずあることを前提にしています。アイキャッチ画像を有効化していない場合は、機能を有効化するか、静的な記述に変更してください。

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

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

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

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

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

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

author(著者) について

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

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

publisher(組織情報) について

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

ロゴのガイドライン

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

description(説明) について

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

構造化データのテスト

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

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

この投稿では以下のサイトを参考にさせていただきました。合わせてご覧ください。

スポンサーリンク