CLUSTER SEO BLOG
テクニカルSEOを中心にSEO対策をまとめています

Googleしごと検索向け構造化データの書き方

こんにちは、テクニカルSEO対策サービス「クラスターSEO」開発チームの江頭です。

JobPosting型の構造化データをマークアップすると、Googleしごと検索に求人を掲載できます。無料でGoogleに掲載できるので、求人情報のSEO対策として、Googleしごと検索は欠かせません。

本記事では、HTML にGoogleしごと検索向けの構造化データを正しくマークアップする方法を詳しく説明します。

リッチリザルトについては、以下の記事を参考にしてください。

Googleしごと検索とは?

Googleしごと検索とは、Googleで求人情報を検索したときに表示されるリッチリザルトの一つです。広告枠とWebサイト一覧の間に専用エリアとして表示されます。

たとえば、「薬剤師 求人」でGoogle検索すると、次のような結果が表示されます。

※当ページ内で掲載されている求人情報は、すべて説明のための架空の求人情報です。

Googleしごと検索の一覧

各求人をクリックすると求人の詳細画面が表示されます。

Googleしごと検索の詳細画面

JobPosting型の構造化データとは?

JobPosting型の構造化データは、求人の詳細情報(職種・勤務地・給与など)を表すデータ構造です。JobPosting型の構造化データをページに埋め込んでおくと、Googleしごと検索に掲載されるようになります。

構造化データは、求人情報を紹介する詳細画面のみに設置します。たとえば、求人サイトの場合、検索結果ページやカテゴリページのようなページにはJobPosting型の構造化データを設置しません。

構造化データの書式

Googleは、JSON-JDとmicrodataの2つの書式に対応しています。

形式説明
JSON-LDJSON形式でscriptタグとして記載する。
microdataHTMLタグ上で項目に該当する場所に属性を追加する。

ただし、microdata形式は、ページに表示する内容と構造化データとして指定する内容が微妙に異なる場合に対応が難しくなってしまいます。 JSON-LD形式の方が柔軟に設定できるので、Googleも推奨しています。

この記事では、JSON-LD形式のみを解説します。

JSON-LD形式の例

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

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

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "JobPosting",
  "datePosted": "2020-10-15",
  "validThrough": "2020-11-30",
  "employmentType": "PART_TIME",
  "title": "薬剤師"
,
  "description": "代々木八幡駅より徒歩3分の薬局です。<br><br>【仕事内容】<br>店舗にて、調剤業務、薬歴管理などを行っていただきます。 ・・・",
  "baseSalary" : {
    "@type" : "MonetaryAmount",
    "currency" : "JPY",
    "value" : {
      "@type" : "QuantitativeValue",
      "value" : 1000,
      "unitText" : "HOUR"
    }
  },
  "hiringOrganization": {
    "@type": "Organization",
    "name": "株式会社〇〇〇〇〇",
    "logo": "https://example.com/logo.png"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "postalCode": "151-0063",
      "streetAddress": "富ヶ谷0-0-0",
      "addressLocality": "渋谷区",
      "addressRegion": "東京都",
      "addressCountry": "JP"
    }
  }
}
</script>

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

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

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

求人概要

項目説明
datePosted求人情報の公開日です(ISO-8601形式)。
必須項目です。
(例1)2020-10-15
(例2)2020-10-15T10:00+09:00
validThrough求人情報の有効期限です(ISO-8601形式)。
(例)2020-11-30
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

JobPosting構造化データのテスト

JobPosting構造化データは、リッチリザルトテストツールでの確認が便利です。

構造化データを表すscriptタグを張り付けるか、URLを入力すると、構文チェックしてくれます。

リッチリザルトテストツールでJobPosting構造化データをテスト

Googleしごと検索で表示されないときのチェックポイント

構造化データをマークアップしても、求人情報がGoogleしごと検索に掲載されない場合は、以下の原因が考えられます。

原因1.構造化データの構文エラー

まずは、JSON-LD の構文エラーがないかどうかをリッチリザルトテストツールやGoogleサーチコンソール 確認します。Googleサーチコンソールでの確認手順は以下の通りです。

  1. URL を入力して Enter を押下する
  2. URL 検査画面で [公開URLをテスト]ボタンをクリックする

以下は、JSON の書式エラーがあった場合の画面です 。

エラーの対処方法については、以下ページにも詳しくまとめています。

原因2.当該URLがまだインデックスされていない

クローラーがまだページをクローリングしていない可能性があります。
Googleサーチコンソール で URL を入力し、[インデックス登録をリクエスト]ボタンをクリックしてください。

早ければ数分~数十分程度でクローリングされ、Googleしごと検索に表示されるようになります。

掲載ページが多数ある場合は、XMLサイトマップを作成し、Googleサーチコンソールでサイトマップを登録するとよいでしょう。

原因3.求人の有効期限が過ぎている

validThroughで指定した掲載期限が過ぎると、Googleしごと検索には表示されません。

掲載期間が延長した場合には、validThroughを変更します。

原因4.構造化データで指定した求人情報がページに表示されていない

Google の構造化データガイドラインでは、ページに表示されている内容と構造化データを一致させるように記載されています。

ページの読者に表示されないコンテンツをマークアップしないでください。たとえば、JSON-LD マークアップでパフォーマーが記述されている場合、HTML の本文でも同じパフォーマーが記述されている必要があります。

https://developers.google.com/search/docs/guides/sd-policies#content

構造化データで指定した求人情報が実際には存在しないような場合や、ページに掲載した情報と異なる場合は Google のガイドライン違反となります。ガイドライン違反があると、Googleしごと検索への掲載が停止されます。

原因5.求人一覧ページに構造化データを設置している

JobPosting型の構造化データを求人一覧ページに設置することはできません。求人詳細画面に構造化データを設置します。

まとめ

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

Googleしごと検索は、検索結果画面の上位に表示されるので、たくさんに人に閲覧してもらえる可能性があります。求人情報のSEO対策として是非取り組んでみてください。

Page Top