ページ目次
構造化データを記述する
ざっくばらんに言うと、構造化データとは、サイト内の単語の定義づけなどを行うことによって、検索botが訪問したサイトがどういった内容について書かれているかを素早く簡潔に把握するために記述するものです。
SEO的にどうなの?
いまのところ構造化データを記述することによって検索ランキングに効果が出るといったことはないとGoogleは言っています。
が、しかし、今後影響を及ぼす可能性があるとも言及しているようです。
検索botによるサイトコンテンツの把握を助けることにも繋がりますので、導入しとくに越したことはないでしょう。と、いうのが私の考えです。
Head部分にJSON形式での記述をオススメする理由
色々と書き方はあるのですが、head部分にJSON形式で一気に定義する方法をおすすめします。
理由は、圧倒的に楽!だからです。
HTMLタグ部分に記述する方法では、HTMLの修正をおこなうたびに記述しなければいけなくなります。しかしHead部分に記述しておけば、タグ内に記述するよりも圧倒的に修正頻度は減ります。
あるWordPressプラグインと併用すると問題が…
前置きが長くなりましたが、ここが本題です。汗
以前の投稿にもチラッと書きましたが、Head部分の記述を整理してくれて読み込み速度の改善を図れる「Head Cleaner」というプラグインがあります。
【過去記事】WordPressプラグインを「All in One SEO」に変えたのは「Head Cleaner」と「Yoast SEO」の相性がどうもよくないから
構造化データが無効になる
上述のプラグインは、非常に優秀です。WordPressは仕様上Head部分の記述がゴチャゴチャになりがちで、読み込み速度の低下にも一役かってしまっています。
Head Cleanerはそれをキレイに仕分けしてくれるんですが、そのおかげでHead部に記述された構造化データが無効化されてしまうという現象が起きるので気をつけましょう。
原因はapplication/ld+jsonの有無
構造化データの書き方の例は下記のようになります。
// Head部分
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "ほにゃらら",
// 以下、サイトに応じた構造化データ
}
</script>
これがHead Cleanerの強力な機能により、Head部分に直接書かれたScriptがひとつにまとめられてしまいます。
<script type="text/javascript">
{
// 構造化データ
}
// Googleタグマネージャーなどの記述
</script>
これでは構造化データを読み取ってくれません。
なぜなら、構造化データを読み取らせるためには、「type=”application/ld+json”」の記述が必要だからです。
Head Cleanerさんはこの辺の判断がうまくできないようです。
その他のJavaScriptにも影響が?
私の経験では、本来形式の違うものが一緒にされてしまったことによって、そこに記述されていた他のJavaScript(Googleアナリティクスなどの読み込みスクリプトなど)が読み込まれなくなるということも起こりました。
よって、構造化データをHead部分に記述する場合、WordPressプラグイン「Head Cleaner」は使用しないというのが私なりの結論です。
それでもHead部分の汚れぶりが気になる方は
「wp_head()」で出力されるJavaScriptを、「wp_footer()」で出力させてFooter部分に移動させてしまいましょう。
方法としては、「プラグインを使う」、「functions.phpにアクションフックを追加する」の2通りです。
これでJavaScriptが「wp_footer()」で出力され、読み込み速度向上にも繋がります。
やり方?詳しく?それはまあ後日…(力尽きた)。