カテゴリー・タグページの構造化データの追加方法

WordPressではデフォルトで投稿や固定ページ向けに構造化データが出力されますが、カテゴリ・タグページ(アーカイブページ)は手動で追加するか、テーマ・プラグインで対応させる必要があります。

この記事では、WordPressのカテゴリー・タグページに構造化データ(JSON-LD)を追加して、検索エンジンに投稿リストを正しく認識させる方法を解説します。

1 実装のポイント

  • カテゴリー・タグページでも検索エンジンにItemListとして認識させる
  • 投稿リストのURLをListItemとして出力
  • functions.phpに追加するだけで自動生成可能
  • テーマごとのCSSやJavaScriptは不要

2 functions.php にコードを追加


// ------------------------------
// カテゴリー・タグページに構造化データを追加
// ------------------------------
function add_category_tag_schema() {
    if( is_category() || is_tag() ) {
        global $wp_query;
        $term = get_queried_object();
        $posts = $wp_query->posts;

        $itemList = array();
        $position = 1;

        foreach($posts as $post) {
            $itemList[] = array(
                '@type' => 'ListItem',
                'position' => $position,
                'url' => get_permalink($post)
            );
            $position++;
        }

        $schema = array(
            '@context' => 'https://schema.org',
            '@type' => 'ItemList',
            'name' => $term->name,
            'description' => term_description($term->term_id, $term->taxonomy),
            'itemListElement' => $itemList
        );

        echo '<script type="application/ld+json">' . wp_json_encode($schema) . '</script>';
    }
}
add_action('wp_head', 'add_category_tag_schema');
補足:

  • このコードを追加すると、カテゴリー・タグページでJSON-LDの構造化データが自動生成されます。
  • ページネーション対応:必要に応じて全件リストかページごとのListItem出力を選択してください。
  • カスタム投稿タイプやカスタムタクソノミーでも同様に応用可能です。

3 カテゴリー・タグページの構造化データ確認方法

3.1 ブラウザでの確認

  1. カテゴリーまたはタグページにアクセス
    例:https://example.com/category/ニュース/
  2. ページソースを表示
    - Chrome: 右クリック → 「ページのソースを表示」
    - Firefox: 右クリック → 「ページのソースを表示」
  3. JSON-LDスクリプトを探す
    ページ内に <script type="application/ld+json"> が生成されていればOKです。

    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "name": "ニュース",
      "description": "カテゴリの説明文",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "url": "https://example.com/post1/"
        }
      ]
    }
          

4 ポイント

  • is_category() または is_tag() の条件に合致しないページでは出力されません。
  • ページネーションがある場合は、表示中のページの投稿リストのみが出力されます。

5 確認方法

5.1 開発者ツールで確認(Chrome推奨)

  1. ページを開き、F12で開発者ツールを開く
  2. 「Elements」タブで <head> 内に <script type="application/ld+json"> があるか確認
  3. JSONの内容にカテゴリ名や投稿URLが正しく入っているかチェック

5.2 Google用ツールで確認

  1. Google リッチリザルトテスト を開く
  2. カテゴリページのURLを入力
  3. 「テストを実行」
  4. 結果に ItemList が表示されればOK

ポイント:

  • ItemListとして認識されるかが重要
  • エラーや警告が出る場合はJSON-LDの構造を確認する

5.3 サーバー上で直接確認(FTP/SFTP)

  • functions.phpが正しくアップロードされているか
  • 他のプラグインやテーマで wp_head を上書きしていないか

5.4 確認方法のまとめ

方法 確認内容
ページソース <script type="application/ld+json"> があるか
開発者ツール JSON-LDの内容が正しいか
Googleリッチリザルトテスト ItemListとして認識されるか
サーバー functions.phpが正しい場所にあるか

ヒント:

  • ページがキャッシュされている場合はキャッシュを削除して再読み込みすること
  • 投稿が非公開や下書きだとJSON-LDに含まれません

6 完成イメージ

構造化をブラウザでの確認

7 代用プラグイン

  • Yoast SEO:カテゴリー・タグページも自動で構造化データに対応
  • All in One SEO Pack:同様にアーカイブページのJSON-LD出力が可能

8 まとめ

  • カテゴリー・タグページにもItemList形式で構造化データを追加可能
  • functions.phpにコードを追加するだけで自動生成される
  • テーマやCSSに依存せず、検索エンジン向けに最適化できる