JobPosting構造化データの書き方|JSON-LD例

Googleしごと検索に求人を表示させるには、 JobPostingの構造化データを正しく実装することが必須条件です。

「JSON-LDはどう書けばいい?」
「必須項目は何?」
「directApplyは設定すべき?」

この記事では、上記の疑問を解消できるよう、 Googleしごと検索に掲載するための構造化データ(JobPosting)の書き方を、実装例つきで解説します。


主要AIプラットフォームの仕組みの違いを整理したうえで、AIOの現実的な目標設計、SEOとの両立戦略、そしてAI時代の「目的検索」に対応するための情報戦略とコンテンツ設計の具体策を解説します。【無料】


目次

Googleしごと検索に掲載するには構造化データ(JobPosting)が必要

Googleしごと検索(Google for Jobs)は、Web上の求人ページを自動収集しています。

ただし、単に求人ページを作るだけでは表示されません。

Googleが求人情報だと正しく理解できるよう、 「JobPosting」の構造化データを設置する必要があります。

なお、構造化データに記述する内容は、必ずページ上にもユーザーが確認できる形で表示されている必要があります。

ページに表示されていない情報を構造化データだけに含める行為(いわゆる隠しテキスト)は、Googleのガイドライン違反となる可能性があります。

JobPosting構造化データの書き方 2ステップ

Googleしごと検索(Google for Jobs)に掲載するには、企業サイトに求人ページを作成し、構造化データを設置します。

Googleは、インターネット上のWebサイトから求人情報を自動的に集めているので、構造化データを設置することでGoogleしごと検索に掲載できます。

ステップ1. 企業サイトに求人ページを追加する

まず、企業サイトやサービスサイトに求人情報のページを追加します。ページ内には、求人情報として以下を含めるようにします。

  • 雇用形態
  • 職種
  • 仕事の内容
  • 雇用主の会社名
  • 勤務地
  • 給与

ステップ2. JSON-LD形式でJobPostingを記述する

求人ページの準備ができたら、ページ内にJobPosting型の構造化データを設置します。

microdata形式でも記述可能ですが、HTMLが複雑になるためJSON-LDが推奨されています。新規実装であればJSON-LDを選択するのが無難です。

Googleしごと検索はWeb上の求人情報を自動収集していますが、ページを作成しただけでは表示されません。 Googleが求人情報と正しく認識できるよう、構造化データを実装する必要があります。

なお、構造化データに記述する内容は、必ずページ上にも表示されている必要があります。

JobPosting(JSON-LD)の記述例

JSON-LD 形式では、構造化データを JSON 形式として、script タグ内に記載します。記載する場所は、head 内でも、body 内でも構いません。

以下は、架空の求人例です。

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "JobPosting",
  "title": "薬剤師",
  "description": "代々木八幡駅より徒歩3分の薬局です。<br><br>【仕事内容】<br>店舗にて、調剤業務、薬歴管理などを行っていただきます。患者様への服薬指導など、地域に根ざした薬局でのお仕事です。",
  "datePosted": "2026-02-16",
  "validThrough": "2026-05-31",
  "employmentType": "PART_TIME",
  "hiringOrganization": {
    "@type": "Organization",
    "name": "株式会社〇〇〇〇〇",
    "logo": "https://example.com/logo.png"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "postalCode": "151-0063",
      "addressRegion": "東京都",
      "addressLocality": "渋谷区",
      "streetAddress": "富ヶ谷0-0-0",
      "addressCountry": "JP"
    }
  },
  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "JPY",
    "value": {
      "@type": "QuantitativeValue",
      "value": 1000,
      "unitText": "HOUR"
    }
  },
  "totalJobOpenings": 1,
  "directApply": true,
  "jobLocationType": "TELECOMMUTE",
  "applicantLocationRequirements": {
    "@type": "Country",
    "name": "JP"
  }
}
</script>

主要AIプラットフォームの仕組みの違いを整理したうえで、AIOの現実的な目標設計、SEOとの両立戦略、そしてAI時代の「目的検索」に対応するための情報戦略とコンテンツ設計の具体策を解説します。【無料】


JobPosting構造化データの設定項目

JobPostingの構造化データでは、「求人概要」「勤務地」「給与」に関する情報を指定します。

※以下の例はすべて架空の求人です。

求人概要

項目説明
datePosted求人情報の公開日です。
必須項目です。
(例1)2026-2-16
(例2)2026-2-16T10:00+09:00
validThrough求人情報の有効期限です。
(例)2026-5-31
employmentType雇用形態です。

FULL_TIME:フルタイム(正社員)
PART_TIME:パートタイム
CONTRACTOR:契約社員
TEMPORARY:パートタイム(短期)
INTERN:インターン
VOLUNTEER:ボランティア
PER_DIEM:日雇い
OTHER:その他
title募集する職種です。
必須項目です。
(例)SEOコンサルタント
description求人情報の詳細です。
HTMLタグ <br>、<ul>、<li>、<p> が利用できます。
ただし、見出しや画像、リンクは利用できません。
必須項目です。
(例)代々木八幡駅より徒歩3分のWebマーケティング企業です。・・・・
hiringOrganization.@typeOrganization を指定します。
hiringOrganization.name雇用主の会社名です。
必須項目です。
(例)株式会社シンメトリック
hiringOrganization.logo雇用主の会社のロゴ画像のURLです。
指定しないときは、Googleマイビジネスに登録された画像が利用されます。
(例)https://example.com/logo.png

勤務地

完全リモートワークを除き、以下の項目は必須です。

項目説明
jobLocation.@type勤務地を表します。
PostalAddress を指定します。
jobLocation.addressCountry勤務地の国を表します。
書式は ISO 3166-1 alpha-2 で、日本は”JP”になります。
(例)JP
jobLocation.postalCode勤務地の郵便番号です。
(例)151-0063
jobLocation.addressRegion勤務地の都道府県です。
(例)東京都
jobLocation.addressLocality勤務地の市区町村です。
(例)渋谷区
jobLocation.streetAddress勤務地の番地です。
(例)富ヶ谷0-0-0

勤務地(リモート勤務)

完全リモートワークの求人に関する項目です。

項目説明
jobLocationType勤務場所の種別です。

TELECOMMUTE:完全リモートワーク
applicantLocationRequirements.@type従業員のリモート勤務場所に関する要件です。

Country:国
applicantLocationRequirements.name従業員のリモート勤務国に関する要件です。

(例)JPN

給与

求人の給与(基本給)に関する情報です。

項目説明
baseSalary.currency価格の通貨コード(3桁)です。
ISO 4217で定義された通貨コード(日本円=JPY、アメリカドル=USD)を使います。
(例)JPY
baseSalary.value.@type給与の種別です。
QuantitativeValue:基本給
baseSalary.value.value給与の額です。
カンマを含めることはできません。
baseSalary.value.valueを指定しない場合は、minValueとmaxValueの両方を指定します。
(例)400000
baseSalary.value.minValue給与の金額の下限値です。
(例)300000
baseSalary.value.maxValue給与の金額の上限値です。
(例)500000

応募ボタンのリンク先

Googleしごと検索では、求人詳細画面に1つまたは複数の応募ボタンが表示されます。

この応募ボタンのリンク先は、構造化データを設置したWebページのURLになります。

リンク先には、Googleが収集した求人ページ(自社サイトや求人媒体など)のURLが表示されます。

自社サイトにJobPosting構造化データを設置している場合、そのページが応募先のひとつとして表示される可能性があります。

directApply が有効と判断された場合、「直接応募」と表示されることがあります。

まとめ

以上、JobPosting構造化データをマークアップする方法を説明しました。

実装後は必ずテストをしましょう。

次の記事で構造化データチェックの手順を解説していますので、あわせてご確認ください。

よかったらシェアしてね!
  • URLをコピーしました!
目次