熊本ホームページ制作・Webマーケティング・SEO対策・MEO対策・GEO対策・Webデザイン・パンフレット・ロゴ・名刺・動画制作・広告運用・コーディング代行・オリジナルアパレル・グッズ制作は株式会社CREVIAへ

5F Shimotori Building
1-12-27 Shimotori Chuo-ku
Kumamoto-shi Kumamoto
860-0807 Japan

News

お知らせ

WordPressで構造化マークアップを設定する方法|プラグインでできること・できないこと、手動JSON-LD実装の手順まで解説

「WordPressで構造化マークアップを設定したいが、プラグインで全部できるのか手動作業が必要なのかわからない」「header.phpを触るのが不安」「どこにコードを貼ればいいのかわからない」

この記事では、WordPressで構造化マークアップを設定する方法を、プラグイン対応と手動JSON-LD実装に分けて具体的な手順で解説します。コードが苦手な方でも迷わず進められるよう、画面の操作手順・貼り付け場所・注意点までまとめています。

この記事でわかること

  • WordPressプラグイン(Yoast SEO・RankMath)で対応できるタイプとできないタイプ
  • Yoast SEO・RankMathでの構造化データの設定手順
  • 手動JSON-LD実装の3つの方法と使い分け
  • header.phpへの安全な追記手順(子テーマの使い方)
  • カスタムHTMLブロックを使った記事・固定ページへの追加方法
  • プラグイン経由でheadタグに挿入する方法
  • 実装後の確認方法とよくあるミス

1. まず確認|プラグインでできること・できないことの全体像

― 「プラグインで全部できる」は誤解。まずここを理解する ―

WordPressで構造化マークアップを実装する方法は大きく2つあります。①SEOプラグインの設定画面から行う方法と、②JSON-LDコードを手動で記述する方法です。多くの方が「プラグインを入れれば全部対応できる」と思いがちですが、プラグインでカバーできるタイプは限られています。

構造化データのタイプ Yoast SEO RankMath 手動実装
Article(記事・ブログ) ◎自動 ◎自動 △不要
BreadcrumbList(パンくず) ◎自動 ◎自動 △不要
FAQPage(よくある質問) ○ブロック ○ブロック ○推奨
WebSite・WebPage ◎自動 ◎自動 △不要
LocalBusiness(店舗・会社) ✕非対応 △一部のみ ◎必須
Product(商品) ✕非対応 ○設定あり ◎必須
Event(イベント) ✕非対応 ✕非対応 ◎必須
JobPosting(採用情報) ✕非対応 ✕非対応 ◎必須
HowTo(手順) ✕非対応 ○設定あり ◎必須
LocalBusiness・Event・JobPostingはプラグイン非対応。手動実装が必須

来店型ビジネス・イベント開催・採用情報掲載など、多くの中小企業に必要なタイプがプラグインでカバーされていません。「プラグインを設定した=完了」ではなく、必要なタイプに合わせた手動実装を組み合わせることが重要です。

2. Yoast SEOでの構造化データ設定手順

― 自動出力される設定と手動で補う設定を理解する ―

STEP 1|組織情報(Organization)の設定

Yoast SEOはインストールするだけでWebSite・WebPage・BreadcrumbList・Articleを自動出力しますが、会社・組織の情報は手動で入力する必要があります。

操作手順:
WordPress管理画面 → 「SEO」(Yoastメニュー) → 「設定」「サイトの表現」
① 「組織」を選択
② 組織名・ロゴ画像を入力
③ ソーシャルプロフィール(Instagram・X等)のURLを入力
④ 「変更を保存」をクリック

STEP 2|FAQブロックの追加(Yoast FAQ Block)

Yoast SEOを有効化すると、Gutenbergエディターに「Yoast FAQ Block」が追加されます。このブロックを使ってFAQを追加すると、自動でFAQPageの構造化データが出力されます。

操作手順:
記事・固定ページの編集画面 → ブロック追加(+ボタン) → 「Yoast FAQ」を検索・選択
① 質問文と回答文を入力
② 質問を追加したい場合は「質問を追加」をクリック
③ 更新・公開するとFAQPageの構造化データが自動出力される
注意:Yoast FAQブロックで作成したFAQはページ上にも表示されます。「構造化データだけ入れてページには表示したくない」という使い方はできません。ページ内容と一致している必要があるため、これは正しい仕様です。

STEP 3|各記事のスキーマタイプの設定

Yoast SEOでは、記事・固定ページごとにスキーマタイプを個別に設定できます。

操作手順:
記事・固定ページの編集画面 → 右サイドバーの「Yoast SEO」パネル → 「スキーマ」タブ
① 「このページは何ですか?」でページタイプを選択(WebPageなど)
② 「このコンテンツは何ですか?」でコンテンツタイプを選択(Article・FAQPageなど)
③ 変更を保存

3. RankMathでの構造化データ設定手順

― Yoast SEOより設定項目が多く、スキーマ管理がしやすい ―

STEP 1|基本設定(一般設定)

操作手順:
WordPress管理画面 → 「Rank Math」「一般設定」「ローカルSEO」
① ビジネスタイプを選択(LocalBusiness・Organization等)
② 会社名・住所・電話番号・営業時間を入力
③ ロゴ画像を設定
④ 「変更を保存」をクリック
ポイント:RankMathのローカルSEO設定はYoast SEOより詳細で、営業時間・サービスエリアなどLocalBusiness的な情報を設定できます。ただし完全なLocalBusiness実装には手動JSON-LDとの組み合わせを推奨します。

STEP 2|スキーマジェネレーターでの設定

RankMathには各記事・固定ページに対してスキーマを追加できる「スキーマジェネレーター」機能があります。

操作手順:
記事・固定ページの編集画面 → 右サイドバーの「Rank Math」パネル → 「スキーマ」タブ → 「スキーマジェネレーター」をクリック
① 追加したいスキーマタイプを選択(FAQ・HowTo・Product等)
② 各フィールドに情報を入力
③ 「スキーマを保存」をクリック

STEP 3|FAQブロックの追加(RankMath FAQ Block)

操作手順:
記事・固定ページの編集画面 → ブロック追加 → 「Rank Math FAQ Block」を選択
① 質問文と回答文を入力(HTMLタグも使用可)
② ブロック設定でリストスタイルを選択
③ 更新・公開するとFAQPageの構造化データが自動出力される

4. 手動JSON-LD実装|方法A:header.phpへの追記

― 全ページ共通のスキーマ(Organization等)に適した方法 ―

全ページに共通して出力したい構造化データ(OrganizationやWebSiteなど)は、テーマのheader.phpに追記することで全ページに一括適用できます。ただし必ず子テーマを使用してください。

【重要】子テーマを使わないと上書きされる

親テーマのheader.phpを直接編集すると、テーマをアップデートした際に変更内容が消えてしまいます。以下の手順で子テーマを作成・有効化してから作業してください。

子テーマの作成手順(最短手順):
① WordPress管理画面 → 「外観」→「テーマ」→「新しいテーマを追加」
② 「Child Theme Configurator」プラグインをインストール・有効化
③ ツール → Child Themes → 親テーマを選択 → 子テーマを作成
④ 外観 → テーマ → 子テーマを「有効化」

header.phpへのJSON-LD追記手順

操作手順:
WordPress管理画面 → 「外観」→「テーマファイルエディター」
① 右側の「テーマファイル」から子テーマのheader.phpを選択
</head> タグを探す
③ </head> の直前にJSON-LDの<script>タグを貼り付ける
④ 「ファイルを更新」をクリック
<!-- この直前に貼り付ける -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "会社名",
  "url": "https://example.com"
}
</script>
</head>

テーマファイルエディターが表示されない場合

セキュリティプラグインやwp-config.phpの設定によってテーマファイルエディターが無効化されている場合があります。その場合はFTPソフト(FileZillaなど)またはレンタルサーバーのファイルマネージャーから直接ファイルを編集してください。

5. 手動JSON-LD実装|方法B:カスタムHTMLブロックへの追記

― 特定ページのみに使うスキーマに最適・最も手軽な方法 ―

特定の記事・固定ページだけに適用したい構造化データ(そのページ固有のFAQ・Event・Productなど)は、GutenbergエディターのカスタムHTMLブロックを使って追記するのが最も手軽で安全な方法です。テーマファイルを触る必要がありません。

カスタムHTMLブロックへの追記手順

操作手順:
記事・固定ページの編集画面 → ブロック追加(+ボタン) → 「カスタムHTML」を選択
① ブロック内にJSON-LDの<script>タグごと貼り付ける
② ブロックは記事の末尾(FAQセクションの後など)に配置する
③ 更新・公開する
<!-- カスタムHTMLブロックに貼り付ける内容 -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "質問文",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "回答文"
      }
    }
  ]
}
</script>

カスタムHTMLブロックが適しているケース
記事ごとに異なるFAQ / 特定ページのみのイベント情報 / 商品ページのProduct情報 / ページ固有のHowTo
注意点
カスタムHTMLブロックはページのbodyタグ内に出力されます。headタグへの挿入が推奨される一部のスキーマでは方法Aまたは方法Cを使用してください。

6. 手動JSON-LD実装|方法C:プラグイン経由でheadタグに挿入

― テーマファイルを触らずにheadタグに追加できる最も安全な方法 ―

「header.phpを触るのは怖い」「子テーマの作成が手間」という場合は、「Head, Footer and Post Injections」などのプラグインを使うことで、テーマファイルを変更せずにheadタグへJSON-LDを挿入できます。

「Head, Footer and Post Injections」を使った手順

操作手順:
① WordPress管理画面 → プラグイン → 「Head, Footer and Post Injections」をインストール・有効化
② 設定 → 「Header and Footer」を開く
「HEAD」欄にJSON-LDの<script>タグを貼り付ける
④ 「Save」をクリック
ポイント:この方法ではテーマのアップデートによる上書きリスクがなく、コードを一箇所で管理できます。全ページ共通のOrganization・WebSiteスキーマの挿入に最適です。

3つの方法の使い分けまとめ

方法 適したスキーマ 難易度 安全性
A:header.php編集 全ページ共通(Organization等) 子テーマ必須
B:カスタムHTMLブロック ページ固有(FAQ・Event等) 低(簡単)
C:プラグイン経由 全ページ共通(headタグ挿入) 低(簡単)

7. 実装後の確認方法とよくあるミス

― 「貼り付けた」だけで終わりにしない。必ず検証する ―

実装後の確認手順

① リッチリザルトテストで確認
GoogleリッチリザルトテストにURLを入力 → エラー・警告がないかを確認 → 対応するリッチリザルトの種類を確認
② Search Consoleでクロールをリクエスト
Search Console → URL検査 → 対象ページのURLを入力 → 「インデックス登録をリクエスト」をクリック → Googleのクロールを促す
③ Search Consoleの拡張レポートで確認
Search Console → 「拡張」セクション → 各タイプ別のエラー数・有効数を確認 → エラーがあれば内容を確認して修正

WordPressでよくある実装ミス5選

① Yoast SEOとRankMathを同時に有効化している
同じタイプの構造化データが重複出力され、Googleに正しく認識されません。SEOプラグインは必ず1つだけ有効化してください。
② JSON-LDのカンマや括弧が抜けている
JSON形式はカンマ・波括弧・角括弧の一つが欠けるだけでエラーになります。リッチリザルトテストで必ず検証してください。
③ ページ内容と構造化データの内容が一致していない
FAQPageに記述した質問・回答がページ上に表示されていないとガイドライン違反になります。構造化データはページ内容を「要約・補足」するものです。
④ 親テーマのheader.phpを直接編集した
テーマのアップデートで上書きされ、追記したJSON-LDが消えてしまいます。必ず子テーマを使用してください。
⑤ 実装後に確認をしていない
「貼り付けた」だけで確認しないと、エラーが出ていてもリッチリザルトが表示されないまま気づかないケースが多いです。必ずリッチリザルトテストで確認してください。

8. CREVIAの構造化マークアップ実装サービス

― 設定が不安・手間をかけたくない方はプロにお任せください ―

「手順はわかったが自分でやるのは不安」「LocalBusinessやEventなど手動実装が必要なタイプを正確に設定してほしい」という場合は、CREVIAにお任せください。WordPressへの実装から検証・エラー対応まで一括対応します。

既存WordPressサイトへの後付け実装
現在のサイト環境を確認し、プラグイン設定+手動JSON-LDで必要なタイプをすべて実装。実装後の検証・エラー対応まで含みます。
ホームページ制作とセットでの実装
制作段階からSEO設計と一体で構造化マークアップを組み込むため、後付けより効率的・高品質な実装が可能です。
SEO・GEO対策との一気通貫対応
構造化マークアップの実装をSEO対策・GEO対策(AI検索最適化)と組み合わせた戦略設計から対応します。

「自社のWordPressサイトに正しく実装されているか確認してほしい」

現状のサイトで構造化データが正しく出力されているか・不足しているタイプがないかを無料で確認します。

▶ 無料相談・お問い合わせはこちら

9. よくある質問(FAQ)

Q. Yoast SEOとRankMathはどちらがおすすめですか?
どちらも構造化データの基本タイプには対応しており、機能的な差はほとんどありません。すでにどちらかを使用しているなら切り替える必要はありません。新規導入であればRankMathの方が構造化データの設定項目がやや多く、無料プランでも使いやすい傾向があります。ただしLocalBusiness・Product・Eventなどの詳細タイプはどちらのプラグインでも手動実装が必要です。

Q. header.phpを編集すると危険ですか?
親テーマのheader.phpを直接編集すると、テーマのアップデート時に上書きされて消えてしまうリスクがあります。必ず「子テーマ」を作成してから編集してください。また作業前にはバックアップを取ることを強くおすすめします。不安な場合はプラグイン(Head, Footer and Post Injections等)を使ってheadタグに挿入する方法が安全です。

Q. カスタムHTMLブロックとheader.phpへの追記はどう使い分けますか?
全ページ共通で使いたいスキーマ(OrganizationやWebSiteなど)はheader.phpまたはプラグイン経由でheadタグに挿入します。特定のページのみに使うスキーマ(そのページのFAQ・Event・Productなど)は、そのページの編集画面でカスタムHTMLブロックに追記します。この使い分けが最も管理しやすく、Googleにも正確に伝わります。

Q. 複数のプラグインが構造化データを出力している場合、競合しますか?
複数のプラグインが同じタイプの構造化データを出力すると、重複や競合が起きてGoogleに正しく認識されないリスクがあります。たとえばYoast SEOとRankMathを同時に有効化するのはNGです。使用するSEOプラグインは1つに絞り、手動実装するタイプとプラグインが出力するタイプが重複しないよう管理することが重要です。

Q. 実装後にどうやって正しく設定できているか確認しますか?
GoogleのリッチリザルトテストにページのURLを入力することで、構造化データが正しく認識されているか・エラーがないかをすぐに確認できます。また、Google Search Consoleの「拡張」セクションでサイト全体のタイプ別エラー数・有効ページ数を継続的に監視できます。実装後は必ずこの2つのツールで確認してください。

構造化マークアップの実装・ご相談はCREVIAへ

「自分で設定したが正しくできているか不安」「LocalBusinessやEventなど手動実装が必要なタイプをお任せしたい」「SEO対策・GEO対策とまとめて依頼したい」など、どの段階でもお気軽にご相談ください。

▶ 無料相談・お問い合わせはこちら

熊本・全国対応|構造化マークアップ・SEO対策・GEO対策・ホームページ制作

株式会社CREVIA|構造化マークアップ・SEO対策・GEO対策・ホームページ制作|熊本・全国対応

熊本から全国へ。検索対策・AI検索対策・ホームページ制作を一気通貫でご支援します。