WORKS

実績・制作事例

ウェブページに構造化データ埋め込み

【WordPressサイト】カスタムフィールドで構造化データ埋め込み

まずこの話題をする際に
構造化データって何?
ってことだと思いますが、構造化データとその用途については以下の当社サービスページにて記載しているので、ここで詳しい説明は省略します。

LLMO(AIO)
https://kaiza.jp/solutions/llmo/#stdata
 
今回はこの構造化データ(例としてFAQデータ)をWordPressのページに埋め込む方法について、紹介します。

カスタムフィールドを用意し、その登録内容をページに出す

  1. カスタムフィールドの管理に「アドバンストカスタムフィールド」というプラグインを使います。カスタムフィールドを管理するプラグインではNo1だと思いますので、カスタムフィールドをサイトで使っているけど、プラグインはまだインストールしていないという方はこの際インストールしてください。
     
    Advanced Custom Fields
    https://ja.wordpress.org/plugins/advanced-custom-fields/
     
    そして、以下の条件でフィールドを追加します。
    ・フィールドラベル:FAQ構造化データ(任意)
    ・フィールド名:faq_jsonld
    ・フィールドタイプ:リッチエディタ(WYSIWYG)

    ロケーションは自分が管理したい投稿タイプに設定して良いです。
     
    WP REST APIを使って外部からこのフィールドを更新したい場合は、「設定」のところで「REST API で表示」を”ON”にしてください。そうしないとWP REST APIから更新することができません。↓
    REST API で表示

  2. テーマの functions.php に以下のフィルターアクションを追加します。
    // headタグに特にAI向けのFAQ JSON-LDを出す
    add_action('wp_head', function () {
      if (is_singular()) { // すべての投稿タイプ(投稿・固定ページ・カスタム投稿)対象
        $faq_jsonld = get_field('faq_jsonld', get_the_ID(), false);
        if (!empty($faq_jsonld)) {
          echo '<script type="application/ld+json">' . PHP_EOL;
          echo trim($faq_jsonld) . PHP_EOL;
          echo '</script>' . PHP_EOL;
        }
      }
    });
    

    ※ これは wp_head() の場所に出力する設定ですので、テーマのheader.phpなどに

    <?php wp_head(); ?>
    

    の記述があることが前提です。

完成です。
あとは各投稿の「FAQ構造化データ」欄にJSON-LDの構造化データのjson部分を入力すれば、headタグ内など wp_head() がある場所に出てきます。
構造化データを作るのが面倒という方は、ChatGPTにページのURLを投げて「このウェブページのJSON-LDのFAQ構造化データをください」といえば作ってくれると思うので、それをこのカスタムフィールドに貼り付けるだけです。