求人の構造化データ(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つあります。
- 求人向けのプラグインを使う:求人の入力欄に職種や給与を入れると、構造化データを自動で出してくれるプラグインがあります。求人の数が多い会社に向いています
- SEOプラグインの機能を使う:SEOプラグインの中には、ページごとに構造化データの種類を選べるものがあります。求人の種類に対応しているかは、使っているプラグインの説明で確かめてください
- カスタム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(仕事の説明)の中に書いてください。
入れたあとの確認の方法
構造化データを入れたら、正しく読み取られるかを確かめます。
- リッチリザルトテストで確かめる:Googleのリッチリザルトテストに求人ページのURLを入れ、「求人情報」が検出されるか、エラーや警告がないかを見る
- Schema Markup Validatorで確かめる:schema.orgの検証ツールで、書いた項目がすべて読み取れているかを見る
- Search Consoleで確かめる:数日〜数週間たつと、Search Consoleの「拡張」などの欄に求人情報の報告が出ることがあるので、エラーがないかを見る
- 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件(重複を除く)を診断し、項目ごとに「不足」または「一部不足」と判定された割合を集計しました。個別のサイト名は公開していません。