TOP BLOG Google for Jobs[しごと検索]をWordPressで対応した話(プロトタイプ)
#GIVE IT A SHOT
Google for Jobs[しごと検索]をWordPressで対応した話(プロトタイプ)
2019.02.05 Satoshi Yoshida

2019年1月から日本でも開始されたGoogle しごと検索(米: Google for Jobs、GFJ)。
弊社求人ページも試験的に突貫工事で対応させました。
1月24日中に実装して経過を見たところ 28日には掲載を確認できました。

しかし、最初に掲載された頃は「デザイナー 求人」というキーワードで弊社京都オフィスの求人がでてきましたが、現在は”社名で検索しないと出てこない”という不穏な空気が流れています。サードパーティーの求人サイトに掲載された情報は継続して表示されますので、他の求人サイトが対応し始めて埋もれたのか、仕様が変わったのか、自社サイトの情報が悪いのか・・・そのうち出てくることを願っています。

Google for Jobs[しごと検索]の掲載条件

  • 求人1つが独立したページで存在すること
  • そのページから応募できる(エントリーフォームへのリンクでも可)こと
  • 求人のタイトルには職務に関する情報のみ(給与や期間などの条件はNG)が含まれていること

このあたりに気をつければ、掲載情報の条件や縛りは特別厳しいということはなさそうです。

ただし情報を掲載すること自体に専門的な知識が必要です(後述)最近 日本でも頭角を現している Indeedも 1つの求人情報だけが載っている独立したページを用意することが条件ですので、2019年は求人ページを分散する「リクルートページ最適化」なるものが加熱するんではないでしょうか。

求人情報の構造化データ、JobPosting について詳しい仕様は、日本語のリソースでは以下の記事がわかりやすかったです。
Google for Jobs対応 求人情報構造化データ JobPostingおさらい(https://w3g.jp/blog/goo…)

実装の方法や技術的なことをざっくりと

GFJ、しごと検索に対応させるには構造化データと sitemap.xml もしくは Google Indexing APIの知識が必要です。公式ドキュメント(https://developers.google.com/sear…)によると、求人情報(Job Posting)の構造化データをページに埋め込み、Google クローラーを呼び込み巡回させることで掲載されるようです。

WordPressで構築されている弊社サイトで、プロトタイプ的に実装しました。
(会社情報など一部の情報はハードコーディングしてしまったので、あとで改修していきます)

テーマファイルを汚すとあとあとの改修が面倒なので、プラグインファイルを用意して実装します。

求人情報の構造化データを埋め込む

wp_head() にフックして求人記事にだけ構造化データを埋め込む仕組みです。

class jobposting {
  function __construct() {
    add_action('wp_head', array($this, 'wp_head'), 1);
  }
  function wp_head() {
    // 構造化データ出力処理
  }
}

ページに構造化データが出力されたら、構造化データテストツールでエラーがないか確認します。(https://search.google.com/structured-da…)

必須項目でエラーがなければ準備が整いました。次はGoogleのクローラーを呼び込みます。

Indexing APIでGoogleにリクエストを送る

「求人情報の URL では、サイトマップではなく Indexing API を使用することをおすすめします。」と、公式ドキュメントにもあるようにIndexing APIをつかいます。Indexing APIの方がスムーズにクローリングされ、より新鮮な求人情報を提供できるようになります。

Indexing API のドキュメントはこちら( https://developers.google.com/sear… )

とりあえず今回は試験的な実装なので、WordPessにエンドポイントを増やして特定のURLにアクセスするとAPIが使えるようにするだけという突貫工事です。

add_rewrite_endpoint( 'googleindexingapi', EP_ROOT);
add_rewrite_rule('googleindexingapi/url/(.+)/?$', 'index.php?url=$matches[1]', 'top');
// ※ このコードは公開用に書き換えてます
// 非公開とはいえ エンドポイントをもっと複雑にしたり受け取るデータのバリデートはしてください</pre>
<p>プラグインにAPIのライブラリを同梱します。PHPのライブラリはgitHubで公開されています。</p>
<pre class="lang:php">// ライブラリを読み込む
require_once plugin_dir_path( __FILE__ ) . 'google-api/vendor/autoload.php';
$client = new Google_Client();
$client-&gt;setAuthConfig(APIコンソールから取得した鍵、JSONファイル);
// Indexing API にスコープ
$client-&gt;addScope('https://www.googleapis.com/auth/indexing');

このように、ドキュメント通りに実装します。APIの認証は oAuth 2.0 で、追加したエンドポイントでコールバックURLをつくって、トークンを受け取ってください。

Indexing API の準備が整ったら、求人情報を掲載したURLのクロールリクエストをGoogleへ投げます。

掲載確認と効果測定を

これでクロールされてエラーがなければ、数日ほどで掲載されます。リクエスト後はサーチコンソールでエラーがないかチェックしたり、しごと検索で実際に会社名で検索してみて、”提供元”が社名になっている情報があるか確認しましょう。( https://www.google.com/search?q=%E6%A0%AA%E5%BC%… )

無事に掲載されたら、実際にアクセスがあったか効果測定です。

Google Analytics では、GFJからのアクセスは参照元が「 google_jobs_apply / organic 」のアクセスとして記録されるので、それを抽出すれば効果測定ができます。

余談

検索結果に表示される[株]とかのアイコン。企業名のイニシャルで[株]ばかり並ぶのはかなりイケてないので、企業ロゴに変更できないか調べたところ、Google ナレッジグラフで表示される企業でないと変えられないようなので中小企業ではここの変更はちょっと厳しそうです。(サードパーティーの求人サイトに掲載された企業情報は変更できるそうです)

CATEGORY
TAG
ARCHIVE