選ばれるAI診断

WordPressに構造化データをプラグインなしで入れる方法|JSON-LDの貼り場所3通りと二重出力の防ぎ方【200サイトの調査つき】

公開日: / 更新日: / カテゴリ: WordPress / 執筆: エラバレル

WordPressに構造化データをプラグインなしで入れる方法|JSON-LDの貼り場所3通りと二重出力の防ぎ方【200サイトの調査つき】

「SEOプラグインを入れるとサイトが重くなりそうで、使っていない」「テーマに機能がそろっているので、プラグインは増やしたくない」。そんな方からよく聞かれるのが、構造化データはプラグインなしで入れられるのか、という質問です。

先に結論をお伝えします。WordPressに構造化データ(JSON-LD)を入れるのに、SEOプラグインは必須ではありません。**会社や店の情報をまとめたJSON-LDを1つ作り、トップページの <head> に入れる**だけで、AIや検索エンジンに運営者の情報を伝えられます。

選ばれるAI診断の調査では、SEOプラグインを使っていないWordPressの200サイトのうち、運営者の構造化データがあったのは34%、情報が十分だったのは6%だけでした。逆に言えば、コードを1つ入れるだけで、ほかのサイトより一歩先に進めます。

この記事では、貼るコードの用意から、3通りの貼り方、テーマやSEOプラグインとの「二重出力」の防ぎ方、よくある失敗、入れたあとの確認までを順番に説明します。

この記事でわかること

  • 構造化データ(JSON-LD)とは何か、なぜAI検索に関係するのか
  • SEOプラグインなしのWordPress200サイトの、構造化データの実態
  • 貼るコードの作り方と、用意しておく情報
  • 貼る場所3通り(テーマの設定欄・functions.php・コード挿入用プラグイン)の手順
  • テーマやSEOプラグインとの二重出力の防ぎ方
  • よくある失敗と、入れたあとの確認方法

構造化データ(JSON-LD)とは? プラグインなしで入れる前に知っておくこと

構造化データとは、ページに書かれている情報を、検索エンジンやAIが間違いなく読み取れるように、決まった書式で書き添えたものです。人間が読む本文とは別に、「この会社の名前は〇〇、住所は〇〇、電話番号は〇〇」と機械向けに伝えます。

書き方にはいくつか種類がありますが、Googleがすすめているのが JSON-LD(ジェイソン・エルディー) です。<script type="application/ld+json"> というタグの中に、項目と値を並べて書きます。本文のHTMLに手を加えずに、まとめて1か所に書けるのが特長です。

用語意味
構造化データページの情報を、機械が読み取れる書式で書いたもの
JSON-LD構造化データの書き方の一つ。Googleがすすめている
schema.org構造化データで使う「型」と「項目」の名前を決めている共通の辞書
LocalBusiness / Organization店・事務所/会社を表す型

AI検索との関係でいうと、構造化データは「このサイトを運営しているのは誰か」をはっきり伝える手段です。ChatGPTやAIによる概要が、店や会社を紹介するときの材料になります。

SEOプラグインがやっていることは、コードの自動出力

Yoast SEOやRank Mathなどのプラグインは、設定画面に入力した会社名や住所をもとに、JSON-LDを自動で作って出力しています。つまり、同じコードを自分で書いて貼れば、構造化データについてはプラグインと同じことができます。

SEOプラグインを使わない理由はさまざま

SEOプラグインを使っていないサイトには、次のような事情があります。

  • テーマに、タイトルや説明文を設定する機能がついている
  • 制作会社が作ったサイトで、プラグインを増やせない
  • プラグインが多くなると、更新の手間や不具合が心配
  • 必要なのは運営者の構造化データだけなので、大きなプラグインは要らない

どの理由でも、構造化データだけなら、この記事の方法で十分に対応できます。

SEOプラグインなしのWordPressは、どうなっているか

選ばれるAI診断は2026年9〜10月に、7業種の公式サイト816件を調べました。そのうちWordPressは491件で、SEOプラグインを使っていないサイトが200件ありました。

SEOプラグインなしのWordPress(200件)の状態

  • 構造化データがあるのは44%(WordPress全体では70%)
  • 運営者の構造化データがあるのは34%(全体では60%)
  • 運営者の情報が十分(6種類中5種類以上)なのは6%(全体では11%)
  • 運営者の構造化データが2つ以上出ているのは11%(全体では14%)
状態SEOプラグインなしのWordPress(200件)WordPress全体(491件)
構造化データがある44%70%
運営者の構造化データがある34%60%
運営者の情報が十分(6種類中5種類以上)6%11%
運営者の構造化データが2つ以上出ている11%14%

SEOプラグインを使っていないサイトでも、44%には構造化データがありました。出しているのはテーマです。ただ、テーマが出す運営者の情報はサイト名・URL・ロゴ程度で、住所や電話番号、説明文までそろっているサイトはわずかでした。

その後、2026年10月2日に見直した採点基準で22業種・2,296サイトを再診断したところでも、運営者の情報が構造化データに十分入っていないサイトは97%にのぼりました。WordPressのサイト(1,134件)の平均点は58.9点で、それ以外のサイト(1,162件)の49.5点より高かったものの、運営者の構造化データは、WordPressかどうかに関係なく多くのサイトで足りていません。

逆に言えば、必要な情報をまとめたコードを1つ入れるだけで、上位1割の状態にできます。

入れるコードを用意する

まず、貼るコードを作ります。店・事務所なら LocalBusiness(業種の型があればそれ)、場所を持たない会社なら Organization です。業種ごとの型(歯科医院なら Dentist、美容室なら HairSalon など)はLocalBusinessの業種別の型の記事で一覧にしています。

先に用意しておく情報

項目JSON-LDでの名前例
正式名称name〇〇税理士事務所
ホームページのURLurlhttps://example.com/
ロゴ画像のURLlogohttps://example.com/logo.png
店や事務所の写真imagehttps://example.com/shop.jpg
説明文description〇〇市の税理士事務所。相続税の申告が得意
電話番号telephone+81-58-000-0000
住所address郵便番号・都道府県・市区町村・番地
営業時間openingHoursSpecification平日9時〜18時
公式SNSなどのURLsameAsInstagramやFacebookのページ

ロゴや写真は、WordPressの「メディア」にアップロードして、そのURLをコピーしておくと便利です。

コードの見本

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://example.com/#business",
  "name": "〇〇",
  "url": "https://example.com/",
  "logo": "https://example.com/logo.png",
  "image": "https://example.com/shop.jpg",
  "description": "〇〇市の〇〇。〇〇を得意としています。代表は〇〇。",
  "telephone": "+81-58-000-0000",
  "address": {
    "@type": "PostalAddress",
    "postalCode": "500-0000",
    "addressRegion": "岐阜県",
    "addressLocality": "岐阜市",
    "streetAddress": "〇〇町1-2-3",
    "addressCountry": "JP"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "09:00",
    "closes": "18:00"
  }],
  "sameAs": ["https://www.instagram.com/〇〇/"]
}
</script>

入力欄に書き込むだけでこのコードを作れるツールを用意しています。書き間違い(全角の引用符や、最後の余分なカンマ)を防げるので、手で書くより確実です。

構造化データ作成ツールを使う(無料)

各項目の書き方はLocalBusinessの構造化データの書き方の記事で、会社向けはOrganizationの構造化データの書き方の記事で説明しています。営業時間のパターン(昼休み・土曜だけ短いなど)は営業時間の書き方の記事をご覧ください。

説明文(description)の書き方の例

よくない例:「お客様に寄り添うサービスを提供しています。」
よい例:「岐阜市の税理士事務所。法人・個人の顧問と相続税の申告が中心。代表は税理士の〇〇(〇〇税理士会所属)。平日9時〜18時、土曜は予約制で相談に対応。」
どこで・何を・誰が、が分かる文にすると、AIが紹介するときにそのまま使いやすくなります。

貼る場所は3通り

方法難しさトップページだけに入れられるか注意
1. テーマの「head内にコードを追加」する欄やさしい多くは全ページに入るテーマを変えると消える
2. functions.php に書くふつうできる子テーマで。書き間違えるとサイトが表示されなくなる
3. コードを貼るための小さなプラグイン(WPCode など)やさしいできるSEOプラグインではないので、重さはほとんど変わらない

迷ったら、テーマに設定欄があれば方法1、なければ方法3がおすすめです。方法2は、PHPのファイルを直接触ることに慣れている方向けです。

方法1:テーマの設定欄に貼る

多くのテーマには、<head> の中にコードを追加する欄があります。

テーマ場所(目安。テーマの版によって名前が違うことがあります)
SWELLSWELL設定 → 高度な設定 → headタグ内のコード
CocoonCocoon設定 → アクセス解析・認証 → ヘッド用コード
その他テーマの設定の「アクセス解析」「高度な設定」「カスタムコード」などの中

ここに貼ると全ページに入りますが、運営者の情報であれば全ページにあっても問題はありません。ただ、Googleは「トップページか会社概要のページに置けば十分」と説明しています。

Googleアナリティクスなどのコードがすでに入っている欄なら、そのコードの下に改行して貼ります。既存のコードを消さないように注意してください。

方法2:functions.php に書く

トップページだけに出したい場合は、子テーマの functions.php に次のように書きます。親テーマの functions.php に書くと、テーマを更新したときに消えるので、必ず子テーマに書いてください。

add_action( 'wp_head', function () {
    if ( ! is_front_page() ) {
        return;
    }
    $data = array(
        '@context' => 'https://schema.org',
        '@type'    => 'LocalBusiness',
        '@id'      => home_url( '/#business' ),
        'name'     => '〇〇',
        'url'      => home_url( '/' ),
        'telephone' => '+81-58-000-0000',
        'address'  => array(
            '@type'           => 'PostalAddress',
            'postalCode'      => '500-0000',
            'addressRegion'   => '岐阜県',
            'addressLocality' => '岐阜市',
            'streetAddress'   => '〇〇町1-2-3',
            'addressCountry'  => 'JP',
        ),
    );
    echo '<script type="application/ld+json">' . wp_json_encode( $data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>' . "\n";
} );

PHPの配列で組み立てて wp_json_encode で出力すると、引用符やカンマの書き間違いが起きません。is_front_page() は「トップページのときだけ」という条件です。会社概要のページにも出したい場合は、条件を変えて使います。

functions.php を編集する前に、必ずバックアップを

functions.php を書き間違えると、サイトが真っ白になったり、管理画面に入れなくなったりすることがあります。編集の前に、レンタルサーバーのファイル管理画面やFTPで元のファイルを保存しておき、問題が起きたらすぐ戻せるようにしてください。管理画面の「テーマファイルエディター」で直接編集するより、ファイルをダウンロードして直し、アップロードし直すほうが安全です。

方法3:コードを貼るための小さなプラグインを使う

「WPCode」などのコード挿入用のプラグインを使うと、管理画面から、表示するページを選んでコードを入れられます。SEOプラグインのように多くの機能を持つものではないので、サイトの重さはほとんど変わりません。

  1. プラグインを入れ、新しいコードの断片(スニペット)を「HTML」で作る
  2. 上のJSON-LDを貼る
  3. 挿入する場所を「サイト全体のヘッダー」にし、表示する条件で「トップページのみ」を選ぶ
  4. 有効にして保存する

この方法なら、テーマを変えてもコードが残ります。テーマを変える予定がある方にも向いています。

二重出力を防ぐ

調査では、WordPressのサイトの14%で、運営者の構造化データが2つ以上出ていました。テーマ・SEOプラグイン・自分で貼ったコードが、それぞれ運営者の情報を出しているためです。

2つ出ていること自体はエラーではありません。問題は、中身が食い違っているときです。店名の表記やURLが違うと、AIはどちらが正しいのか判断できません。

状況対処
テーマが Organization(名前・URL・ロゴ)を出している自分のコードの name・url・logo を、テーマの設定と同じにする。テーマ側を止められるなら止める
SEOプラグインも使っているSEOプラグインの組織の設定を埋めるのが先。足りない住所・営業時間だけ自分のコードで足し、parentOrganization でつなぐ
同じコードを2か所に貼ってしまった1か所だけにする

自分のサイトで何が出ているかは、ブラウザでページのソースを表示して(Windowsなら Ctrl + U)、ld+json を検索すると分かります。検索で見つかった数が、出ている構造化データの数です。

大事なのは「数」より「中身がそろっていること」

運営者の情報が2つあっても、名前・URL・住所が同じなら、AIは同じ会社の情報として受け取れます。食い違いがないかを確かめるのが先で、無理に1つにまとめる必要はありません。

よくある失敗と直し方

自分でコードを貼ったときに、よくある失敗です。

よくある失敗起きること直し方
引用符が全角(")になっているコードが読まれない半角の " に直す。ツールで作ると防げる
最後の項目のあとにカンマがあるコードが読まれない最後の項目のカンマを消す
<script> のタグごと貼るべき欄に、中身だけ貼った画面に文字が表示されてしまう<script type="application/ld+json"> から </script> までを貼る
記事の本文に貼ったら、文字が表示された本文にコードが見えてしまう本文ではなく、テーマの設定欄か方法3で入れる
電話番号や住所が、ページの本文と違うAIがどちらを信じるか迷う本文・構造化データ・Googleビジネスプロフィールをそろえる
ロゴのURLが http のまま画像が読まれないことがあるhttps のURLにする

メモ帳やワープロでコードを書くと、引用符が自動で全角や飾りつきの記号に変わることがあります。コードを書くときは、ツールで作るか、テキストエディターを使ってください。

入れたあとの確認

  1. Googleの「リッチリザルト テスト」にトップページのURLを入れる
  2. 「ローカル ビジネス」または「組織」が検出され、エラーがないことを確認する
  3. 検出された項目を開いて、住所・電話番号・説明文などが入っているかを見る

キャッシュ系のプラグインを使っている場合は、キャッシュを消してから確認します。リッチリザルト テストで検出されない型もあるので、その場合は「スキーマ マークアップ検証ツール」(validator.schema.org)で確かめます。確認のしかたは構造化データの確認方法の記事で、入れたのに反映されないときは構造化データが反映されないときの記事で詳しく説明しています。

入れたあとのチェックリスト

  • リッチリザルト テストで、エラーが出ていない
  • 名前・URL・ロゴが、テーマやSEOプラグインの設定と同じ
  • 住所・電話番号が、会社概要のページの本文と同じ
  • 説明文に、地域・業種・得意なことが入っている
  • ページのソースで ld+json を検索し、意図しないコードが残っていない

運営者の6種類の情報がいくつ入っているかは、選ばれるAI診断でも確かめられます。URLを入れるだけで、22項目の判定と理由を無料で確認できます。

自分のサイトを、無料で診断する

よくある質問

SEOプラグインを使わないと、SEOに不利ですか?

構造化データについては、自分でコードを入れれば同じことができます。ただ、SEOプラグインにはタイトル・説明文・サイトマップ・noindexなどの設定もあるので、それらを別の方法で管理できるかで判断してください。サイトマップは、WordPressに標準で付いている機能でも出せます(WordPressのサイトマップの記事)。

全部のページに入れる必要はありますか?

運営者の情報は、トップページか会社概要のページに1つあれば十分です。記事のページには、記事の構造化データ(BlogPosting など)を入れることがありますが、小さな会社のサイトでは必須ではありません。

functions.php を編集してサイトが表示されなくなったら、どうすればいいですか?

FTPやレンタルサーバーのファイル管理画面から、編集前の functions.php に戻してください。今後は、方法1か方法3を使うほうが安全です。

あとからSEOプラグインを入れたら、どうなりますか?

SEOプラグインも運営者の構造化データを出すので、二重出力になります。プラグインの組織の設定を埋めたうえで、自分で貼ったコードを外すか、足りない項目だけを残してください。名前・URL・ロゴの表記は必ずそろえます。

よくある質問の構造化データも、プラグインなしで入れられますか?

入れられます。同じように JSON-LD を作り、そのページだけに出します。ただ、よくある質問の構造化データは、Googleの検索結果での特別な表示の対象が限られているので、まずは本文に質問と答えを書くことが大事です。詳しくはよくある質問の構造化データの記事をご覧ください。

ホームページ作成サービス(Wix・ジンドゥーなど)でも同じですか?

考え方は同じで、運営者の情報をまとめた JSON-LD を、サイト全体の <head> に入れられる設定欄があれば使えます。サービスごとの違いはホームページ作成サービスの比較の記事でまとめています。

まとめ

SEOプラグインなしで、WordPressに構造化データを入れるポイントをまとめます。

この記事のまとめ

  • WordPressの構造化データは、SEOプラグインなしでも入れられる。運営者の情報をまとめたJSON-LDを1つ、トップページに入れる
  • SEOプラグインなしのWordPress200件では、運営者の構造化データがあったのは34%、十分だったのは6%
  • 22業種・2,296サイトの再診断でも、運営者の情報が構造化データに十分入っていないサイトは97%だった
  • 入れる場所は、テーマの設定欄・子テーマの functions.php・コード挿入用の小さなプラグインの3通り
  • テーマやSEOプラグインも運営者の情報を出していることが多い。名前・URL・ロゴをそろえて、食い違いをなくす
  • 入れたら、リッチリザルト テストでエラーがないか、中身が本文と同じかを確かめる

まずは、自分のサイトにどんな構造化データが出ているかを確かめてください。選ばれるAI診断なら、URLを入れるだけで、22項目の判定と、それぞれの理由を無料で確認できます。

自分のサイトを、無料で診断する

参考にした資料

調査の方法:2026年9〜10月、選ばれるAI診断で診断した7業種の公式サイト816件のトップページを取得し、HTMLの中の目印からSEOプラグインを判定したうえで、JSON-LDの構造化データを解析しました。WordPressとそれ以外の平均点、運営者の構造化データが不足していた割合は、2026年10月2日に見直した採点基準で再診断した結果(22業種2,296件、重複を除く)です。個別のサイト名は公開していません。