SOYOYU
구직extends Intangible

JobPosting

채용 공고의 표준 타입. Google for Jobs(채용 탭)에 직접 노출되는 유일한 마크업.

XEO 효과 4가지

리치 결과

●●●●●결정적

Google for Jobs(채용 탭)에 직접 노출되는 유일한 마크업. 잡코리아·원티드와 같은 위치에 노출 가능.

AI 인용

●●●●○높음

AI가 "원격 백엔드 채용" 같은 쿼리에 답할 때 JobPosting 마크업을 직접 인용. 마크업 없으면 잡포털 데이터로 답함.

사용 빈도

●●●○○중간

채용을 운영하는 회사·잡포털만. 그러나 운영한다면 반드시 필요.

구현 난이도

●●●○○중간

필드가 많고 datePosted/validThrough 동기화가 동반되어야 함. 단 자동화 가치가 가장 큰 마크업.

이럴 때 쓴다

  • 모든 채용 공고 페이지 (1 페이지당 1개 공고)
  • 채용 사이트·기업 채용 페이지 모두
  • 정규직·계약직·인턴·프리랜서 모두 적용
  • 공고가 마감되면 제거가 아닌 표시 (validThrough 처리)
원격 근무 공고
{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "시니어 백엔드 엔지니어",
  "description": "<p>분산 시스템 설계·운영을 담당할 시니어 엔지니어를 찾습니다.</p>",
  "datePosted": "2026-05-20",
  "validThrough": "2026-07-31T23:59:00+09:00",
  "employmentType": "FULL_TIME",
  "hiringOrganization": { "@id": "https://example.com/#org" },
  "jobLocation": {
    "@type": "Place",
    "address": { "@type": "PostalAddress", "addressCountry": "KR" }
  },
  "jobLocationType": "TELECOMMUTE",
  "applicantLocationRequirements": {
    "@type": "Country",
    "name": "KR"
  },
  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "KRW",
    "value": {
      "@type": "QuantitativeValue",
      "minValue": 60000000,
      "maxValue": 90000000,
      "unitText": "YEAR"
    }
  }
}

원격은 jobLocationType=TELECOMMUTE + applicantLocationRequirements로 지원 가능 국가를 명시.

자주 보는 안티패턴

  • 한 페이지에 여러 공고를 묶음 — 각 공고 1페이지가 표준
  • validThrough 누락 — 마감일 없으면 영구 공고로 잡혀 검색 결과에서 오래 노출
  • hiringOrganization 단순 문자열 — Organization 객체 권장
  • jobLocation 누락 — Google for Jobs 미노출
  • 마감된 공고 페이지를 갑자기 404로 — validThrough를 지난 날짜로 업데이트하거나 영구 종료는 410 Gone 응답으로 처리
마감된 공고 페이지 삭제
// 페이지 자체를 삭제하거나 404로

Google for Jobs의 크롤이 404를 만나면 entity가 사라지고 과거 공고로 신뢰가 쌓인 기업 entity 신호가 약화. 페이지는 유지하고 validThrough를 지난 날짜로 업데이트하거나 — 마감된 공고는 410 Gone 응답으로 처리해 Google이 인덱스에서 제거하도록 안내.

필수 필드

  • titleText직무 제목 (예 백엔드 엔지니어)
  • descriptionText상세 직무 설명. HTML 허용
  • datePostedDate공고 게재일 ISO 8601
  • hiringOrganizationOrganization채용 기업 entity
  • jobLocationPlace근무지. 원격이면 jobLocationType 사용
  • validThroughDate공고 마감일 ISO 8601
  • employmentTypeTextFULL_TIME / PART_TIME / CONTRACTOR / INTERN
  • baseSalaryMonetaryAmount급여. 미국 등 일부 지역은 사실상 필수
  • jobLocationTypeText원격 근무는 TELECOMMUTE
  • applicantLocationRequirementsCountry원격 시 지원자 거주국
  • industryText산업 분류
  • qualificationsText자격 요건

해설

채용을 운영하는 회사라면 반드시 깔아야 할 마크업. Google for Jobs(검색 결과 위쪽의 채용 탭)에 직접 노출되는 유일한 수단이다. 잡코리아·원티드·사람인의 공고들 사이에 자사 채용 공고가 같은 위치에 노출된다.

리치 결과 관점에서 JobPosting의 가치는 플랫폼 우회. 채용을 잡코리아에만 올리면 — 검색 결과의 그 잡코리아 공고가 노출되고, 자사 사이트로의 직접 트래픽은 거의 없다. 자사 페이지에 JobPosting을 마크업하면 — Google for Jobs에서 자사 사이트의 공고가 직접 클릭되어 지원자가 자사 채용 페이지로 바로 온다. 잡포털 수수료를 우회하는 가장 강력한 SEO 작업.

AI 인용 관점에서 ChatGPT의 "원격 가능한 백엔드 채용" 같은 답변에서 — JobPosting 마크업의 title·employmentType·baseSalary를 직접 인용한다. 마크업이 없으면 AI는 잡포털 데이터에 의존하고, 자사 사이트의 공고는 인용 후보에서 빠진다.

가장 큰 함정: 마감된 공고 페이지 삭제. Google for Jobs의 크롤러가 페이지를 반복적으로 확인하는데 — 갑자기 404를 만나면 그 공고의 데이터뿐 아니라 기업 entity의 채용 신뢰도 신호가 약해진다. 마감 처리는 validThrough를 지난 날짜로 업데이트하는 게 표준. 영구 종료된 공고는 410 Gone 응답으로 Google이 인덱스에서 깔끔히 제거하도록 안내. (참고: JobPostingStatus·ClosedForApplications는 schema.org 공식 속성이 아니므로 사용 금지.)

validThrough반드시 명시. 없으면 Google이 영구 공고로 인식하고, 6개월 지난 마감된 공고가 여전히 검색 결과에 노출된다. 사용자가 클릭해 마감된 공고를 보면 — 자사 채용에 대한 인식이 나빠진다.

원격 근무 공고는 jobLocationType: "TELECOMMUTE" + applicantLocationRequirements지원 가능 국가/지역을 명시. 한국 거주자만 가능한 원격이라면 applicantLocationRequirements에 한국을 넣는다. 빠뜨리면 전 세계에 노출되어 불필요한 지원이 늘어난다.

baseSalary는 미국 등 일부 지역은 사실상 필수 (급여 투명성 법). 한국은 의무는 아니지만 — 급여를 명시한 공고는 클릭률이 높다. 범위(minValue·maxValue)로라도 넣으면 SERP에서 급여 정보가 동시 노출된다.