JobPosting schema is structured data that describes a job opening. Google uses it for its job search experience, which can show logos, ratings and filterable job details.
At a glance
- Format
- JSON-LD (format of the examples in the Google docs)
- Where
- on the individual job page, not on listing pages
- Vocabulary
JobPostingwithhiringOrganizationandjobLocation- Rich result
- Job postings in the job experience of Google Search
- Test with
- Rich Results Test
Last checked:
What does Google require?
Required properties are title, description (HTML with responsibilities and qualifications), datePosted, hiringOrganization and jobLocation with an addressCountry. Recommended are baseSalary, employmentType, validThrough, and for fully remote roles jobLocationType set to TELECOMMUTE plus applicantLocationRequirements.
Expired postings must be handled: populate validThrough with a past date, remove the page (404 or 410), or delete the markup. Google recommends the Indexing API instead of sitemaps for job postings, because it prompts Googlebot to crawl the page sooner. Fake positions, login walls for job details and postings without a way to apply violate the guidelines. Google also lists keyword stuffing and misleading titles as prohibited.
Example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Software Engineer",
"description": "<p>Build and run our web platform.</p>",
"datePosted": "2026-09-01",
"validThrough": "2026-11-01T00:00",
"hiringOrganization": { "@type": "Organization", "name": "Example Corp" },
"jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "addressLocality": "Austin", "addressCountry": "US" } }
}
</script>
Sources
- Job posting structured data – Google Search Centraldevelopers.google.com
- JobPosting – schema.orgschema.org
- Google Jobs schema guide – Jobboardlyjobboardly.com
Last updated: