求人ポータルに必須!求人用構造化データに対応しましょう

先日、Google for Jobs が「しごと検索」として日本で開始予定という発表があったので、求人用の構造化データを確認してみましょう。

「しごと検索」とは

「しごと検索」は、Googleの検索結果に求人情報専用のブロックが表示される機能です。
海外では「Google for Jobs」という名前のようです。

Google しごと検索で、仕事探しをもっとスムーズに!
https://japan.googleblog.com/2019/01/shigoto-search.html

レシピ検索イベント検索 のように検索結果画面で目立つため、もし求人ポータルサイトを運営しているなら積極的に狙っていきましょう。
また、求人ポータルサイトでなくても自社の求人募集ページがあるなら、活用できると思います。

現時点(2019年2月時点)ではまだ日本ではサービス開始していませんが、今のうちに対応して Googlebot にクロールさせておくと良いと思います。

掲載されるには、自サイトに求人用の構造化データを記載する必要があります。

対象スキーマ

基本的には「JobPosting」タイプを使用します。

Schema.org JobPosting
https://schema.org/JobPosting
例として以下のようなデータです。(※架空の求人情報です)

{
  "@context": "https://schema.org/",
  "@type": "JobPosting",
  "title": "ソフトウェアエンジニア",
  "description": "<p>わたしたちは製品とテクノロジーが提供する世界的に多様なユーザーを反映する組織を目指しています。 優秀な人材を採用することに加えて、多様な視点、アイデア、そして文化が、より良い製品とサービスの創造につながると私たちは信じています。</p>",
  "datePosted": "2019-02-21",
  "validThrough": "2019-03-21T09:00",
  "employmentType": "受託業者",
  "hiringOrganization": {
    "@type": "Organization",
    "name": "アクセルメディア",
    "sameAs": "https://axel-media.com",
    "logo": "https://axel-media.com/images/logo.png"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "1-9 天龍ビル6F",
      "addressLocality": "新宿区四谷",
      "addressRegion": "東京都",
      "postalCode": "160-0004",
      "addressCountry": "JP"
    }
  },
  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "JPY",
    "value": {
      "@type": "QuantitativeValue",
      "value": 4000,
      "unitText": "HOUR"
    }
  }
}

構造化データを記載するページは、Google検索でヒットするページを集中させるためできれば求人詳細ページのみが良いでしょう。
例えば求人検索一覧ページなどに ItemList を記載する場合は、詳しい求人情報は載せず求人詳細ページのURLを ListItem として記載します。

{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "url": "https://example.com/job/0001.html"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "url": "https://example.com/job/0002.html"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "url": "https://example.com/job/0003.html"
    }
  ]
}
構造化データを記載したら、必ず構造化データテストツールでエラーがないか確認します。
URLがなくても、ソース(一部でも可)をコピー&ペーストしてテストできます。

構造化データテストツール
https://search.google.com/structured-data/testing-tool

インデックスさせるために

内部リンクがしっかり張られていれば、Googlebotは適切にクロールします。
またはXMLサイトマップでも良いでしょう。

しかし、できるだけ Indexing API を使いましょう。
(Indexing API は今のところ求人専用のAPIです)

なぜなら、最新の求人情報をより速くインデックスさせることができるのはもとより、URLをGoogleインデックスから削除することができるのが大きなメリットです。

募集が終了した求人情報は 「しごと検索」のガイドライン により無効と判断されます。
内部リンクやXMLサイトマップではURLを送信するのみですが、Indexing API で速やかに削除することで余計なクロールも避けられると思います。

Indexing API を使用するには、以下の設定が必要です。
  • Search Console でサイトの所有権が確認済み
  • Developers Console にプロジェクトを作成済み
  • プロジェクト内で Indexing API が有効になっている
  • プロジェクト内でサービスアカウントが作成済み(秘密鍵が必要です)
秘密鍵を使って、APIクライアントライブラリ でリクエストを送信します。
ライブラリを直接使っても良いですが、Laravel ならラッパーライブラリも検討してみて良いでしょう。

WordPress の場合、まだこれといったプラグインがないため、自前での実装になると思います。
ご依頼があれば弊社でプラグイン作成を請け負えるかもしれません。

以上、簡単に見てきました。
既存の求人ポータルサイトに組み込むのは容易ではないかもしれませんが、なるべくサービス開始までに対応できるよ良いですね。

もっと詳しく知りたい方は Google公式の求人情報ガイド もご参考ください。