プラカンブログSTAFF BLOG

2019.06.25

新たな求人情報検索ツール!Google しごと検索(Google for Jobs)を取り入れよう!

こんにちは。デザイナーのSUGIYAMAです。

2019月1月にGoogleから「Google しごと検索(Google for Jobs)」というサービスが正式に発表されました。
さっそくお客様から導入したいと要望もあり、実装してみました。その際、調べた導入方法や注意点を覚え書きも兼ねて、紹介しようと思います。


Google しごと検索(Google for Jobs)とは?

求人情報を探しているユーザーに対して、Googleがそのユーザーに適した情報をウェブ上の転職・求人情報サイトや企業の採用ページ等から求人情報を探して、検索結果に分かりやすく表示するサービスです。 2017年にアメリカから始まり、既に北米・南米の全域を含む、世界の多くの地域で公開されています。日本でも今年の始めについにサービスが開始されました。

例えば大阪でデザイナーの求人を探したい場合、Googleの検索窓に「大阪 デザイナー 求人」と入力し、検索すると結果画面に専用の求人エリアが表示され、該当する採用情報の一覧が表示されます。


表示されるためには?

自社の求人を表示させるには2つの方法があります。
まずは1つに、「Google しごと検索」に対応している求人サイトに登録する方法です。
既にいくつかの求人情報が掲載されていますが、ハローワークや大手求人情報サイトは既に対応されているようで、一覧にも表示されています。
2つ目は、「自社サイトでマークアップ」する方法です。
自社サイトで公開している求人情報をJobPostingでマークアップすればGooglebotがクロール時にその情報を取得してくれます。


自社サイトへの導入方法

大まかなフローとしては、以下の3つになります。

  1. 求人ページを作成する
  2. ページ内に構造化データを記述する
  3. Google側に通知する

になります。

1.求人ページを作成する

まず、自社サイトに求人ページがない場合は、作成しましょう。
個人的には職種別にページを作成する方がいいかと思っています。理由としては次に説明する「構造化データ」が関わってきますが、勤務地などは複数設定できるのですが、職種の設定がないので、その職種用のページを設けました。(今後変わってくるかもしれませんが。。。)

ちなみにIndeedの場合は、勤務地も分けておく必要があります。Googleの場合でも今のところは分けても問題ないそうですが。

2.ページ内に構造化データを記述する

作成したページをGoolgeに求人情報という事を認識してもらうため、構造化データをページ内に記述します。
構造化データはJSON-LDでマークアップしていきます。
JSON-LDはページのどこに記述しても問題ないようですが、通常は <head> タグ内に記述するようです。

以下は構造化マークアップの例です。

<!-- Google for Jobs TAG start -->
<script type="application/ld+json">{
 	"@context" : "http://schema.org/",
    "@type" : "JobPosting",
    "title" : "Webデザイナー",
    "description" : "求人に関する詳細な説明を記載します",
    "datePosted" : "2019-04-01", 
	"validThrough" : "2019-10-01",
    "employmentType" :  ["FULL_TIME", "CONTRACTOR"],
    "hiringOrganization" : {
        "@type" : "Organization",
        "name" : "プラスデザインカンパニー株式会社(Plus Design Company Inc.)",
        "sameAs" : "https://www.plusdesign.co.jp/"
    },
   "jobLocation" : [
		{
			"@type" : "Place",
			"address":{
				"@type": "PostalAddress",
				"streetAddress" : "西区土佐堀1丁目1-1-21",
				"addressLocality" : "大阪市",
				"addressRegion" : "大阪府",
				"postalCode" : "550-0001",
				"addressCountry": "JP"
			}
		},
		{
			"@type" : "Place",
			"address":{
				"@type": "PostalAddress",
				"streetAddress" : "神田小川町1-10-2",
				"addressLocality" : "千代田区",
				"addressRegion" : "東京都",
				"postalCode" : "101-0052",
				"addressCountry": "JP"
			}
		}
	],
    "baseSalary": {
        "@type": "MonetaryAmount",
        "currency": "JPY",
        "value": {
            "@type": "QuantitativeValue",
            "value": 3600000,
			"minValue": 3600000,
        	"maxValue": 8000000,
            "unitText": "YEAR"
        }
    }
}</script>
<!-- Google for Jobs TAG end -->

属性の解説

求人情報(Job Posting)の構造化データの属性の詳細です。

プロパティ 必須 説明
@context 必須 schema.orgに則った構造化データであることを示すための項目です。
ここは「http://schema.org」と記述します。
@type 必須 このデータがどういった種類のデータを表しているのかを宣言するための項目です。
データタイプとして「JobPosting」を指定します。
title 必須 求人情報のタイトルではなく、職種の名称を入力するための項目です。
待遇など職務以外の情報を含めてはいけません。
また、「!」や「*」などの特殊文字を多用している場合、スパム行為と見なされる可能性があります。数値や、「/」、「-」などの区切り文字程度は使用できます。
description 必須 HTML形式で求人に関する詳細な説明を記載するための項目です。
タグとして、<br>, <p>, <ul>, <li>, <h1-h5>,<strong>, <em>などは使用可能とのことです。
datePosted 必須 求人情報が公開された日を入力するための項目です。
入力はYYYY-MM-DDというように「-」で区切ります。時刻部分は割愛しても問題ありません。
validThrough 必須

求人情報が期限切れになる日付を入力するための項目です。

Googleの構造化データタイプの定義では 「求人情報に有効期限がない場合や、求人情報がいつ期限切れになるかがわからない場合は、このプロパティを指定しないでください。」とありますが、記載がない場合エラー扱いになります。気になるようであれば指定しておきましょう。
また有効期限をだいぶ先に設定した場合、スパム扱いを受けたりの可能性もあるので、半年くらいで設定しておくことが無難です。

employmentType 推奨 雇用形態を表すのに指定するための項目です。
雇用形態は下記から選択します。(必ず大文字で記述してください)

  • “FULL_TIME”
  • “PART_TIME”
  • “CONTRACTOR”
  • “TEMPORARY”
  • “INTERN”
  • “VOLUNTEER”
  • “PER_DIEM”
  • “OTHER”

また、複数の雇用形態を指定することも可能です。

hiringOrganization 必須 求人を募っている組織(企業・団体)に関する情報を入力するための項目です。
jobLocation 必須 オフィスや作業現場など、従業員の職場となる場所を入力するするための項目です。
複数設定も可能です。
baseSalary 推奨 基本給(諸手当を含まない基本となる給料)を掲示するための項目です。
unitText には、次のいずれかの値(大文字と小文字を区別)を使用します。

  • “HOUR”(時給)
  • “DAY”(日給)
  • “WEEK”(週給)
  • “MONTH”(月給)
  • “YEAR”(年給)

給与の範囲を指定する場合は、value ではなく、minValue と maxValue を定義しますが、value にもminValueと同額を入力しておく必要があります。

通知する前にプレビューで確認!
構造化データを入力し、サイトにアップした場合、クローラーが来た時点でGoogleに認識されますが、 反映前に、エラーがないか、どのように表示されるかを確認する場合「構造化テストツール」で プレビューすることができます。

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

プレビューの手順は以下の通りです。

  1. 求人情報ページのURLを入力
  2. 検出画面より「JobPosting」を選択
  3. 展開後「プレビュー」をクリック
  4. プレビュー画面が表示されるので、求人をクリックし詳細を確認

3.Google側に通知する

最後はGoogleに以下の方法でアナウンスして、クローラーからインデックスしてもらいましょう。

  1. Indexing API を利用する
  2. sitemap.xmlを利用する

1.Indexing API を利用する(Google推奨)

Googleが求人情報ページ向けに、追加または削除されたときにGoogleに直接通知する事ができるようのAPIです。ページにだれかアクセスする度に、Googleがクロールするように指示します。
Indexing API については基本無料ですが、1日200リクエストまでの制限があり、それ以上の場合は、申し込みが必要になるようです。

Indexing API クイックスタート
https://developers.google.com/search/apis/indexing-api/v3/quickstart?hl=ja

2.sitemap.xmlを利用する

「Search Console」等を利用し、サイトマップのURLをGETリクエストとして追加して、Googleに新しいサイトマップを送信します。

Indexing APIをGoogleは推奨していますが、サイトマップは不要というわけではないようです。

求人情報の URL では、サイトマップではなく Indexing API を使用することをおすすめします。その理由は、Indexing API は Googlebot に対して、サイトマップを更新して Google に通知するよりもページをクロールするよう指示するためです。ただしそれでも、サイト全体をカバーするためにサイトマップを送信することをおすすめします。

Indexing API クイックスタートから引用

上記の説明の通り、求人情報だけではなくサイト全体をカバーするためにサイトマップは必須になりますので、サイトマップは常に更新時に、送信しておくといいでしょう。


WordPressとの連携

WordPressでサイト管理している場合も多いかと思いますが、サイトマップなどを更新してくれるプラグインがありますので、そちらを利用しましょう。

Google XML Sitemaps
https://ja.wordpress.org/plugins/google-sitemap-generator/
ウェブサイトのXMLサイトマップを生成・更新するプラグインです。

PubSubHubbub
https://ja.wordpress.org/plugins/pubsubhubbub/
WordPressで記事を投稿したときに瞬時にGoogleに投稿した記事を自動的に知らせてインデックスするプラグインです。

また、「Indexing API」の連動については以下のサイトで方法を紹介されていました。

Google for Jobs[しごと検索]をWordPressで対応した話(プロトタイプ)
https://www.arrival-quality.com/test-for-gfj/

タイトルにもありますが、まだ試験的な段階だそうですが、色々と調べてみましたが、具体的なものは現時点では、出てきませんでした。。。
需要はあるので、今後プラグインなどは開発されるかと思います。


最後に

まだ日本では発表されてからさほど日が経っていないので、まだ浸透しきっていませんが、今後導入していることは確実かなと思います。
また、 Google for Jobs 内で上位表示するにはどうしたらいいのかなど、新たな課題(ビジネス)が出てきそうですね。

+dc(杉)

この記事は、SUGIYAMA が書きました。