グーグルの求人情報「JOB POSTING」、検索結果に出るヤツ。
マークアップは難しくありませんが、やってみて分かったことをいくつか。
構文の出力
求人情報のようにフォーマットが決まっている情報(投稿)は、カスタムフィールドを用意しているケースが多いのではないかと思います。
そういう状態ならば、構文中にカスタムフィールドの出力を書いてやれば自動マークアップが出来ます。
また、雇用形態などをカテゴリー(タクソノミー)で分類している場合は、そのラベルやスラッグを出力。
大文字/小文字を区別するので、スラッグは強制的に大文字にしてやります。
title
「title = 職種」なので、「店舗A 販売員 正社員 急募!」のような書き方をしている場合、「the_title();」ではNG。
hiringOrganization
name:雇用者の正式組織名などが全求人情報で共通な場合は構文中に直書き。
sameAs:「echo home_url();」
description
「description」は本文の要約「the_excerpt();」でイイと思いますが、「求人情報に本文なんか無い!」というケースもままあると思います。
meta descriptionに出力しているモノでも良いのでしょうが、そんなに細かくは設定していないと思うので、各カスタムフィールドやタームを繋げて文章っぽくしてごまかすか、、、
“hiringOrganization” “name”では、”title”の人員を募集中です。勤務地は”jobLocation”、給与は”baseSalary” “value”から。あなたの活躍場所はココです!
↑こんな感じで切り貼り文章を出力してみましたが、特に問題はありませんでした。
そりゃ、そうか。あとは実際に応募が来るか来ないか、という効果の問題ですね。
所在地(勤務先)が間違ってると「false」
所在地を細かく出力しないと受け付けてくれないのが面倒ですが、更にグーグルマップのデータと一致しないと「false」になります。(マップで、「存在しない場所」になるヤツです。)
その場合は「streetAddress」を出力しなければエラーも出ず(警告は出る)、表示もされるのですが、表記順が英語仕様、かつ先頭の項目が英文で表示されちゃう謎仕様です。
雇用形態
「FULL_TIME」「PART_TIME」などを指定すればきちんと表示されますが、表記として認められているはずの「OTHER」にすると、なぜか「フルタイム」にされてしまいます。
今のところ、「その他」は使用不可っぽいです。
最後の行
{}の中の最後の行に「,」を書くと構文として認められないので注意。
"hiringOrganization": {
"@type": "Organization",//←,が必要
"name": "ピコクリ",//←,が必要
"sameAs": "<?php echo home_url(); ?>",//←,はNG!
}