JSON-LD Job Posting Schema Generator
Build compliant JobPosting structured data configurations. Create custom salary, location, and metadata fields visually.
Recruiting managers, HR professionals, and technical SEO agencies need to publish structured job descriptions to acquire free listings on Google Job Search. This visual form generator builds valid JobPosting schemas without code-level syntax faults. When to use it: When posting career openings on corporate sites, launching niche job boards, or audit current page markups. What it solves: Prevents missing hiringOrganization schemas, incorrect date formats, and broken telecommuting declarations. Why it matters: Google requires active, error-free schema tags to index job listings in aggregate search results widgets.
Job Details
Location Settings
Salary & Dates Settings
Google Jobs Card Preview
Senior Frontend Developer
Acme Corporation San Francisco, CA (On-Site)Generated JSON-LD
How JobPosting Schema Processing Works
This builder generates compliant JSON-LD matching the Schema.org JobPosting definitions. The script dynamically binds your inputs to key-value elements in the schema graph.
For physical locations, it populates a nested PostalAddress object containing street, city, region, postal code, and country variables. If work-from-home policy is enabled, it flags jobLocationType as TELECOMMUTE and generates `applicantLocationRequirements` variables, telling Googlebot the listing represents a remote vacancy. Salary limits are formatted under MonetaryAmount arrays with standard ISO 4217 currencies and time unit variables.
Before & After Implementation Examples
❌ Before (Standard page text only)
Hiring pages without schema data are ignored by Google Job Search crawls, missing organic traffic views.
<div class="job-posting">
<h1>Sales Manager</h1>
<p>Location: Boston, MA. Salary: $80,000.</p>
<p>Contact: [email protected]</p>
</div> ✅ After (Valid JobPosting schema metadata)
Publishing JSON-LD tags allows Googlebot to index the role details directly into job widgets.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Sales Manager",
"hiringOrganization": {
"@type": "Organization",
"name": "My Company"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Boston",
"addressRegion": "MA"
}
}
}
</script> Industry Use Cases
| Developer Workflows | SEO Strategies | Operations & Teams |
|---|---|---|
| Generate structured career schema blocks dynamically from recruitment databases. | Qualify job listings for search results widgets, acquiring free organic applicants. | Standardize HR openings output specifications across corporate sites. |
| Publish real-time vacancy updates directly using Google\'s Indexing API. | Audit expired vacancies to strip schema metadata tags automatically. | Deliver structured job metadata configurations to syndication partners. |
Common JobPosting Schema Mistakes
Improper Remote Work Configuration
Declaring a job as remote without using the TELECOMMUTE location type parameter makes Google ignore the remote work status. Always map the remote flag to the correct schema parameter.
Publishing Expired Job Listings
Keeping active schema tags on roles that are already filled will cause Google Search Console manual action penalties for spam structured data. Implement correct validThrough expiration timestamps.
Recruitment Schema Best Practices
- Provide Base Salary: Always include salary ranges (min, max, currency, time unit) to qualify for Google Job listings prioritization filters.
- Include Detailed Descriptions: Paste complete job descriptions with full formatting tags rather than brief summaries.
- Set Valid Expirations: Always declare the
validThroughtag to let bots know when to retire the listing. - Enforce HTTPS Logos: Link only SSL-secure company logos to ensure they display correctly inside search widgets.
Frequently Asked Questions
What is a JobPosting schema and how does it help recruitment?
A JobPosting schema is a structured data markup format that describes an open employment position. Publishing this markup on your site qualifies your job listings for Google Job Search, a dedicated job aggregator interface within search results. This visibility puts your listings directly in front of thousands of active job seekers, reducing reliance on third-party recruitment boards.
How do I specify a remote or work-from-home position in the schema?
To mark a job as fully remote, set the jobLocationType property to "TELECOMMUTE". In addition, you must declare an applicantLocationRequirements property containing a Country type (e.g. United States) to define where the remote worker must reside. For hybrid positions, configure the physical office address in the jobLocation property and explain the details inside the description.
Is base salary a mandatory property for Google Job Search?
While base salary (baseSalary) is not technically marked as a critical error if omitted, Google strongly encourages declaring it. Listings without valid salary data receive warnings in Google Search Console and are often deprioritized in search results. Declaring accurate pay ranges directly improves listing click-through rates.
What format should I use for posting and expiry dates?
Dates must be declared in ISO 8601 formatting (e.g. YYYY-MM-DD or YYYY-MM-DDThh:mm:ssZ). The datePublished property is required to declare when the job was posted, while validThrough defines the job expiration date. Google recommends setting an expiration date to prevent stale job listings from cluttering search results.
Can the hiringOrganization logo be hosted anywhere?
Google requires the organization logo URL (hiringOrganization.logo) to be an absolute path that is indexable and crawlable. The image should be in a standard file format (PNG, JPG, or WebP), ideally square, and hosted on an SSL-secured endpoint (https://) to ensure the logo renders correctly inside search cards.
What is the minimum character length for job descriptions?
The description field must contain complete, readable details about the role, responsibilities, and qualifications. Declaring very short descriptions or generic lists will cause Google validation warnings. It is a best practice to copy-paste the full text formatting from your official job descriptions into the schema.
How long does it take for Google to index a newly published job schema?
Once you publish the page containing the JSON-LD schema, indexation depends on Googlebot crawl schedules. For high-frequency job boards, it is recommended to implement Google's Indexing API. The Indexing API notifies Googlebot of updates in real-time, allowing new jobs to appear in search results within minutes.
Related Schema Tools
Organization Schema Generator
Configure corporate identity schemas and logos.
Local Business Schema Generator
Create structured details for brick-and-mortar storefronts.
WebSite Schema Generator
Create SearchAction schemas for Sitelinks searchbox.
JSON-LD Schema Validator
Parse and lint structured data graphs locally in browser.
Profile Page Generator
Create structured data representing personal profiles.
Heading Outline Extractor
Inspect and audit content heading outlines.