0 ZERO RECRUITING 無料相談
実装ガイド ・ 導入手順

求人のJobPosting構造化データ
実装ガイド【コピペ雛形つき】

求人ページに JobPosting の構造化データを入れると、Googleしごと検索への掲載と、AI検索が求人内容を正しく引用する土台が同時に整います。必須・推奨プロパティ、そのまま貼れる完全テンプレート、リモート求人の書き方、つまずきやすいエラーと検証手順まで、実装目線でまとめました。

親テーマ:採用LLMO難易度:実装(コピペ可)更新:2026年

採用LLMOの「最初の一手」であり、費用対効果が最も分かりやすいのが、この JobPosting です。人間向けの求人本文とは別に、機械が確実に読めるデータを1ブロック足すだけ。それだけで、Googleしごと検索の枠に載る資格が生まれ、AIが「給与は?勤務地は?」に自社の求人で答えられるようになります。

01JobPostingで何が起きるか

JobPosting は、schema.org が定める「求人情報」を表す構造化データです。求人ページの <head> か本文末に JSON-LD として設置すると、主に2つの効果があります。

ポイントは、本文をコピーするのではなく「事実を項目ごとに宣言する」こと。タイトル・給与・勤務地・雇用形態を、機械が迷わない形で明示します。

02必須プロパティ

Googleしごと検索に掲載されるには、最低限これらが必要です。1つでも欠けると「掲載対象外」になります。

プロパティ区分内容
title必須職種名。「〇〇(雇用形態)」等を含めた具体的な名称(会社名は入れない)。
description必須仕事内容・要件。HTMLタグ可<p><ul><br>)。本文と同等の情報量を。
datePosted必須掲載日。2026-07-01 形式。
hiringOrganization必須採用企業。name と、可能なら sameAs(公式サイトURL)。
jobLocation必須勤務地の address。※完全リモートは 05章の書き方に置換。

03推奨プロパティ

無くても掲載はされますが、入れるほどAIにも人にも“伝わる求人”になります。特に baseSalaryvalidThrough は必ず入れてください。

プロパティ区分内容
baseSalary強く推奨給与レンジ。未記載は警告が出ます。年収なら unitText:"YEAR"。AIが最も聞かれる項目。
validThrough強く推奨募集終了日。2026-12-31 形式。過去日にすると掲載が消えるので注意。
employmentType推奨FULL_TIME / PART_TIME / CONTRACTOR / INTERN 等。
identifier推奨社内の求人ID。同一求人の重複判定に効きます。
jobLocationType条件付完全リモートのとき TELECOMMUTE05章)。

04コピペできる完全テンプレート

必須+推奨を入れた実戦版です。<head> 内、または求人本文の直後に貼り、値だけ差し替えてください。

JobPosting 完全版(オフィス勤務)
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "JobPosting",
  "title": "Webエンジニア(自社サービス開発)",
  "description": "<p>自社プロダクトの開発を担当。</p><ul><li>必須:実務3年</li><li>歓迎:AWS</li></ul>",
  "identifier": {
    "@type": "PropertyValue",
    "name": "株式会社サンプル",
    "value": "ENG-2026-01"
  },
  "datePosted": "2026-07-01",
  "validThrough": "2026-12-31T23:59",
  "employmentType": "FULL_TIME",
  "hiringOrganization": {
    "@type": "Organization",
    "name": "株式会社サンプル",
    "sameAs": "https://example.com",
    "logo": "https://example.com/logo.png"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "西本町1-4-1",
      "addressLocality": "大阪市西区",
      "addressRegion": "大阪府",
      "postalCode": "550-0005",
      "addressCountry": "JP"
    }
  },
  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "JPY",
    "value": {
      "@type": "QuantitativeValue",
      "minValue": 4000000,
      "maxValue": 7000000,
      "unitText": "YEAR"
    }
  }
}
</script>

05リモート求人の書き方

完全リモートの求人は、jobLocation の代わりに jobLocationTypeapplicantLocationRequirements(応募できる国・地域)を使います。これが無いと、リモート求人がGoogleに正しく認識されません。

完全リモートの場合
  "jobLocationType": "TELECOMMUTE",
  "applicantLocationRequirements": {
    "@type": "Country",
    "name": "JP"
  },

※ 出社もあるハイブリッド勤務は、jobLocationType は付けず、通常どおり jobLocation にオフィス住所を書きます。

06よくあるエラーと対処

「JavaScriptで描画していて中身が読めない」

SPA(React/Vue/Nuxt等)で本文やJSON-LDが後から挿入されると、クローラに空に見えます。対処:SSRか静的HTMLでマークアップを返す。採用LLMO全体でも最重要の注意点です。

「validThrough が過去日/未設定」

募集終了日を過ぎると掲載が消えます。空欄も推奨違反。対処:未来日を必ず設定し、募集継続なら日付を更新。

「給与(baseSalary)が無い」という警告」

掲載自体は可能ですが警告が出ます。対処:レンジで良いので必ず記載。AIにも人にも効く最重要項目。

「description がプレーンテキストで薄い」

1〜2行だけ、本文と乖離、はNG。対処:仕事内容・必須/歓迎要件をHTMLタグ込みで、本文と同等の情報量に。

「同じ求人が複数URLに存在」

重複は評価を分散させます。対処:正規URLに canonical を張り、identifier で同一求人を明示。

07実装後の検証手順

貼って終わりにせず、必ず機械の目で確認します。

  1. リッチリザルトテストで構文チェックGoogleの「リッチリザルト テスト」に求人URLを入れ、JobPostingが検出され、エラー0・警告最小かを確認。
  2. スキーマ検証ツールで型を確認schema.org の Validator(validator.schema.org)で、プロパティの型崩れがないかを見ます。
  3. Search Consoleの「求人情報」レポートで追跡掲載後、GSCの拡張レポート「求人情報(Job posting)」で有効数・エラー数を定点観測。エラーが出たら該当URLを修正して再検証。

08WordPress・自社サイトでの入れ方

WordPress の場合

プラグインを増やしたくない場合は、テーマの functions.php で求人ページ(カスタム投稿など)にだけ JSON-LD を出力するのが軽量です。カスタムフィールドに給与・勤務地を持たせ、テンプレート側で差し込みます。求人系プラグインやSEOプラグイン(Yoast等)の求人機能を使う手もあります。

静的HTML・自社CMSの場合

求人詳細ページのテンプレートに <script type="application/ld+json"> を1つ足し、各求人のデータを差し込むだけです。サーバー側でHTMLに埋め込んで返すことだけ守れば、実装は数十分で済みます。

「入れる場所」より「クローラに届く形で返せているか」が肝。ここを外すと、正しいJSON-LDでもゼロ評価になります。判断に迷う構成なら、実装可否の見立てだけでも承ります。

09よくある質問

JobPostingを入れれば必ずGoogleしごと検索に載りますか?
必須プロパティを満たし、クローラが読める形であれば「掲載対象」になりますが、実際の表示可否・順位はGoogleの判断です。掲載を保証するものではありません。
採用サイトの一覧ページにも付けるべき?
JobPostingは1求人=1詳細ページに付けます。一覧ページに複数の求人スキーマを詰め込むのは避け、各詳細ページに正規URLで設置します。
この記事の給与や住所はサンプルですか?
はい、すべて記入例です。実装時は自社の実データに差し替えてください(当ページのコード例は説明用で、当社の実求人ではありません)。

自社の求人ページ、正しく認識されていますか

現状のJobPostingの有無・エラーを無料でチェックし、「まず直す1か所」をお伝えします。実装まで一緒に進めることも可能です。

無料で相談する