WordPressに構造化データをプラグインなしで入れる方法|JSON-LDの貼り場所3通りと二重出力の防ぎ方【200サイトの調査つき】
公開日: / 更新日: / カテゴリ: WordPress / 執筆: エラバレル

「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 | 〇〇税理士事務所 |
| ホームページのURL | url | https://example.com/ |
| ロゴ画像のURL | logo | https://example.com/logo.png |
| 店や事務所の写真 | image | https://example.com/shop.jpg |
| 説明文 | description | 〇〇市の税理士事務所。相続税の申告が得意 |
| 電話番号 | telephone | +81-58-000-0000 |
| 住所 | address | 郵便番号・都道府県・市区町村・番地 |
| 営業時間 | openingHoursSpecification | 平日9時〜18時 |
| 公式SNSなどのURL | sameAs | Instagramや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> の中にコードを追加する欄があります。
| テーマ | 場所(目安。テーマの版によって名前が違うことがあります) |
|---|---|
| SWELL | SWELL設定 → 高度な設定 → headタグ内のコード |
| Cocoon | Cocoon設定 → アクセス解析・認証 → ヘッド用コード |
| その他 | テーマの設定の「アクセス解析」「高度な設定」「カスタムコード」などの中 |
ここに貼ると全ページに入りますが、運営者の情報であれば全ページにあっても問題はありません。ただ、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プラグインのように多くの機能を持つものではないので、サイトの重さはほとんど変わりません。
- プラグインを入れ、新しいコードの断片(スニペット)を「HTML」で作る
- 上のJSON-LDを貼る
- 挿入する場所を「サイト全体のヘッダー」にし、表示する条件で「トップページのみ」を選ぶ
- 有効にして保存する
この方法なら、テーマを変えてもコードが残ります。テーマを変える予定がある方にも向いています。
二重出力を防ぐ
調査では、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にする |
メモ帳やワープロでコードを書くと、引用符が自動で全角や飾りつきの記号に変わることがあります。コードを書くときは、ツールで作るか、テキストエディターを使ってください。
入れたあとの確認
- Googleの「リッチリザルト テスト」にトップページのURLを入れる
- 「ローカル ビジネス」または「組織」が検出され、エラーがないことを確認する
- 検出された項目を開いて、住所・電話番号・説明文などが入っているかを見る
キャッシュ系のプラグインを使っている場合は、キャッシュを消してから確認します。リッチリザルト テストで検出されない型もあるので、その場合は「スキーマ マークアップ検証ツール」(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項目の判定と、それぞれの理由を無料で確認できます。
自分のサイトを、無料で診断する参考にした資料
- 組織(Organization)の構造化データ(Google 検索セントラル)
- 構造化データの仕組みについて(Google 検索セントラル)
- wp_json_encode()(WordPress Developer Resources)
調査の方法:2026年9〜10月、選ばれるAI診断で診断した7業種の公式サイト816件のトップページを取得し、HTMLの中の目印からSEOプラグインを判定したうえで、JSON-LDの構造化データを解析しました。WordPressとそれ以外の平均点、運営者の構造化データが不足していた割合は、2026年10月2日に見直した採点基準で再診断した結果(22業種2,296件、重複を除く)です。個別のサイト名は公開していません。