movabletype.netでパンくずリストの構造化データを追加する方法

movabletype.netを試用していて、パンくずリストの構造化データが指定されていませんでした。

  1. 試用期間中なのでカテゴリーは1階層しか作成していない事
  2. 必ずカテゴリーを選択する事

という前提のもとでテンプレートに追加してみました。

JSON-LD形式で指定する方法。

  1. テンプレート→アーカイブテンプレート→記事を開きます。
  2. テンプレート内のどこでも構いませんので、下記のコードを追加して更新をクリックします。私は/bodyタグの直前に追加してみました。
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement":
  [
    {
      "@type": "ListItem",
      "position": 1,
      "item":
      {
        "@id": "<$MTBlogURL encode_html="1"$>",
        "name": "<$MTBlogName encode_html="1"$>"
      }
    },
    {
      "@type": "ListItem",
      "position": 2,
      "item":
      {
        "@id": "/<$MTCategoryBasename$>/",
        "name": "<mt:EntryPrimaryCategory><$mt:CategoryLabel$></mt:EntryPrimaryCategory>"
      }
    },
    {
      "@type": "ListItem",
      "position": 3,
      "item":
      {
        "@id": "<$MTEntryLink archive_type="Individual"$>",
        "name": "<$MTEntryTitle$>"
      }
    }
  ]
}
</script>

テンプレートタグの書き方、使い方をもう少しきれいにできるかもしれませんが、リッチリザルト テスト - Google Search Consoleでのテストをパス出来ましたので、出力結果は問題無いと思います。

今はパンくずリストをJSON-LD形式で指定するのが推奨されているようです。このブログでは、microdata形式でパンくずリストを指定していますので、JSON-LD形式で指定する方法に変更したいと考えています。