JobPosting markup for Google for Jobs
The JSON-LD JobPosting Schema Builder assembles the structured data Google needs to surface a role in its Jobs experience. Accurate markup puts your opening into a filterable widget at the top of search — one of the highest-leverage free recruiting channels.
How it works
The tool emits a JobPosting object with title, description, employmentType, datePosted and validThrough (ISO dates). The hiring company becomes a hiringOrganization of type Organization with optional logo and site URL. Salary is built as a baseSalary MonetaryAmount whose value is a QuantitativeValue carrying minValue, maxValue and unitText. The work location is a Place with a nested PostalAddress. Checking the remote box adds jobLocationType of TELECOMMUTE and an applicantLocationRequirements country object.
Tips and example
Always set validThrough to the application deadline so stale jobs drop out automatically. Use a salary unitText of HOUR, DAY, WEEK, MONTH or YEAR consistent with the figures you enter. A base-salary block looks like this:
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": { "@type": "QuantitativeValue", "minValue": 80000, "maxValue": 110000, "unitText": "YEAR" }
}