SEO対策として欠かせないのが構造化データです。中でもJSON-LD(JavaScript Object Notation for Linked Data)は、Googleが推奨している記述形式で、検索エンジンにコンテンツの意味を正しく伝えるために非常に効果的です。
この記事では、WordPressテーマにJSON-LD形式の構造化データを追加する方法を具体的に解説します。
JSON-LDとは
JSON-LDは、構造化データをHTML内に埋め込むためのJavaScript形式の記述方法です。検索エンジンはこのデータを解析し、検索結果にリッチリザルト(レビュー評価やイベント情報など)として反映させることができます。
構造化データの基本テンプレート(記事用)
まず、WordPressの記事ページに表示する構造化データの基本的なJSON-LDコードを紹介します。これはGoogleが推奨するArticle
タイプです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事タイトル",
"author": {
"@type": "Person",
"name": "著者名"
},
"datePublished": "公開日",
"dateModified": "更新日",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "記事のURL"
}
}
</script>
WordPressに動的なJSON-LDを追加する
WordPressのテーマでこの構造化データを出力するには、header.php
やfunctions.php
で条件を分けて出力します。
以下のコードは、記事ページ(is_single()
)のみに動的なJSON-LDを挿入する例です。
function add_json_ld_article() {
if (is_single()) {
global $post;
$title = get_the_title($post);
$url = get_permalink($post);
$author = get_the_author_meta('display_name', $post->post_author);
$published = get_the_date('c', $post);
$modified = get_the_modified_date('c', $post);
echo '<script type="application/ld+json">' . PHP_EOL;
echo json_encode(array(
"@context" => "https://schema.org",
"@type" => "Article",
"headline" => $title,
"author" => array(
"@type" => "Person",
"name" => $author
),
"datePublished" => $published,
"dateModified" => $modified,
"mainEntityOfPage" => array(
"@type" => "WebPage",
"@id" => $url
)
), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
echo PHP_EOL . '</script>' . PHP_EOL;
}
}
add_action('wp_head', 'add_json_ld_article');
出力結果の確認方法
構造化データを出力したら、以下のGoogle公式ツールで検証できます。
該当のURLを入力すると、構造化データが正しく読み込まれているかチェックできます。
補足:他の構造化データとの組み合わせ
以下のような用途でもJSON-LDを活用できます。
- Webサイト全体の情報(
WebSite
) - パンくずリスト(
BreadcrumbList
) - イベント情報(
Event
) - 製品ページ(
Product
)
特定の目的に応じてJSON-LDの内容を変更し、検索エンジンにより多くの情報を伝えることが可能です。
まとめ
WordPressテーマにJSON-LD形式の構造化データを追加することで、検索エンジンにページの内容を正確に伝え、リッチリザルトによる表示改善が期待できます。特に記事や製品、レビューなどは構造化データとの相性が良いため、積極的に導入するとSEO面で効果を得られます。
テーマに直接記述するのが難しい場合は、専用のプラグインを使う方法もありますが、今回のように自前で実装することで、柔軟な制御が可能になります。