Google しごと検索に求人情報が掲載されるようになるまで（勤務先住所が複数の場合）

**Google for Jobs？**
**Google しごと検索？？**
**Google 求人検索？？？**

いま主流の呼び名ってどれなんでしょうね・・・
とにかく、**Googleの検索結果に求人情報が出るようになったという例のアレ**です。

[Google Japan Blog: Google しごと検索で、仕事探しをもっとスムーズに！](https://japan.googleblog.com/2019/01/shigoto-search.html)
（2019年1月23日水曜日）
> 本日より、Google しごと検索 の提供を開始します。この新機能は、ウェブ上の転職・求人情報サイトや企業の採用ページ等から求人情報を探して、検索結果に分かりやすく表示します。

検索結果上に求人情報が表示されるようにした際のメモです。

# 主な参考記事

[求人情報 | 検索 | Google Developers](https://developers.google.com/search/docs/data-types/job-posting?hl=ja)
[構造化データに関するガイドラインに準拠する | 検索 | Google Developers](https://developers.google.com/search/docs/guides/sd-policies?hl=ja)


# マークアップからINDEXまでの手順

1. **schema.orgの構造化データをマークアップする**
（フォーマット：JSON-LD, タイプ：JobPosting）
[構造化データタイプの定義 | 検索 | Google Developers](https://developers.google.com/search/docs/data-types/job-posting?hl=ja#definitions)

2. **チェックツールで重要なエラーがないかチェックする**
[構造化データ テストツール](https://search.google.com/structured-data/testing-tool?hl=ja)
 - あくまでも構文チェックです。ガイドラインに準拠しているかまではチェックできないので、構文に問題が検出されなくても結果に表示されないことがあります。
 - 入力推奨プロパティは項目ごと削除すると警告が消える場合もあります。

3. **書いた構造化データを対象ページの`<body>`タグ内に貼り付ける**

4. **Google Search Consoleで対象ページのクロールリクエストを送る**
 - これがライブテストだと上手くいかなかった・・・やり方が悪かったのかもしれません・・・）

5. **クロールの結果を確認する。**
（クロール完了まで時間がかかります）
メニュー： 拡張 > 求人情報

6. **Googleで「〇〇（事業名） 求人」などのキーワードで検索し、求人検索結果に情報が表示されるようになったか検証する。**

7. **掲載された翌日以降、Google Search Consoleで表示回数があるかチェックする。**
メニュー： 拡張 > 求人情報 > 表示回数（チェックボックス）

8. （※検索結果に求人が出てこない、表示回数が極端に少ない場合）
**構造化データにガイドライン違反などSEO的な問題がないかチェックする。**


# 求人説明文のSEO

求人情報の説明文（description）に含まれているワードは**Googleの検索対象**となっています。
説明文は、**応募先ページの内容とマッチしている必要があります。**
（マッチしていないとガイドライン違反になる可能性が高いです）
タグを入れなくても改行されるようなので、文章の見た目は試してみた方が早いです。
Search Consoleのライブテストで検証を行うと、Google上のページへの修正反映が早いです。


# 絞り込みへの対応
![sample_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/79112/0c2ceea0-f51a-5b3a-0699-52d9c67f178c.png)

## 「地域」への対応
掲載したい求人が訪問事業（＝勤務先住所が変動する）だったので、`jobLocation`を配列にし、本部所在地の他、**1つの構造化データで複数のエリアに対応しました。**
住所を番地まで入れている本部所在地は、ページ上にマップと現在地からの経路が示されています。
（ただし、`streetAddress`を入れていないエリアで警告は出ています。。この影響でSearch Console表示回数が取れなくなっているかも。要検証。）

```
 "jobLocation": [
    {
      "@type": "Place",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "神田神保町1丁目14-1",
        "addressLocality": "千代田区",
        "addressRegion": "東京都",
        "postalCode": "101-0051",
        "addressCountry": "JP"
      }
    },
    {
      "@type": "Place",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "",
        "addressLocality": "中央区",
        "addressRegion": "東京都",
        "postalCode": "103-0000",
        "addressCountry": "JP"
      }
    },
    {
      "@type": "Place",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "",
        "addressLocality": "港区",
        "addressRegion": "東京都",
        "postalCode": "105-0000",
        "addressCountry": "JP"
      }
    },
  }
]
```

## 「投稿日」への対応
新しい投稿が上位に表示されているようです。
投稿日は構造化データのプロパティで更新することができます。

```
  "datePosted": "2020-01-01",
  "validThrough": "2039-01-01",
```

## 「形態」への対応
正社員とパートタイムの両方で設定したかったんだけど、2件合わせての設定は無理かも・・・
できたとしても、配列の構造の都合で給与額が「正社員は月給○○万」「パートタイムは時給○○円」という記述が恐らくできないです。
雇用形態ごとに別ページで管理するか、採用強化したい時期に合わせてプロパティを更新するのが良さそうです。

```
  "employmentType": "FULL_TIME",
```

##  「カテゴリ」「企業」への対応
入れても入れなくても反映される時があるようです・・・検証しきれていません。

# 引き続き検証の余地あり
わたしが現状で分かっていることはここまでです。
知見が増えたら更新します！