選ばれるAI診断

求人の構造化データ(JobPosting)の書き方|Googleしごと検索に載せる手順と注意点

公開日: / カテゴリ: 構造化データ / 執筆: エラバレル

求人の構造化データ(JobPosting)の書き方|Googleしごと検索に載せる手順と注意点

「自社のホームページに求人を載せているのに、Googleで求人を探す人の目に入らない」「求人の構造化データを入れるといいと聞いたけれど、何を書けばいいのか分からない」。採用に力を入れたい小さな会社から、こうした相談が増えています。

先に結論をお伝えします。求人のページに JobPosting(求人情報)の構造化データを入れると、Googleの求人の検索(Googleしごと検索)に、自社の求人が表示される対象になります。 必須の項目は、職種名・仕事の説明・掲載日・採用する会社・勤務地の5つだけです。給与や雇用形態も入れておくと、求職者が比べやすくなります。

ただし、求人の構造化データには、ほかの構造化データより細かいルールがあります。1つの求人につき1ページ、募集を終えたら必ず外す、が大原則です。この記事では、JobPostingの意味と表示のされ方、必須・推奨の項目、コピーして使えるJSON-LDの例、WordPressでの入れ方、よくある間違いと確認の方法までを、順番に説明します。

この記事でわかること

  • 求人の構造化データ(JobPosting)とは何か、Googleしごと検索との関係
  • 必須の項目と、入れておきたい推奨の項目
  • 給与・勤務地・雇用形態・在宅勤務の書き方
  • コピーして使えるJSON-LDの例
  • 募集を終えたときの対応と、ガイドライン違反になりやすい書き方
  • 入れたあとの確認の方法

求人の構造化データ(JobPosting)とは?

構造化データとは、ページに書かれている情報を、検索エンジンやAIが間違いなく読み取れるように、決まった書式で書き添えたものです。人が見る画面は変わりませんが、ページの中に機械向けの説明が入ります。基本は構造化データとは?の記事で説明しています。

JobPosting は、その中でも「このページは求人です。職種は〇〇、勤務地は〇〇、給与は〇〇」と伝えるための構造化データです。schema.org という、検索エンジン各社が共同で決めている語彙(ことばの決まり)で定められています。

Googleしごと検索とは

Googleで「〇〇市 事務 求人」「〇〇 パート 募集」のように検索すると、検索結果の中に、求人をまとめて表示する枠が出ることがあります。これがGoogleの求人の検索の機能で、日本では「Googleしごと検索」と呼ばれています。

この枠には、求人サイトの求人だけでなく、会社が自分のホームページに載せた求人も表示されます。表示の対象になるために必要なのが、JobPosting の構造化データです。

比べるところ構造化データがない求人ページJobPostingがある求人ページ
通常の検索結果表示される(ページの1つとして)表示される
Googleしごと検索の枠原則として表示されない表示の対象になる
求職者の絞り込み使えない勤務地・雇用形態・掲載日などで絞り込まれる対象になる
AIの読み取り本文から推測する職種・勤務地・給与を間違いなく読み取れる

AI検索にも関係する

ChatGPTやGoogleのAIによる概要に「〇〇市で土日休みの事務の求人は?」と聞く人もいます。構造化データで職種・勤務地・雇用形態をはっきり伝えておくと、AIが求人の中身を正しく読み取る手がかりになります。求人だけでなく、会社の情報もあわせて整えておくと効果的です。

小さな会社ほど、自社サイトの求人を整える意味がある

求人サイトに有料で掲載するのは、小さな会社にとって負担が大きいものです。自社のホームページの求人ページを整えておけば、費用をかけずに、Googleで仕事を探している人の目に触れる機会を作れます。また、求人サイトから応募を考えている人も、多くは応募の前に会社のホームページを見ます。自社の求人ページは、どちらの場合にも役に立ちます。

必須の項目と、推奨の項目

Googleが求人の構造化データで求めている項目は、次のとおりです。必須の項目が1つでも欠けると、Googleしごと検索の対象になりません。

項目必須・推奨内容書き方の例
title必須職種名一般事務(正社員)
description必須仕事の説明(HTMLで書ける)仕事内容・応募資格・勤務時間など
datePosted必須掲載した日2026-10-10
hiringOrganization必須採用する会社会社名・ホームページのURL・ロゴ
jobLocation必須(在宅のみの求人を除く)勤務地の住所都道府県・市区町村・番地・郵便番号
validThrough推奨募集の締め切り2026-12-31T23:59
employmentType推奨雇用形態FULL_TIME、PART_TIME など
baseSalary推奨給与月給22万〜28万円
identifier推奨会社の中での求人の番号2026-001
jobLocationType推奨(在宅勤務の場合)在宅勤務であることTELECOMMUTE
applicantLocationRequirements推奨(在宅勤務の場合)応募できる地域日本
directApply推奨そのページから直接応募できるかtrue または false

雇用形態(employmentType)の書き方

雇用形態は、決まった英語の値で書きます。

  • FULL_TIME:正社員などのフルタイム
  • PART_TIME:パート・アルバイト
  • CONTRACTOR:業務委託
  • TEMPORARY:期間限定の雇用、派遣
  • INTERN:インターン
  • VOLUNTEER:ボランティア
  • PER_DIEM:日払い
  • OTHER:そのほか

正社員とパートの両方で募集する場合は、["FULL_TIME", "PART_TIME"] のように複数書けます。ただし、条件が大きく違うなら、求人ページを分けたほうが、求職者にも分かりやすくなります。

給与(baseSalary)の書き方

給与は、通貨(日本円は JPY)、金額、単位(時給・日給・月給・年収)を組み合わせて書きます。単位は、HOUR(時給)、DAY(日給)、WEEK(週給)、MONTH(月給)、YEAR(年収)です。幅がある場合は、最低額(minValue)と最高額(maxValue)を書きます。

給与は、ページに書いてある金額と必ず合わせる

構造化データに書く内容は、ページの本文にも書かれていることが前提です。本文には「給与:応相談」としか書いていないのに、構造化データにだけ金額を入れる、ということはしないでください。逆に、本文に給与を書いているなら、構造化データにも入れておくと、求職者が条件で絞り込んだときに表示されやすくなります。

コピーして使えるJSON-LDの例

JSON-LDは、構造化データの書き方の1つで、Googleがすすめている形式です。求人ページの中に、次のような内容を <script type="application/ld+json"> で囲んで入れます。

正社員の求人の例

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "一般事務(正社員)",
  "description": "<p>受発注の入力、電話・来客の対応、書類の整理をお願いします。</p><p>応募資格:パソコンで文字の入力ができる方。未経験の方も歓迎します。</p><p>勤務時間:9:00〜18:00(休憩60分)/休日:土日祝</p>",
  "identifier": {
    "@type": "PropertyValue",
    "name": "株式会社〇〇",
    "value": "2026-001"
  },
  "datePosted": "2026-10-10",
  "validThrough": "2026-12-31T23:59",
  "employmentType": "FULL_TIME",
  "hiringOrganization": {
    "@type": "Organization",
    "name": "株式会社〇〇",
    "sameAs": "https://www.example.co.jp/",
    "logo": "https://www.example.co.jp/images/logo.png"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "〇〇町1-2-3",
      "addressLocality": "〇〇市",
      "addressRegion": "〇〇県",
      "postalCode": "000-0000",
      "addressCountry": "JP"
    }
  },
  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "JPY",
    "value": {
      "@type": "QuantitativeValue",
      "minValue": 220000,
      "maxValue": 280000,
      "unitText": "MONTH"
    }
  }
}
</script>

「〇〇」とURLは、自社のものに置き換えてください。description の中は、HTMLのタグ(段落の <p> や改行の <br>、箇条書きの <ul> <li>)で書けます。ページの本文と同じ内容を入れます。

パート・アルバイトの時給の例

時給の場合は、baseSalary の部分を次のように変えます。

"employmentType": "PART_TIME",
"baseSalary": {
  "@type": "MonetaryAmount",
  "currency": "JPY",
  "value": {
    "@type": "QuantitativeValue",
    "value": 1200,
    "unitText": "HOUR"
  }
}

金額に幅がなければ、minValue と maxValue の代わりに value を使います。

在宅勤務(リモートワーク)の求人の例

勤務地がなく、完全に在宅で働く求人は、jobLocation の代わりに、jobLocationType と applicantLocationRequirements を書きます。

"jobLocationType": "TELECOMMUTE",
"applicantLocationRequirements": {
  "@type": "Country",
  "name": "日本"
}

週に何日か出社する求人は、在宅勤務の求人ではないので、jobLocation で勤務地を書きます。

〇〇工務店の求人ページの場合

よくある状態:「採用情報」のページ1つに、大工・現場監督・事務の3つの求人がまとめて書かれ、構造化データは入っていない。
直すこと:①職種ごとにページを分ける(大工の求人、現場監督の求人、事務の求人)②それぞれのページに、仕事内容・応募資格・給与・勤務時間・休日を書く ③それぞれのページに JobPosting の構造化データを入れる ④「採用情報」のページは、3つの求人ページへの一覧にする(一覧のページには JobPosting を入れない)。

求人ページの本文に書いておきたいこと

構造化データは、ページの本文の内容を機械向けに書き直したものです。本文の中身が薄いと、構造化データに書けることも少なくなります。構造化データより先に、求人ページの本文を充実させるのが順番です。求職者が応募を決める前に知りたいことを、次のように整理して書きます。

  • 仕事内容:1日の流れ、担当する作業、使う道具やソフト
  • 応募資格:必須の資格・経験と、あれば歓迎する経験。未経験でもよいか
  • 勤務地:住所、最寄り駅や車通勤の可否、転勤の有無
  • 勤務時間と休日:始業・終業の時間、休憩、休日、残業の目安
  • 給与と待遇:給与の幅、昇給・賞与、交通費、社会保険
  • 応募の方法:応募フォーム、電話、メールなど。応募のあとの流れ(面接の回数など)
  • 会社や職場の様子:従業員の人数、一緒に働く人、職場の写真と説明

これらを見出しで区切って書くと、求職者が読みやすいだけでなく、AIが「この求人は〇〇市の事務で、土日休み」のように中身を読み取りやすくなります。「よくある質問」として、「未経験でも応募できますか?」「車通勤はできますか?」のような質問と答えを入れておくのもおすすめです。

WordPressで求人の構造化データを入れる方法

WordPressで JobPosting を入れる方法は、主に3つあります。

  1. 求人向けのプラグインを使う:求人の入力欄に職種や給与を入れると、構造化データを自動で出してくれるプラグインがあります。求人の数が多い会社に向いています
  2. SEOプラグインの機能を使う:SEOプラグインの中には、ページごとに構造化データの種類を選べるものがあります。求人の種類に対応しているかは、使っているプラグインの説明で確かめてください
  3. カスタムHTMLブロックで直接入れる:上のJSON-LDの例を書き換え、求人ページの本文の中に「カスタムHTML」ブロックを追加して貼り付けます

求人が数件しかない小さな会社なら、3の方法がいちばん手軽です。ブロックエディタで求人ページを開き、本文の最後で「+」ボタンを押して「カスタムHTML」を選び、JSON-LDを貼り付けて更新します。プラグインを使わずに構造化データを入れる方法は、WordPressに構造化データをプラグインなしで入れる方法の記事で詳しく説明しています。

会社の情報の構造化データも一緒に整える

hiringOrganization(採用する会社)には、会社名・URL・ロゴを書きます。あわせて、トップページや会社概要のページに、会社そのものの構造化データ(Organization)を入れておくと、Googleが「この求人を出しているのは、どんな会社か」をつなげて理解しやすくなります。書き方はOrganizationの構造化データの記事で説明しています。入力欄に書き込むだけでコードを作れるツールもあります。

構造化データ作成ツールを使う(無料)

調査:構造化データの不足(22業種・2,296サイト)

  • 運営者の情報が、構造化データに十分入っていない:97%
  • ページの内容の種類を、構造化データで伝えていない:91%
  • 構造化データ(JSON-LD)そのものがない:59%
  • 会社概要(運営者情報)の中身が不十分:48%

選ばれるAI診断が22業種・2,296の公式サイトを診断したところ、構造化データそのものがないサイトが59%ありました。求人の構造化データを入れるのをきっかけに、会社の情報やページの内容の構造化データも整えると、検索でもAIでも、会社の情報が正しく伝わりやすくなります。

募集を終えたときの対応と、ガイドラインの注意点

求人の構造化データは、ほかの構造化データより、Googleのガイドライン(守るべき決まり)が細かく決められています。違反すると、Googleしごと検索に表示されなくなったり、Search Consoleで警告を受けたりすることがあります。

募集を終えたら、すぐに外す

採用が決まって募集を終えたのに、求人ページと構造化データを残したままにしておくのは、よくある違反です。応募してきた人をがっかりさせるだけでなく、Googleからの評価も下がります。募集を終えたら、次のどれかを行います。

  • 求人ページを削除する(ページが見つからない状態にする)
  • 求人ページから JobPosting の構造化データを外し、「この求人の募集は終了しました」と書く
  • validThrough(締め切り)を入れておき、その日を過ぎたら外す

締め切りが決まっている求人は、最初から validThrough を入れておくと、外し忘れの対策になります。サイトマップに求人ページを載せている場合は、サイトマップからも外します。

ガイドライン違反になりやすい書き方

  • 求人の一覧のページに JobPosting を入れる(1つの求人のページにだけ入れる)
  • 実際には募集していない、人材を集めるためだけの求人を載せる
  • 応募するのにお金がかかる、または商品の購入が条件になっている求人
  • 本文に書いていない給与や条件を、構造化データにだけ書く
  • 仕事の説明が短すぎる、または職種名に「急募!」「高収入」などの宣伝文句を入れる
  • 掲載日(datePosted)を、実際より新しい日付に書き換え続ける

職種名(title)には、職種の名前だけを書きます。「【急募】未経験OK!高収入の事務スタッフ」のような書き方ではなく、「一般事務」「経理事務(パート)」のように書きます。宣伝したい内容は、description(仕事の説明)の中に書いてください。

入れたあとの確認の方法

構造化データを入れたら、正しく読み取られるかを確かめます。

  1. リッチリザルトテストで確かめる:Googleのリッチリザルトテストに求人ページのURLを入れ、「求人情報」が検出されるか、エラーや警告がないかを見る
  2. Schema Markup Validatorで確かめる:schema.orgの検証ツールで、書いた項目がすべて読み取れているかを見る
  3. Search Consoleで確かめる:数日〜数週間たつと、Search Consoleの「拡張」などの欄に求人情報の報告が出ることがあるので、エラーがないかを見る
  4. URL検査でインデックスを依頼する:Search ConsoleのURL検査で求人ページのURLを入れ、「インデックス登録をリクエスト」を押すと、早めに読み直してもらえることがある

確認のツールの使い方は、構造化データの確認方法の記事とSchema Markup Validatorの使い方の記事で説明しています。

求人の構造化データのチェックリスト

  • 1つの求人につき、1つのページになっている
  • title・description・datePosted・hiringOrganization・jobLocation の5つが入っている
  • 給与・雇用形態・勤務地が、ページの本文の内容と合っている
  • 職種名に、宣伝文句を入れていない
  • 締め切りがある求人には、validThrough を入れている
  • 募集を終えた求人の構造化データを外している
  • リッチリザルトテストで、エラーが出ていない

Googleしごと検索に表示されるかどうか、どの位置に表示されるかは、Googleが決めます。構造化データを正しく入れても、すぐに表示されるとは限りません。入れたあとは、Search Consoleでエラーがないかを時々確かめながら、求人ページの中身(仕事内容や働く環境の説明)を充実させていくのが大切です。

よくある質問

求人の構造化データを入れれば、必ずGoogleしごと検索に載りますか?

必ずではありません。構造化データは、表示の対象になるための条件です。実際に表示されるかどうか、どの順番で表示されるかは、Googleが決めます。ガイドラインを守り、仕事の説明を充実させておくことが大切です。

求人サイトにも載せている求人を、自社サイトにも構造化データで入れていいですか?

入れて問題ありません。同じ求人が複数のサイトにある場合、Googleは同じ求人としてまとめて表示することがあります。自社サイトの求人ページには、応募の方法や問い合わせ先をはっきり書いておきましょう。

給与を公開したくない場合、baseSalary は書かなくてもいいですか?

baseSalary は推奨の項目なので、書かなくても表示の対象にはなります。ただ、求職者は給与で求人を比べることが多いので、書けるなら書いたほうが応募につながりやすくなります。書く場合は、本文にも同じ金額を書いてください。

1つのページに、複数の職種の求人をまとめてもいいですか?

Googleは、1つの求人につき1つのページを作り、そのページに JobPosting を入れることを求めています。複数の職種を募集している場合は、職種ごとにページを分け、一覧のページから各ページへリンクしてください。

募集を終えた求人ページは、削除しないといけませんか?

削除するか、構造化データを外して「募集は終了しました」と書くかのどちらかにします。ページそのものは、会社の採用の実績として残しておきたいこともあるので、構造化データだけを外す方法も選べます。

掲載日(datePosted)を更新すると、上のほうに表示されますか?

内容が変わっていないのに掲載日だけを新しくすることは、ガイドラインで問題とされる書き方です。掲載日は、実際にその求人を出した日を書きます。条件を変えて募集し直す場合は、内容も更新したうえで、新しい日付にします。

まとめ

求人の構造化データ(JobPosting)の書き方をまとめます。

この記事のまとめ

  • JobPosting を入れると、自社の求人がGoogleしごと検索に表示される対象になる
  • 必須は title・description・datePosted・hiringOrganization・jobLocation の5つ。給与・雇用形態・締め切りも入れたい
  • 1つの求人につき1ページ。一覧のページには入れない
  • 構造化データの内容は、ページの本文と必ず合わせる
  • 募集を終えたら、ページを削除するか構造化データを外す。締め切りは validThrough で書いておく
  • 入れたあとは、リッチリザルトテストとSearch Consoleで確かめる

求人の構造化データとあわせて、会社の情報が検索やAIに正しく伝わっているかも確かめてください。選ばれるAI診断なら、URLを入れるだけで、22項目の判定と理由を無料で確認できます。

自分のサイトを、無料で診断する

参考にした資料

調査の方法:2026年10月2日に見直した採点基準で再診断した結果です。選ばれるAI診断で、工務店・税理士事務所・歯科医院・クリニック・整体院・不動産会社など22業種の公式サイト2,296件(重複を除く)を診断し、項目ごとに「不足」または「一部不足」と判定された割合を集計しました。個別のサイト名は公開していません。