{ Job Posting Schema Builder }

// generate job posting json-ld for rich results

Generate valid Job Posting JSON-LD structured data with title, salary, location, employment type, and qualifications for Google rich results.

📋

Schema ready to generate

Fill in job details and click Generate

HOW TO USE

  1. 01
    Fill job details

    Enter the job title, organization, location, salary range, and employment type.

  2. 02
    Add description

    Write the job description, qualifications, and responsibilities for a richer schema.

  3. 03
    Generate & copy

    Click Generate to get valid JSON-LD. Paste it inside a <script> tag in your <head>.

FEATURES

JobPosting schema Google rich results Salary ranges Remote job support Apply URL Multi-currency

USE CASES

  • 🔧 Job boards and career pages
  • 🔧 Company career portals
  • 🔧 Freelance and contract listings
  • 🔧 Remote-first companies

WHAT IS THIS?

This tool generates valid JobPosting structured data (JSON-LD) per the schema.org standard. Adding this markup enables Google to show your job listing as a rich result in search, including salary, location, and apply buttons directly in search results.

RELATED TOOLS

FREQUENTLY ASKED QUESTIONS

What is Job Posting structured data?

Job Posting structured data is JSON-LD markup based on the schema.org/JobPosting vocabulary. It tells Google and other search engines key details about a job listing — title, salary, location, type — so they can display rich results in search.

Does adding this markup guarantee rich results?

Not guaranteed — Google decides whether to show rich results based on relevance and quality. However, valid markup significantly improves eligibility. Use the Google Rich Results Test to verify your schema passes.

Is salary required for Google rich results?

Salary is not required but strongly recommended. Google has shown a preference for job postings that include salary information as it improves the user experience and click-through rates.

Where do I paste the generated JSON-LD?

Paste the <script type="application/ld+json"> block anywhere inside your page's <head> or <body> tag. Most SEO plugins like Yoast or Rank Math also accept raw JSON-LD input.

How do I mark a job as remote?

Select "Remote" under Work Location. The tool will add jobLocationType: "TELECOMMUTE" to the schema, which is the correct Google-recognized value for fully remote positions.

Can I list multiple employment types?

The current generator supports a single employment type per listing, which matches how most ATS systems publish jobs. For roles with multiple types (e.g. part-time contractor), create separate listings for maximum Google eligibility.

What Is Job Posting Structured Data?

Job Posting structured data is a form of schema.org markup that communicates job listing information directly to search engines in a machine-readable format. When you add JobPosting JSON-LD to your career page, Google can display enhanced search results called "rich results" — showing the job title, company name, location, salary range, and a direct apply button right in the search results page.

This visibility can dramatically improve your click-through rate from search results. According to Google, job postings with structured data are eligible to appear in the dedicated Jobs search experience, which is surfaced on both desktop and mobile when users search for roles like "frontend developer jobs" or "remote marketing manager."

💡 Looking for premium SEO-optimized themes with built-in structured data support? MonsterONE offers unlimited downloads of WordPress themes, HTML templates, and UI kits — all worth checking out.

Required vs. Recommended Fields

Google distinguishes between required and recommended fields for JobPosting schema. The required fields are: title, hiringOrganization, datePosted, description, and jobLocation (for non-remote roles). Missing any required field means your listing won't qualify for rich results.

Recommended fields that significantly boost eligibility include baseSalary, employmentType, validThrough, applicationContact, and qualifications. Our generator supports all of these fields with sensible defaults and clear labels.

Understanding Employment Types

The schema.org specification defines the following valid values for employmentType: FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, and OTHER. These values must be written exactly as shown — they are case-sensitive enumerated values, not free-form text.

Using incorrect employment type values is a common validation error. Our dropdown ensures you always use the correct schema.org-defined strings that Google will recognize during indexing.

How Remote and Hybrid Jobs Work in Schema

For fully remote positions, Google requires the special property jobLocationType: "TELECOMMUTE". This enables the listing to appear when users filter job searches by "Remote." The jobLocation field should still be included, typically set to the company's headquarters country or the hiring country.

Hybrid roles present a nuanced case. The current Google spec doesn't have a native "hybrid" value — the recommended approach is to include both a physical jobLocation and mention the hybrid nature in the job description text, while omitting jobLocationType: "TELECOMMUTE".

Salary Markup Best Practices

Salary data in schema uses the MonetaryAmount type nested inside baseSalary. You specify the currency using ISO 4217 codes (USD, EUR, GBP, etc.), and the pay period using unitText with values like YEAR, MONTH, HOUR, etc.

For salary ranges, use minValue and maxValue inside a QuantitativeValue. If you only know one value, use value instead. Always provide a specific number — do not use strings like "competitive" or "negotiable" as these won't be understood by search engines and may cause the salary field to be ignored.

How to Validate Your Job Posting Schema

After generating and deploying your JSON-LD, validate it using the Google Rich Results Test. Enter your page URL or paste the raw JSON-LD directly. The tool will tell you whether your markup is valid and eligible for rich results, and list any warnings or errors that need fixing.

Common validation errors include: missing required fields, incorrect date formats (must be ISO 8601, e.g. 2025-01-15), invalid employmentType values, and salary amounts that are strings instead of numbers.

Integrating With Your CMS or ATS

For WordPress users, this JSON-LD can be inserted manually via a custom HTML block, or through SEO plugins like Yoast SEO (Premium) or Schema Pro. For custom applications, embed the <script type="application/ld+json"> block server-side for each job listing page. Many Applicant Tracking Systems (ATS) like Greenhouse, Lever, and Workday have built-in schema support — but their output quality varies, and manually adding precise salary data is often not supported.