Skip to main content
WP Bulk Publishing
WP Bulk Publishing
Events & Learning · Situational

JobPosting schema — what it does & how to ship it

Short answer

JobPosting marks up an open role with title, description, hiringOrganization, jobLocation and salary — the required schema to appear in Google for Jobs.

What it does

JobPosting requires title, description, datePosted, validThrough, hiringOrganization and jobLocation. Add baseSalary and employmentType for full eligibility.

SERP / AI benefit

Inclusion in Google for Jobs — a huge dedicated surface that bypasses classic SERP competition entirely.

Where to use it

Careers pages, individual role landing pages.

JSON-LD example

{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "Senior SEO Engineer",
  "description": "Own the GEO/AEO/AIO stack.",
  "datePosted": "2026-07-20",
  "validThrough": "2026-08-20",
  "employmentType": "FULL_TIME",
  "hiringOrganization": { "@type": "Organization", "name": "WBP Omni SEO Pro" },
  "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "addressCountry": "Remote" } }
}

Copy, edit for your site, and drop into your page head inside a<script type="application/ld+json">block. Validate with Google's Rich Results Test.

In WBP Omni SEO Pro

Planned when the WBP careers page ships.

Ship JobPosting without touching code

Frequently asked

Do I need validThrough?

Yes — Google requires it and drops the listing from Google for Jobs after that date.

Can jobLocation be Remote?

Yes — set jobLocationType to TELECOMMUTE and addressCountry to the country.

Related schemas

Keep learning