採用運用

Indeed XML フィードと Google Jobs JSON-LD の仕組み

ClarityHire Team(Editorial)7 min read

2つのメイン配布チャネル

Indeed またはGoogle Jobs に職務投稿する場合、2つのオプションがあります:

  1. 直接投稿 — Indeed.com にログイン、フォーム入力、公開クリック
  2. フィードで配信 — 機械可読フォーマット(XML または JSON-LD)で独自の職務リストを提供。職務掲示板はフィードをプルしてインデックス

直接投稿は簡単ですが限定的。配信は少し技術的ですが正確な制御を与えます:システムで職務ステータス、給与、要件を更新し、データを再入力するしないで数時間以内に Indeed に反映します。

ほとんどの真剣な採用チームはフィードを使用。

Indeed XML 形式

Indeed は専有 XML フィード許可。ここはストラクチャー:

<?xml version="1.0" encoding="UTF-8"?>
<source>
  <publisher>Your Company Name</publisher>
  <publisherurl>https://yourcompany.com</publisherurl>
  <lastBuildDate>2026-05-21T10:00:00Z</lastBuildDate>
  <job>
    <title>Senior Backend Engineer</title>
    <date>2026-05-21T08:00:00Z</date>
    <repourl>https://yourcompany.com/jobs/senior-backend-engineer</repourl>
    <description><![CDATA[
      <p>We are hiring a senior backend engineer...</p>
      <ul>
        <li>5+ years Python/Go experience</li>
      </ul>
    ]]></description>
    <salary>120000</salary>
    <hiringOrganization>Your Company</hiringOrganization>
    <jobLocation>
      <countryName>US</countryName>
      <stateName>California</stateName>
      <cityName>San Francisco</cityName>
    </jobLocation>
    <employmentType>FULL_TIME</employmentType>
    <jobCategory>ENGINEER</jobCategory>
  </job>
</source>

キー要素:

  • <title> 職務タイトル(必須)
  • <description> フル職務説明。HTML または特別文字がある場合 <![CDATA[...]]> でラップ。CDATAに HTML を配置しません — クリーンテキストか HTML マークアップを追加します。
  • <salary> USD で基本給。一部地域給与範囲許可、Indeed は主に単一値をインデックス。
  • <jobLocation> 市、州、国。リモート場合、省略または市を「リモート」に設定します。
  • <date> 職務が投稿された場合(ISO 8601 形式)。Indeed は新しい投稿を優先するこれを使用。
  • <repourl> その特定職務のキャリアページへリンク戻す。誰かが「申請」をクリックする時、ここに着陸。
  • <employmentType> FULL_TIME、PART_TIME、CONTRACT、TEMPORARY

Google Jobs:JSON-LD

Google は JobPosting 構造化データ呼ばれる異なるフォーマット持つ JSON-LD。これは HTML に <script type="application/ld+json"> タグとして埋め込まれます。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "Senior Backend Engineer",
  "description": "We are hiring a senior backend engineer...",
  "identifier": {
    "@type": "PropertyValue",
    "name": "Your Company",
    "value": "job_123"
  },
  "datePosted": "2026-05-21",
  "hiringOrganization": {
    "@type": "Organization",
    "name": "Your Company",
    "sameAs": "https://yourcompany.com",
    "logo": "https://yourcompany.com/logo.png"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "123 Main St",
      "addressLocality": "San Francisco",
      "addressRegion": "CA",
      "postalCode": "94105",
      "addressCountry": "US"
    }
  },
  "baseSalary": {
    "@type": "PriceSpecification",
    "currency": "USD",
    "minValue": 120000,
    "maxValue": 160000,
    "unitText": "YEAR"
  },
  "employmentType": "FULL_TIME",
  "validThrough": "2026-06-21"
}
</script>

Google がインデックスするための重大フィールド:

  • datePosted 存在する必要があり、最近。Google は古い投稿をランク低下。
  • hiringOrganization 企業名と(オプション)ロゴ。雇用者ブランドスニペットに使用。
  • baseSalary 給与範囲(最小/最大)。オプションですが CTR を向上。
  • validThrough 職務クローズ日。Google はこの日付以降投稿削除。
  • jobLocation フル郵便アドレスまたはリモート。

CDATA ピットフォールと特別文字

XML で特別文字<>& フィードを壊す。説明を <![CDATA[...]]> でラップ:

<description><![CDATA[
We are looking for a developer with 5+ years experience.
Experience with: Java, Spring Boot, Docker.
]]></description>

CDATA 内、プレーン HTML を含められます:

<description><![CDATA[
<p>We are looking for a developer with 5+ years experience.</p>
<ul>
  <li>Java 8+</li>
  <li>Spring Boot</li>
  <li>Docker</li>
</ul>
]]></description>

CDATA なし、<p><li> タグは XML パーサーを破壊。Indeed フィードバリデーターはフル フィードを拒否。

給与エンコーディング

Indeed XML: 単一給与値のみ。範囲がある場合、中点または低エンドを使用。

<salary>140000</salary>

Google Jobs: 範囲をサポート:

"baseSalary": {
  "@type": "PriceSpecification",
  "currency": "USD",
  "minValue": 120000,
  "maxValue": 160000,
  "unitText": "YEAR"
}

職務が時給の場合、使用:

"baseSalary": {
  "@type": "PriceSpecification",
  "currency": "USD",
  "minValue": 45,
  "maxValue": 65,
  "unitText": "HOUR"
}

更新頻度と リフレッシュ

フィード URL をセットアップした後、Indeed は定期的(通常毎日、職務が頻繁に変わる場合より頻繁)スクレイプ。職務がクローズ時、フィードから削除するか閉じ日を設定。Indeed は自動的にデインデックスします。

Google Jobs は JobPosting JSON-LD を埋め込むHTML ページをクロール。候補者がジョブページを訪問するたびに、Google のクローラーはそれをインデックス。JSON-LD マークアップを削除する場合、職務は Google Jobs 内数日で消えます。

検証とデバッグ

Indeed XML のため:

  • デプロイする前フィードをテストするため Feed Validator を使用
  • 一般的エラー:不正形式 CDATA、不足必須フィールド、無効日付形式

Google Jobs のため:

ClarityHire がフィードを生成する方法

ClarityHire は自動生成 Indeed XML フィード /api/jobs/feed.xml と Google Jobs JSON-LD テンプレートを職務ページに埋め込む /careers/jobs/[job-id]

職務を更新(タイトル、給与、説明)、フィード自動リフレッシュ。クローズ職務は2時間以内にフィードから削除。システムは職務の visibility フラグを尊重:ドラフト職務はフィードに表示されません。

まとめ

Indeed は CDATA ラップ説明、給与、位置付き XML を期待。Google Jobs は HTML に datePostedvalidThrough、給与範囲付き JSON-LD マークアップを期待。両方は ISO 日付形式(YYYY-MM-DD または ISO 8601 タイムスタンプ)を使用。CDATA は XML で HTML 説明ラップ時のあなたの友人。デプロイ前検証。フィードから閉じ職務を自動削除。Google Rich Results Test と Indeed のバリデーターでテスト。

セットアップ後、職務は再入力せずに Indeed と Google に配信。セットアップは1日かかります。継続中のレバレッジは莫大です。

職務掲示板統合XML フィードGoogle JobsJSON-LD職務投稿

関連記事