Googleしごと検索の構造化データ実装方法

Googleしごと検索(Google for Jobs)に求人情報を表示させるためには、求人ページに構造化データ(JobPosting)を正しく記述する必要があります。

ここでは、LOGZA WEB(ログザウェブ)が実際の制作現場で行っている実装方法をもとに、基本的なファイル構成から構造化データの記述方法、各項目の設定内容、運用時の注意点までをまとめています。

ファイル構成

Googleしごと検索は、求人ページに構造化データ(JobPosting)を記述することで対応できます。

必要なファイルは求人ページのみで、基本構成は下記の通りです。


                    index.php              ← トップページ
                    ├─ recruit/
                     └─ index.php        ← 求人ページ(構造化データ記述)
                    

構造化データ(JobPosting)の記述

構造化データ(JobPosting)はheadタグ内に記述します。

基本的にはheadタグ内であればどこでも問題ありませんが、metaタグやCSSの読み込み後に記述する形が一般的です。


<head>
    <title>求人情報|会社名</title>

    ・・・既存のmetaやCSSなど・・・

    <!-- 下記から構造化データ -->
    <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "JobPosting",

        "title": "Googleしごと検索に表示されるタイトル",

        "description": "ここにメインとなる求人情報の説明文を記述",

        "datePosted": "2025-04-01",
        "validThrough": "2025-05-31",

        "employmentType": "FULL_TIME",
        "image": "https://example.com/images/logo.png",
        "url": "https://example.com/recruit/",
        "hiringOrganization": {
            "@type": "Organization",
            "name": "株式会社サンプル",
            "sameAs": "https://example.com"
        },

        "jobLocation": {
            "@type": "Place",
            "address": {
                "@type": "PostalAddress",
                "streetAddress": "住所(例:○○1-2-3)",
                "addressLocality": "○○市",
                "addressRegion": "○○県",
                "postalCode": "郵便番号",
                "addressCountry": "JP"
            }
        },

        "baseSalary": {
            "@type": "MonetaryAmount",
            "currency": "JPY",
            "value": {
                "@type": "QuantitativeValue",
                "minValue": 200000,
                "maxValue": 400000,
                "unitText": "MONTH"
            }
        }
    }
    </script>

</head>

各項目の設定内容

構造化データ(JobPosting)で設定する際に可変となる項目において、実際の入力内容や考え方は下記の通りとなっております。

求人タイトル(title)

titleはGoogleしごと検索の一覧に表示される求人タイトルになります。

職種名が分かりやすく伝わる内容に設定します。

title入力例
  • 居酒屋ホールスタッフ
  • 建設・土木作業
  • 自動車整備士

仕事内容の説明(description)

descriptionはGoogleしごと検索で表示される求人内容の説明になります。

業務内容・条件・特徴など、求職者が仕事内容を判断できる情報を具体的に記載します。

求人の掲載開始日(datePosted)

datePostedは求人情報を掲載した日付を設定します。

形式は「YYYY-MM-DD」で記述し、実際の公開日または更新日を設定します。管理画面などから変更できるようPHPで動的に出力することも可能です。

記述例
  • 2025-04-01
  • <?php echo $date_posted; ?>

求人の掲載終了日(validThrough)

validThroughは求人情報の掲載終了日を設定します。

形式は「YYYY-MM-DD」で記述し、募集終了予定日を設定します。終了日が未定の場合でも、一定期間後の日付を設定しておくことで掲載状態を維持できます。管理画面などから変更できるよう、PHPで動的に出力する運用も可能です。

記述例
  • 2025-05-31
  • <?php echo $valid_through; ?>

雇用形態(employmentType)

employmentTypeは求人の雇用形態を設定します。

Googleが定義している形式で記述する必要があり、日本語ではなく英語のコードを使用します。

記述例
  • 正社員の場合 → FULL_TIME
  • パート・アルバイトの場合 → PART_TIME
  • 契約社員の場合 → CONTRACTOR
  • 派遣社員の場合 → TEMPORARY
  • インターンの場合 → INTERN
  • 日雇いの場合 → PER_DIEM
  • その他の場合 → OTHER

画像(image)

imageはGoogleしごと検索の一覧に表示されるロゴ画像を設定します。

URLは絶対パス(httpsから始まるURL)で記述し、サイズは112×112px以上(推奨600×600px以上)の正方形画像を使用します。

記述例
  • https://example.com/images/logo.png

求人ページURL(url)

urlは求人情報の詳細ページURLを設定します。

Googleしごと検索の一覧から遷移するリンク先となるため、実際の求人ページのURLを絶対パス(httpsから始まるURL)で記述します。

記述例
  • https://example.com/recruit/

会社情報(hiringOrganization)

hiringOrganizationは求人を掲載している会社情報を設定します。

会社名や公式サイトURLを設定し、Googleに求人の提供元企業を認識させる重要な項目です。

記述例
  • "@type": "Organization"(固定)
  • 会社名 → name
  • 公式サイトURL → sameAs

勤務地(jobLocation)

jobLocationは勤務先の所在地情報を設定します。

住所情報を設定することで、Googleしごと検索で地域に関連した求人として認識されます。

記述例
  • "@type": "Place"(固定)
  • "@type": "PostalAddress"(固定)
  • 番地・建物名 → streetAddress
  • 市区町村 → addressLocality
  • 都道府県 → addressRegion
  • 郵便番号 → postalCode
  • 国コード → addressCountry(JP固定)

給与情報(baseSalary)

baseSalaryは給与情報を設定します。

給与の金額範囲と支払い単位(月給・時給など)を指定します。最低金額のみ、または固定金額のみでも設定可能です。

記述例
  • "@type": "MonetaryAmount"(固定)
  • 通貨 → currency(JPY固定)
  • "@type": "QuantitativeValue"(固定)
  • 最低給与 → minValue
  • 最高給与 → maxValue(任意)
  • 給与単位 → unitText(MONTH / HOUR / DAY など)
給与単位(unitText)一覧
  • 年収 → YEAR
  • 月給 → MONTH
  • 週給 → WEEK
  • 日給 → DAY
  • 時給 → HOUR

構造化データの注意事項

求人ページと構造化データは1対1で設定

構造化データ(JobPosting)は、1つの求人ページに対して1件の求人情報を記述するのが基本となります。

複数求人をまとめて1つの構造化データにするのではなく、求人ごとにページを分ける構成が推奨されています。

正しい例(OK)
  • recruit/driver.html → ドライバー求人の構造化データ
  • recruit/staff.html → 事務スタッフ求人の構造化データ
間違った例(NG)
  • recruit/index.html に複数求人をまとめて1つの構造化データ

求人内容と構造化データの内容を一致させる

ページ内に表示されている求人内容と構造化データの内容は一致させる必要があります。

構造化データだけ異なる情報を記述すると、Googleに無効と判断される可能性があります。

募集終了後は日付を更新または削除

募集が終了した求人はvalidThroughを更新するか、構造化データを削除する必要があります。

終了した求人を掲載し続けると検索表示に影響する可能性があります。

ホームページ制作のご依頼・ご相談

お電話でのお問い合わせ
平日 09:00-18:00
メールでのお問い合わせ