JSON-LDへmicrodataから構造化データを変更する方法

microdata を JSON-LD に自分で書き換えるのは時間がかかりますが、Google Blogger の場合は簡単に変更できます。

microdata と JSON-LD は構造化データのフォーマットです。構造化データとは Google などの検索サイトにどういうページなのか伝える方法です。

タイトルや説明などを決まったフォーマットで定義します。ページ全体を読み取る必要がないので早く正確に Google へ情報が伝わります。

microdata はプログラム中に簡単に書けるので流行りました。しかし、Google は JSON-LD を推奨しています。Google Blogger のテーマも最新のものは microdata ではなく、JSON-LD で書かれています。

JSON-LD に対応したテーマを使えばいいのですが、古いテーマを使い続けたい場合は microdata を JSON-LD に自分で書き換える必要があり、時間がかかります。

Google Blogger では簡単に変更する方法があります。まず、今使っているテーマをバックアップします。次に Contempo などの JSON-LD に対応した公式テーマを適用します。ブログを表示し、ページのソースを表示します。
<script type='application/ld+json'>
・・・・・
・(中略)・
・・・・・
</script>
この部分が JSON-LD です。その部分をコピーして、今まで使っていたテーマの itemtype='http://schema.org/BlogPosting' などがあるあたりに貼り付けます。ページによって変更される部分を microdata で書かれた部分(itemscope= itemprop= itemtype= の近くにある)からコピーして貼り付けます。
<script type='application/ld+json'>{
  "@context": "http://schema.org",
  "@type": "BlogPosting",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "<data:post.url/>"
  },
  "headline": "<data:post.title/>","description": "<data:post.snippet/>","datePublished": "<data:post.timestampISO8601/>",
  "dateModified": "<data:post.lastUpdatedISO8601/>","image": {
    "@type": "ImageObject","url": "(画像のURL)",
    "height": (画像の高さ),
    "width": (画像の幅)},"publisher": {
    "@type": "Organization",
    "name": "Blogger",
    "logo": {
      "@type": "ImageObject",
      "url": "https://lh3.googleusercontent.com/ULB6iBuCeTVvSjjjU1A-O8e9ZpVba6uvyhtiWRti_rBAs9yMYOFBujxriJRZ-A=h60",
      "width": 206,
      "height": 60
    }
  },"author": {
    "@type": "Person",
    "name": "<data:post.author/>"
  }
}</script>
こんな感じになります。

(画像のURL)(画像の高さ)(画像の幅)の部分は好きな画像のURLとサイズを指定してください。どの記事にも画像を使っていて、ページごとに使っている画像を使用するなら <data:post.firstImageUrl/> とかになると思います。

"@type": "Organization", 以下は Google Blogger 公式テンプレートそのままになっているので、会社名が Blogger で Google Blogger のロゴ画像になっています。自分の会社名やホームページ名、好きなロゴ画像でもいいです。

変更した古いテーマを適用し、構造化データ テストツール
https://search.google.com/structured-data/testing-tool
でエラーが出てないか確認します。

まだ JSON-LD と microdata がある状態なので、同じ構造化データが2つできます。内容を確認します。同じものができていれば成功です。

最後に、microdata で書かれた部分の itemscope= itemprop= itemtype= 以下を削除して JSON-LD だけになると完成です。
<div class='flexbox outer-wrapper' itemprop='mainContentOfPage' itemscope='itemscope' itemtype='http://schema.org/Blog'>

<div class='flexbox outer-wrapper'>
<h2 itemprop='name headline'>

<h2>
この記事のタイトルとURLをコピーする seo
seo