構造化データ(JSON-LD)は、入れた日がいちばん正確です。テーマの更新、プラグインの入れ替え、翻訳の追加が積み重なると、見えている本文と JSON-LD の内容がずれていきます。画面に出ないので、壊れても誰も気づきません。
この記事では、構造化データを壊れないように保つ仕組みを整理します。書き方の入門ではなく、「誰が、いつ、何で、ずれに気づくか」が中心です。公開前の品質チェック全体は「記事更新の自動化は「品質ゲート」で決まる」、検索の数字の監視は「Search Console と GA4 の定点観測を自動化する」、2言語の翻訳と hreflang の運用は「日英2言語サイトの翻訳と更新を自動化する」で扱いました。ここでは構造化データだけに絞ります。
この記事が主に根拠にした情報:Google 検索セントラルの構造化データのガイドラインと更新履歴、2023〜2025年の公式ブログ、Search Console ヘルプ、Schema.org のリリース情報、W3C の JSON-LD 1.1、HTTP Archive の Web Almanac 2024。いずれも2026年10月28日に確認しました。
| この記事で分かること | 答えの要点 |
|---|---|
| 何が変わったのか | リッチリザルトは2023年から縮小。FAQ は2026年5月に終了(第1章・第4章) |
| どう壊れるのか | テンプレート・欠落・不一致・廃止・多言語の5つの型(第3章) |
| どう作れば壊れにくいか | 本文と同じデータからテンプレートで生成(第5章) |
| 何を自動で確かめるか | CI で4段、公開後は Search Console(第6〜7章) |
| 多言語と AI 検索はどうするか | inLanguage と hreflang をそろえる、特別な対応は不要(第8〜9章) |
| 費用と頻度 | 3段階で月0〜150ユーロ前後、点検は毎回・毎週・毎月・四半期(第11〜12章) |
1. いま何が起きているか:リッチリザルトは減り、構造化データは残った
この3年でいちばん大きく変わったのは、Google が検索結果を簡素にする方針をとり、リッチリザルト(星や手順などがついた特別な表示)の種類を減らし続けていることです。
FAQ と HowTo の縮小から始まった
2023年8月8日、Google は FAQ のリッチリザルトを「よく知られた、権威のある政府・保健のサイト」に限ると発表しました。HowTo は同年9月13日にパソコンでも表示されなくなり、廃止されました。Google は同時に、使われていない構造化データは検索に問題を起こさないので、急いで消す必要はないと書いています。
2025年に7種、2026年に FAQ
2025年6月12日の公式ブログは、Course Info、ClaimReview、Learning Video など7種を段階的に終えると発表しました。理由は利用が少なく、価値が大きくなくなったことで、順位には影響せず、検索以外での使い方にも影響しないと明記しています。Practice problem の文書は2026年1月6日に削除され、FAQ のリッチリザルトは2026年5月7日から表示されなくなりました(文書は6月15日に削除)。
一方で、構造化データを使う場所は広がった
表示が減った一方で、構造化データそのものの利用は増えています。HTTP Archive の Web Almanac 2024 によると、JSON-LD を使うページは2022年の34%から2024年の41%に増えました。FAQ のリッチリザルトが縮小したあとも、パソコンの FAQPage の利用は0.2%から0.6%に増えています。表示されなくなった型が、そのまま残っているサイトが多いということです。
RDFa の利用率が高いのは、SNS 向けの Open Graph(64%)が RDFa として数えられるためです。Google が推奨するのは JSON-LD で、この記事も JSON-LD を前提にします。なお表示が終わった型は、少し遅れて Search Console のレポートと検証ツールからも消えます。レポートから消えたことを「エラーが直った」と読み違えないことが、保守の最初の注意点です。
2. 構造化データの保守とは何か:書くことより、ずれないこと
構造化データの保守とは、JSON-LD に書かれた内容が、いつも正しく、本文と一致している状態を保つ作業です。新しい型を足す作業ではありません。
なぜ、放っておくと壊れるのか
構造化データは、本文とは別の場所(多くは head の中の script 要素)に書かれます。本文を直す人は JSON-LD を見ず、JSON-LD を作った人は本文の変更を知りません。同じ情報が2か所にあるかぎり、時間とともにずれます。
Google の一般的なガイドラインは、構造化データがページの内容を正しく表すこと、見えていない内容をマークアップしないこと、最新の情報を出すことを求めています。違反すると、手動による対策でリッチリザルトの対象から外れることがあります(順位には影響しないと説明されています)。
ほかの保守作業との境界
この記事で扱う範囲を、ほかの運用作業と次のように切り分けます。
| 作業 | この記事での扱い | 詳しく扱う記事 |
|---|---|---|
| JSON-LD の生成・検証・監視 | 扱う(中心) | ― |
| 記事ごとの事実確認と承認 | 構造化データに関わる部分だけ | 品質ゲートの記事 |
| 検索の表示回数・クリックの監視 | 拡張レポートと検索での見え方だけ | Search Console と GA4 の記事 |
| hreflang の実装と翻訳の管理 | inLanguage との整合だけ | 2言語サイトの記事 |
| CMS・プラグインの更新 | 更新で JSON-LD が変わる点だけ | ホームページ保守の自動化 |
境界を決めるのは、担当を決めるためです。構造化データは SEO・開発・商品データのどの担当にも属さず、誰も責任を持たない部品になりがちです。
表示が終わっても、正確さは残す
Google の入門ページは、構造化データをページの内容の理解と、人や会社などの情報の収集にも使うと説明しています。表示が終わった型でも、正しく書かれていれば害はなく、間違っていれば害が残ります。目標を「表示を出す」から「正確に保つ」に置き換えると、Google の対象変更に振り回されません。
3. JSON-LD が壊れる5つの型
構造化データの壊れ方は、だいたい5つの型に分けられます。型ごとに、気づける道具と止め方が違います。
型1:テンプレートの変更で壊れる
最も多いのが、テーマやプラグインの更新で出力が変わるケースです。SEO プラグインとテーマの両方が Organization を出す二重出力、日付が 28/10/2026 のように ISO 8601(日時の国際規格)でなくなる書式の変化、script 要素ごと消える出力の消失が典型です。Google の Article のドキュメントは日付にタイムゾーンを入れるよう勧めており、ないと Googlebot のタイムゾーンで扱われます。日欧で記事を出すサイトでは、日付が1日ずれて見える原因になります。
型2:必須プロパティが欠ける
Google の機能ごとのドキュメントには必須と推奨のプロパティがあり、必須が欠けたアイテムはリッチリザルトの対象になりません。原因の多くはデータ側にあります。商品画像の登録漏れ、価格が「お問い合わせ」で数値がない、といったケースです。テンプレートが正しくても、元のデータが欠ければ JSON-LD も欠けます。
型3:表示内容と一致しない
本文の価格と JSON-LD の価格が違う、本文にないレビューの星を書いている、といった不一致です。欧州で売るサイトには小数点の落とし穴もあります。オランダでは画面上「€ 1.299,00」と書きますが、Google の Product のドキュメントは小数点に「.」を使うよう求めています。表記をそのまま流すと、1,299ユーロが1.299ユーロと読まれます。
型4:廃止されたリッチリザルトが残る
表示が終わった型が残っていること自体は問題になりません。問題は保守の手間と誤解です。FAQ のために本文にない質問を JSON-LD に書く状態は、表示が終わっても手間だけを生みます。レポートから消えると、エラーも見えなくなります。
型5:多言語で食い違う
片方の言語だけ更新される、inLanguage が全ページ「ja」のまま、といった食い違いです。翻訳は本文だけを対象にしがちで、JSON-LD は工程から漏れます。第8章で扱います。
| 壊れ方 | よくある原因 | 気づける道具 | 止め方 |
|---|---|---|---|
| 1. テンプレートの変更 | テーマ・プラグインの更新、二重出力 | CI の見本URL検査 | デプロイ前に止める |
| 2. 必須プロパティの欠落 | 元データの空欄、画像の登録漏れ | Rich Results Test、拡張レポート | データの入力時に必須にする |
| 3. 表示との不一致 | 二重管理、書式の違い(小数点) | 本文との突き合わせ検査 | 同じデータから生成する |
| 4. 廃止された型の残存 | 表示を狙った過去の実装 | 更新履歴の確認 | テンプレートから外す |
| 5. 多言語の食い違い | 翻訳工程から JSON-LD が漏れる | 言語ごとの見本URL検査 | 言語をデータとして持つ |
表のとおり、5つのうち3つ(1・3・5)はテンプレートとデータの設計で起きにくくできます。検査で拾うより安く済みます。
4. Google のリッチリザルトの対象:何が残り、何が消えたか
保守の範囲を決めるには、いま Google がどの型を使っているかを知る必要があります。Google の「サポートする構造化データ」のページには、2026年10月28日時点で25の項目が並んでいます。
残っている主な型
多くの会社サイトに関係するのは、次の型です。
| 型 | 主に使うサイト | 2026年10月時点の注意 |
|---|---|---|
| Article(BlogPosting など) | コラム・ニュース | 必須プロパティはなし。日付と著者を推奨 |
| BreadcrumbList | ほぼすべて | 表示はパソコンだけ(2025年1月から) |
| Organization | 会社サイト | 必須なし。トップか会社概要の1ページでよい |
| LocalBusiness | 店舗・事務所 | 営業時間・住所が本文と一致すること |
| Product(商品・販売者向け) | 通販 | 価格・在庫・送料・返品ポリシーまで拡張中 |
一般的な会社サイトで保守が必要なのは、多くても5〜6種です。すべての型を追う必要はありません。
消えた型と、扱いの違い
2025年の7種は、9月9日に Search Console のレポート、Rich Results Test、検索での見え方のフィルタから外れました。一括エクスポート(BigQuery)では、該当する列が2025年10月1日までに NULL になると告知されました。
| 型 | 表示の終了 | 保守での扱い |
|---|---|---|
| HowTo | 2023年9月13日 | テンプレートから外してよい |
| FAQPage | 2026年5月7日 | 外すか、本文と同じ内容だけに絞る |
| サイトリンク検索ボックス(SearchAction) | 2024年11月 | 外してよい(WebSite 自体は残してよい) |
| Course Info・Learning Video ほか5種 | 2025年6月以降 | 検索目的だけなら外してよい |
| ClaimReview | 2025年6月以降 | ファクトチェック以外の用途を確認してから |
| Practice problem | 2026年1月に文書を削除 | 外してよい |
「外してよい」は「外さなければならない」ではありません。ただし残すなら、本文と一致させ続ける必要があります。
5. テンプレートから生成する設計
保守の自動化で最も効くのは、検査ではなく生成の仕方です。本文と同じデータから JSON-LD を組み立てれば、型1・3・5の多くが起きにくくなります。
原則1:情報の出どころを1つにする
価格、営業時間、著者名、公開日は、本文の値と JSON-LD の値を同じ変数から出します。Google の JavaScript での生成のドキュメントも、タグマネージャーで作る場合は情報を複製せず、ページから値を取り出す変数を使うよう勧めています。
| 項目 | 悪い例(二重管理) | よい例(1つの出どころ) |
|---|---|---|
| 価格 | 本文はCMS、JSON-LD は手書き | 商品データの price を両方に出す |
| 公開日・更新日 | JSON-LD だけ保存日時で更新 | front matter の date / updated を両方に出す |
| 営業時間 | 本文は画像、JSON-LD はテキスト | 営業時間のデータから表と JSON-LD を作る |
| 著者 | JSON-LD に会社名と肩書きを混ぜる | 著者データの name と url だけを出す |
| 言語 | 全ページ同じ inLanguage | ページの locale から出す |
「よい例」に共通するのは、JSON-LD を手で書く人がいなくなることです。
原則2:ページの種類と型を対応させる
ページを種類に分け、種類ごとに出す型を1つの表に決めます。この表が構造化データの「設計書」になります。
| ページの種類 | 出す型 | 主な出どころ |
|---|---|---|
| トップ | WebSite、Organization | サイト設定、会社データ |
| コラム記事 | BlogPosting、BreadcrumbList | 記事の front matter |
| サービス紹介 | Service(必要なら)、BreadcrumbList | サービスデータ |
| 商品詳細 | Product、Offer、BreadcrumbList | 商品データベース |
| 店舗・事務所 | LocalBusiness の具体的な下位型 | 店舗データ |
| 会社概要 | Organization(詳細版)、AboutPage | 会社データ |
Google の Organization のドキュメントは、会社の情報をトップか会社概要の1ページに置けばよく、全ページに入れる必要はないとしています。
原則3:@graph と @id でつなぐ
複数の型は @graph でまとめ、@id で参照し合います。Organization に固定の @id を付け、記事の publisher からはその @id だけを参照すれば、会社名を変えるとき直す場所が1か所で済みます。@id は、2020年7月16日に W3C 勧告になった JSON-LD 1.1 の基本機能です。
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Example B.V.",
"url": "https://example.com/"
},
{
"@type": "BlogPosting",
"@id": "https://example.com/column/sample#article",
"headline": "記事のタイトル",
"inLanguage": "ja",
"datePublished": "2026-10-28T09:00:00+01:00",
"dateModified": "2026-10-28T09:00:00+01:00",
"publisher": { "@id": "https://example.com/#organization" }
}
]
}
値はテンプレートが埋めます。@id の URL は一度決めたら変えないでください。サイトの移転のときも、移行計画に入れます。
原則4:JavaScript で後から足すのは最後の手段
Google は商品について、動的に生成したマークアップはショッピングのクロールの頻度と信頼性を下げることがあるとし、最初の HTML に入れるよう勧めています。タグマネージャーでの追加は一時しのぎと考えてください。
6. CI での検証:4段で止める
テンプレートそのものが変われば、生成した JSON-LD も壊れます。そこで、デプロイのたびに見本URLを検査し、落ちたら公開を止める仕組みを CI(変更のたびに自動でテストを回す仕組み)に置きます。
1段目:構文(JSON として読めるか)
ページから application/ld+json の script 要素をすべて取り出し、JSON として読めるかを確かめます。末尾のカンマや、変数が空で "price": , になった状態はここで止まります。読めなければ構造化データ全体が無視されます。同時に同じ型が2つ以上ないかも数え、二重出力を拾います。
2段目:型(Schema.org として正しいか)
型とプロパティが Schema.org の語彙にあるかを確かめます。手で見るなら Schema Markup Validator(validator.schema.org)です。Google の旧「構造化データテストツール」の機能はここに移り、2021年8月9日に旧ツールは案内ページに替わりました。
Schema.org は年2回ほど更新され、2026年10月28日時点の最新は 2026年9月16日の Version 30.1(型826・プロパティ1,540)です。CI で語彙のファイルを使うなら、取り込んだ版を記録し、半年に1回更新します。
3段目:Google の要件(必須プロパティがあるか)
Schema.org として正しくても、Google の必須プロパティが欠ければ対象外です。手で見るなら Rich Results Test ですが、一括で呼ぶ公式 API は案内されていません(2026年10月28日時点)。そこで CI では、自分のサイトで使う型だけ、Google の必須・推奨プロパティを表にしたルールで確かめ、必須の欠落は止め、推奨の欠落は知らせます。
4段目:本文との一致
ヘッドレスブラウザでページを開き、価格・見出し・日付など本文にも出ている値を取り出して、JSON-LD の値と比べます。ガイドラインが「自動では確かめにくい」とする品質の項目のうち、機械で拾える部分をここで拾います。
| 段 | 確かめること | 落ちたとき | 誤検出の起きやすさ |
|---|---|---|---|
| 1. 構文 | JSON として読めるか、同じ型の重複 | 止める | ほぼない |
| 2. 型 | Schema.org にある型・プロパティか | 止める | 少ない(語彙の版に注意) |
| 3. 要件 | Google の必須・推奨プロパティ | 必須は止める、推奨は知らせる | 少ない(ルールの更新が要る) |
| 4. 一致 | 価格・日付・見出しが本文と同じか | 止める(価格・在庫)、知らせる(その他) | ある(書式の違い) |
4段目は書式の違い(「€ 1.299,00」と 1299.00)で誤検出が起きやすい段です。比べる前に数値と日付を正規化し、最初の2〜3週間は知らせるだけにして、ぶれを見てから止める検査に切り替えます。
見本URLの選び方
全ページを検査する必要はありません。ページの種類ごとに代表を決め、合計10〜20本を見本にします。種類ごとに「項目がそろったページ」と「欠けやすいページ(画像なし、翻訳直後など)」を1本ずつ入れると、型2を拾いやすくなります。
7. 公開後の監視:Search Console の拡張レポートと URL 検査
公開後は、Google が実際にどう読んだかを Search Console で確かめます。データの入力ミスや、見本に入っていないページの問題はここで見つかります。
拡張レポートの読み方
「拡張」の項目には、型ごとのリッチリザルトのステータスレポートが出ます。注意は3つです。数はページ数ではなくアイテム数、1つのアイテムが複数の問題を持っても無効の合計には1回だけ数える、例の一覧は最大1,000行。有効なアイテムは「重大な問題がなく表示されうるもの」で、有効でも表示は保証されません。
URL 検査 API で定点観測する
URL 検査 API を使えば、決めたURLのインデックス版で検出されたリッチリザルトと問題を毎週取り出せます。上限は1サイトあたり1日2,000回・1分600回で、数百本なら十分に収まります。
| 監視の方法 | 分かること | 頻度の目安 | 注意 |
|---|---|---|---|
| 拡張レポート(画面) | 型ごとの有効・無効の推移 | 週1回 | アイテム数で数える、例は1,000行まで |
| URL 検査 API | 決めたURLの検出結果と問題 | 週1回 | 1サイト1日2,000回まで |
| 検索パフォーマンスの「検索での見え方」 | リッチリザルトの表示回数・クリック | 月1回 | 型が終わると項目ごと消える |
見るものは多くありません。週1回15分、無効アイテムの増減と API の結果の差分だけを見るのが続く形です。検索の数字全体の見方は「Search Console と GA4 の定点観測を自動化する」にまとめました。
修正の検証と「レポートから消えた」の区別
混同しやすいのが、型の表示が終わってレポートから消えたことと、問題が直ったことです。BigQuery では終了した型の列が NULL になり、NOT is_learning_videos のような条件が行を落とすと Google は注意しています。IS NOT TRUE のように NULL でも動く書き方にしておくと、型が終わっても集計が壊れません。
8. 多言語サイトでの inLanguage と hreflang の整合
日欧に向けたサイトで起きやすいのが、本文は翻訳されたのに、JSON-LD の言語や名前が元のままという食い違いです。
inLanguage と hreflang は役割が違う
inLanguage はそのコンテンツの言語を表す Schema.org のプロパティで、値は BCP 47 の言語コードです。hreflang はほかの言語版がどこにあるかを伝える仕組みで、言語は ISO 639-1、地域は ISO 3166-1 Alpha 2 のコードを使います(ja、en、en-NL など)。
Google は、hreflang や lang 属性でページの言語を判定してはいないと説明しています。間違えても検索の言語判定は狂いにくい一方、ほかのサービスがデータを読むときには間違った言語として伝わります。
そろえるべき5つの項目
Google の hreflang のドキュメントは、各言語版が自分自身とほかの全言語版を示すこと、相互の参照がないと無視されうることを求めています。構造化データの側も、これと矛盾しないようにそろえます。
| 項目 | 日本語版 | 英語版 | 確かめ方 |
|---|---|---|---|
| inLanguage | ja | en | ページの locale と一致するか |
| hreflang | ja と en の両方を列挙 | en と ja の両方を列挙 | 相互に指しているか |
| 記事の url / @id | 日本語版のURL | 英語版のURL | canonical と一致するか |
| Organization の @id | 共通の1つ | 共通の1つ | 全言語で同じ値か |
| 名前・説明 | 日本語の表記 | 英語の表記 | 本文の表記と一致するか |
最後の行は見落としやすい項目です。Organization の name を正式な登記名(オランダなら「B.V.」付き)にし、言語ごとの通称は alternateName に入れると、名前が揺れません。
翻訳の工程に JSON-LD を入れる
本文と同じデータから出していれば、翻訳されたデータからそのまま英語版の JSON-LD ができます。手書きが残っていれば、翻訳の対象に JSON-LD を入れるか、テンプレートに移します。対訳の管理は「日英2言語サイトの翻訳と更新を自動化する」で扱いました。CI では言語ごとに見本URLを用意し、inLanguage が locale と一致するかを確かめます。
9. AI 検索の時代に、構造化データはどう位置づくか
「AI 検索のために構造化データを足すべきか」という相談が増えています。推測が多い領域なので、公式に書かれていることだけを整理します。
Google の公式の説明
Google の「AI 機能とウェブサイト」のページは、AI Overviews や AI Mode に出るために追加の要件や特別な最適化はなく、AI 向けのファイルや特別な Schema.org の構造化データも要らないと明記しています。2026年6月15日には、llms.txt は Google 検索に必要なく、順位にも影響しないという注記も加わりました。
一方で同じページは、SEO の基本として構造化データが見えているテキストと一致していることを挙げています。AI 向けに足すより、今あるものを正確に保つことが公式の答えです。
| よく聞く主張 | 公式に書かれていること | 保守での扱い |
|---|---|---|
| AI に出るには専用の構造化データが要る | 特別な Schema.org の構造化データは不要 | 新しい型を足す理由にしない |
| llms.txt を置くべき | Google 検索には不要、順位にも影響しない | ほかのサービスのためなら置いてもよい |
| FAQPage を入れると AI に引用される | FAQ のリッチリザルトは2026年5月に終了。AI での扱いの記述はない | 本文と一致する範囲なら残してよい |
| 構造化データは本文と同じでよい | 構造化データが見えている本文と一致すること | 第6章の4段目で確かめる |
AI 検索を理由に保守の方針を変える必要はありません。Google 以外の AI サービスの使い方は、公式の説明がないかぎり推測で設計に組み込まないのが安全です。ただし Organization の正式名称・ロゴ・識別子(オランダなら KvK 番号)は、Google のドキュメントのとおり同名の別組織と区別してもらう意味があるので、表示の有無に関係なく保守の対象に残してください。
10. 欧州で運用するときの注意
日欧で売るサイトは、構造化データでも欧州固有の条件を抱えます。ここでは3つを挙げます。
価格の表示ルールと、構造化データの価格
EU のオムニバス指令を受け、オランダでは2023年1月1日から、値引きの「元の価格」に過去30日の最低価格を使うルールが適用され、消費者・市場庁(ACM)は違反した通販に罰金を科しています。Google の Product のドキュメントは、元の価格を StrikethroughPrice として書く方法を示しています。本文の元の価格と構造化データの取り消し線価格が別のデータから出ていると、片方だけ法令に合わない状態が生まれます。
デジタル製品パスポートと EEA の表示
EU のデジタル製品パスポート(DPP)は、欧州委員会によると登録簿が2026年7月20日に稼働し、2027年2月18日から一部の電池で義務になります。Schema.org は30.1で DPP を結びつける語彙を加えましたが、Google が検索で使うかは公表されていません。法令対応としてデータを持ち、構造化データに出すかは別に判断します。また EEA では、デジタル市場法への対応として、2024年から旅行・地域・買い物の検索で構造化データを使ったカルーセル(ベータ版)が出ています。
日本と欧州で比べる
| 項目 | 日本向け | 欧州向け |
|---|---|---|
| 価格の書式 | 「1,299円」→ 1299 | 「€ 1.299,00」→ 1299.00(小数点に注意) |
| 値引きの元の価格 | 景品表示法の二重価格の考え方 | 過去30日の最低価格(オムニバス指令) |
| 検索の特別な表示 | 標準のリッチリザルト | EEA では構造化データのカルーセル(ベータ) |
| 日時のタイムゾーン | +09:00 | +01:00(夏は +02:00) |
同じテンプレートでも、値の書式と、値が満たすべきルールが地域で変わります。日欧で売るなら、価格と日時の正規化を4段目に必ず入れてください。
11. 点検の頻度とチェックリスト
自動化しても、人が見るべき場面は残ります。何を、どの頻度で、誰が見るかを決めます。
頻度の目安
間違うと損害が出るもの(価格・在庫)ほど頻度を短くし、デプロイのたびに止めます。
| 頻度 | 見ること | 担当 | 所要時間の目安 |
|---|---|---|---|
| デプロイのたび | CI の4段(見本URL10〜20本) | 自動(落ちたら開発) | 数分(自動) |
| 毎週 | 拡張レポートの無効アイテム、URL 検査 API の差分 | 運用担当 | 15分 |
| 毎月 | 手動による対策、検索での見え方の推移 | 運用担当 | 30分 |
| 四半期 | Google の更新履歴、型の追加・終了、見本URLの入れ替え | 開発+運用 | 1〜2時間 |
| 半年 | Schema.org の版の更新、設計書(型の対応表)の見直し | 開発 | 2〜4時間 |
時間は DevNJ の目安です。毎週15分で済む状態を作ることが自動化の目標です。
12. 費用と工数の幅
次は DevNJ の目安で、統計ではありません。外注の時間単価は80ユーロ、円は1ユーロ=175円で換算しています。
| 段階 | 内容 | 初期の工数 | 月額(ツール) |
|---|---|---|---|
| 1. 整理と基本検査 | テンプレートへの集約、二重出力の解消、構文と型の検査 | 8〜16時間(640〜1,280ユーロ、約11〜22万円) | 0ユーロ |
| 2. CI と週次監視 | Google の要件と本文一致の検査、URL 検査 API の週次取得 | 20〜40時間(1,600〜3,200ユーロ、約28〜56万円) | 0〜20ユーロ |
| 3. 多言語・大規模 | 言語ごとの見本、数千URLの巡回、商品データとの突き合わせ | 40〜80時間(3,200〜6,400ユーロ、約56〜112万円) | 20〜150ユーロ前後 |
段階2の月額は CI の実行時間の超過分程度、段階3はクロール用のサーバーや有料のクローラーを使うかで変わります。
手作業との比べ方
自動化の価値は、ツール代より人の時間と、気づくまでの日数で測ります。
| 項目 | 手作業で見る場合 | 段階2まで自動化した場合 |
|---|---|---|
| 月の点検時間 | 6〜10時間(見本を手でツールに通す) | 1〜2時間(週15分+四半期の見直し) |
| 壊れてから気づくまで | 数週間〜数か月(表示が消えてから) | デプロイ時に止まる、漏れても1週間以内 |
| 二重出力・書式の変化 | 気づきにくい | 1段目・4段目で止まる |
| Google の対象変更への追従 | 担当者の記憶に頼る | 四半期の定例で確認 |
月6〜10時間が1〜2時間になれば、単価80ユーロ換算で月およそ320〜720ユーロ分の時間が浮きます。手書きの箇所が多い、プラグインが3つ以上構造化データを出す、言語が3つ以上ある、商品が数千点ある、のいずれかに当たると、費用は幅の上限に近づきます。
13. よくある失敗
よく見る失敗を、原因と対策で整理します。いずれも検査より設計で防ぐほうが安く済みます。
| 失敗 | 何が起きるか | 対策 |
|---|---|---|
| プラグインとテーマの二重出力 | 矛盾する Organization や Article が並ぶ | どちらか一方だけを出す設定にし、1段目で重複を数える |
| 保存のたびに dateModified を更新 | 内容を変えていないのに更新日が新しくなる | 本文の更新日(updated)からだけ出す |
| 画面の価格表記をそのまま出す | €1.299,00 が 1.299 と読まれる | 数値は生データから出し、表記は画面だけで整える |
| 本文にない FAQ を JSON-LD に書く | 表示されない上に、ガイドラインの不一致 | 本文に見えている質問だけにするか外す |
| レポートから消えたのを修正と誤解 | 型の終了で問題が見えなくなっただけ | 更新履歴で型の終了を確かめる |
| 英語版だけ JSON-LD が古い | 言語ごとに会社名や価格が違う | 翻訳されたデータから生成する |
2行目は、Google の「ユーザー第一のコンテンツ」のページが内容を変えずに日付だけを新しくすることを検索エンジン向けの兆候に挙げている点とも関わります。
やってはいけないこと
保守の自動化でやってはいけないことを挙げます。
| やってはいけないこと | 理由 |
|---|---|
| 見えていないレビューや星を構造化データだけに書く | 手動による対策でリッチリザルトの対象から外れる |
| AI 検索のためと称して型を大量に足す | 公式には不要で、保守の範囲だけが広がる |
| 検査に落ちたら JSON-LD を消して通す | 型2の欠落を隠すだけで、データの問題は残る |
| @id の URL をリニューアルのたびに変える | 組織や記事のつながりが切れる |
14. ケースで考える(架空の3社)
ここからは、架空の3社で、どの段階まで自動化するかを考えます。実在の企業ではありません。
| 会社(架空) | 状況 | 選ぶ段階 | 最初にやること |
|---|---|---|---|
| A社:日本の機械部品メーカー、従業員40人 | 日英の会社サイトとコラム、プラグイン2つが構造化データを出力 | 段階1→2 | 二重出力の解消、Organization を1つに |
| B社:オランダの日本食材の通販、商品800点 | 日英蘭の3言語、価格と在庫が毎日変わる | 段階2→3 | 価格の出どころを1つに、小数点の正規化 |
| C社:デン・ハーグの語学スクール | 英語と日本語、コースとイベントのページ | 段階1 | 終了した Course Info を外し、Event を整理 |
A社は二重出力を止めて会社情報を1つの Organization にまとめるだけで、初期12時間前後・月額0ユーロに収まります。B社は「€ 12,50」の表記が JSON-LD に入っていたため、価格を数値データから出し直し、30日最低価格の元の価格も同じデータから出します。C社はページが少ないので、段階1で足ります。
15. 導入の手順:4週間で進める
4週間で導入する手順です。週ごとの作業は1〜2日分を目安にしています。
- 1週目:棚卸し。ページを種類に分け、見本URLを2本ずつ選びます。JSON-LD の型と、出している仕組み(テーマ、プラグイン、タグマネージャー、手書き)を一覧にし、二重出力と終了した型に印を付けます
- 2週目:設計書とテンプレート。ページの種類と型の対応表を作り、価格・日付・言語を本文と同じデータから出す形に寄せます。Organization の
@idを決めます - 3週目:CI の4段。1段目と2段目を止める検査として入れ、3段目と4段目は知らせるだけで始めます
- 4週目:監視と定例。URL 検査 API の週次取得を組み、拡張レポートを見る担当と曜日、四半期の確認を予定に入れます
- 5週目以降:切り替え。誤検出の幅を見て、必須の欠落と価格・在庫の不一致を止める検査に切り替えます
要点は、最初から全部を止めないことです。誤検出で公開が止まり続けると、検査そのものを外したくなります。
16. チェックリスト
導入時と四半期ごとに、次の項目を確かめてください。
設計
- ページの種類と出す型の対応表(設計書)がある
- 価格・日付・営業時間・著者・言語は、本文と同じデータから出している
- 同じ型を2つの仕組み(テーマとプラグインなど)が出していない
- Organization は1つの
@idで、全言語で同じ値を使っている
CI
- 見本URLが種類ごと・言語ごとにあり、合計10〜20本以上ある
- JSON として読めない、同じ型が重複する場合は公開を止める
- Schema.org の語彙の版を記録し、半年に1回更新している
- Google の必須プロパティの欠落は止め、推奨の欠落は知らせる
- 価格と在庫は本文と突き合わせ、小数点と通貨を正規化している
監視と運用
- 拡張レポートを週1回見る担当と曜日が決まっている
- URL 検査 API で、見本と主要ページを週1回取り出している
- 四半期に Google の更新履歴を、自分のサイトで使う型の名前で確かめている
- 多言語の各版で inLanguage と hreflang がそろい、相互に指している
17. まとめ
- 構造化データは、入れた日がいちばん正確で、放っておくと本文とずれていく。保守の目標は「表示を出す」より「間違ったことを書かない」に置く
- Google のリッチリザルトは2023年から縮小が続き、HowTo は2023年9月、FAQ は2026年5月7日に表示を終えた。使われていない構造化データは害にならないが、保守の手間は残る
- 壊れ方はテンプレートの変更・必須の欠落・表示との不一致・廃止された型・多言語の食い違いの5つ。うち3つは、本文と同じデータからテンプレートで生成すれば起きにくくなる
- デプロイのたびに、構文・型・Google の要件・本文との一致の4段を CI で確かめ、公開後は拡張レポートと URL 検査 API を週1回見る
- 多言語サイトでは inLanguage・hreflang・Organization の @id をそろえ、欧州向けでは価格の小数点と30日最低価格のルールに注意する
- AI 検索のために特別な構造化データは要らないと Google は明記している。今あるものを正確に保つほうが先
参考にした情報源
Google 検索セントラル(構造化データ)
- Introduction to structured data markup in Google Search — Google Search Central:構造化データの用途
- General structured data guidelines — Google Search Central:技術・品質のガイドライン
- Structured data markup that Google Search supports — Google Search Central:2026年10月時点で対応している25項目
- Latest Google Search Documentation Updates — Google Search Central:FAQ の終了(2026年5月7日)
- Changes to HowTo and FAQ rich results — Google Search Central Blog:2023年8月の縮小と9月の HowTo 終了
- Simplifying the search results page — Google Search Central Blog:2025年の7種の終了
- Here's an update on our efforts to simplify the search results page — Google Search Central Blog:2025年11月の追加の整理
- Article structured data — Google Search Central:必須なし
- Organization structured data — Google Search Central:置く場所と組織の区別
- Breadcrumb structured data — Google Search Central:パソコンだけの表示
- Product snippet structured data — Google Search Central:必須プロパティと価格の小数点
- Merchant listing structured data — Google Search Central:取り消し線価格
- Generate structured data with JavaScript — Google Search Central:タグマネージャーで情報を複製しない
- Influence your byline dates in Google Search — Google Search Central:表示する日付と構造化データの日付
- New Search experiences in EEA — Google Search Central Blog:EEA の構造化データのカルーセル
Google 検索セントラル(多言語・AI・品質)
- Tell Google about localized versions of your page — Google Search Central:hreflang の相互参照
- AI features and your website — Google Search Central:AI 機能に特別な構造化データは不要
- Creating helpful, reliable, people-first content — Google Search Central:日付だけを新しくすることへの注意
Search Console
- Rich result status reports — Search Console ヘルプ:有効・無効の定義
- Usage limits — Search Console API:URL 検査の上限
- Rich Results Test — Google:Google の要件の確認
Schema.org・W3C・調査
- Schema.org releases — Schema.org:Version 30.1(2026年9月16日)
- Schemas — Schema.org:型826・プロパティ1,540
- inLanguage — Schema.org:BCP 47 の言語コード
- Schema Markup Validator — Schema.org:型とプロパティの確認
- JSON-LD 1.1 — W3C:2020年7月16日の W3C 勧告
- Structured Data — HTTP Archive Web Almanac 2024:書式ごとの利用率と FAQPage の推移
欧州の制度
- ACM wil einde aan nepkortingen na komst strengere regels — ACM:2023年1月からの30日最低価格のルール
- ACM legt boetes op aan webwinkels voor nepkortingen — ACM:値引き表示の罰金の事例
- Digital Product Passport — European Commission:DPP の概要
- Batteries (Digital Product Passport) — European Commission:登録簿の稼働(2026年7月20日)と電池の義務化(2027年2月18日)
いずれも2026年10月28日に確認したものです。Google の対象となる型や要件は変わるため、導入の前に公式の更新履歴で最新の情報を確認してください。費用と工数、点検の頻度は DevNJ の実務上の目安で、サイトの規模と構成によって変わります。
よくある質問
- 構造化データのエラーは、どうやって見つければよいですか?
- 公開前は、ページの種類ごとの見本URLを Rich Results Test と Schema Markup Validator で確かめ、同じ確認を CI(デプロイ前の自動テスト)で毎回回します。公開後は Search Console の拡張レポート(リッチリザルトのステータスレポート)で無効なアイテムの増減を週1回見て、気になるURLは URL 検査で確かめます。レポートの数はページ数ではなくアイテム数です。
- FAQ や HowTo の構造化データは、削除したほうがよいですか?
- 急いで消す必要はありません。Google は HowTo のリッチリザルトを2023年9月13日に、FAQ を2026年5月7日に表示しなくなりましたが、使われていない構造化データは検索に問題を起こさないと説明しています。ただし保守の手間は残るので、テンプレートを直す機会に外すか、本文に見えている質問と答えだけに絞るのが現実的です。
- 構造化データの保守を自動化するには、何から始めればよいですか?
- まずサイトの中の JSON-LD を、ページの種類ごとに1つのテンプレートから出す形にまとめます。次に、種類ごとの見本URLを10〜20本決め、JSON として読めるか、Schema.org の型とプロパティが正しいか、Google の必須プロパティがあるか、本文の表示と一致するかの4段を CI で確かめます。最後に Search Console の週次確認を加えます。
- 多言語サイトでは、構造化データの inLanguage と hreflang をどう合わせればよいですか?
- 各言語のページの inLanguage には、そのページ自身の言語を BCP 47 の言語コード(ja、en など)で書き、hreflang の値と同じ言語にそろえます。hreflang は各言語版が自分自身とほかの全言語版を相互に示す必要があり、片方向だけだと無視されることがあります。会社情報(Organization)は全言語で同じ @id を使うと、同じ組織だと伝わります。
- AI 検索(AI Overviews や AI Mode)に出るために、特別な構造化データは必要ですか?
- Google の公式ドキュメントは、AI Overviews や AI Mode に出るために新しい機械可読ファイルや特別な Schema.org の構造化データは必要ないと説明しています。そのうえで、構造化データがページに見えている本文と一致していることを、通常の SEO の基本として挙げています。AI 向けに足すより、今ある構造化データを正確に保つことが先です。
- 構造化データの保守の自動化には、どのくらいの費用がかかりますか?
- DevNJ の目安では、テンプレートの整理と構文・型の検査を入れる段階が初期8〜16時間・月額0ユーロ、Google の要件と本文との一致を CI で確かめ、Search Console を週次で見る段階が初期20〜40時間・月額0〜20ユーロ、多言語や数千URL規模で商品データまで突き合わせる段階が初期40〜80時間・月額20〜150ユーロ前後です。
日本と欧州の両方で機能するサイトをお考えですか?
無料で相談する