We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Job detail pages with employer identity, optional salary estimates, FAQs, and breadcrumb context.
Primary job entity with title, description, dates, employer, and location.
Employer identity for trust and eligibility.
Optional salary estimates to align with job surfaces.
Answer application process, location, and compensation questions.
Navigation context within careers.
Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).
Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.
[
{
"@context": "https://schema.org",
"@type": "JobPosting",
"@id": "https://www.example.com/careers/senior-fe#job",
"title": "Senior Frontend Engineer",
"description": "Build and optimize our web app experience. Collaborate with design and product to ship performant UI.",
"datePosted": "2026-02-18",
"validThrough": "2026-03-20",
"employmentType": "FULL_TIME",
"hiringOrganization": {
"@type": "Organization",
"name": "Example Software",
"url": "https://www.example.com",
"logo": "https://www.example.com/images/logo-120x60.png"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Austin",
"addressRegion": "TX",
"addressCountry": "US"
}
},
"applicantLocationRequirements": {
"@type": "Country",
"name": "US"
},
"directApply": true,
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": {
"@type": "QuantitativeValue",
"value": 165000,
"unitText": "YEAR"
}
},
"estimatedSalary": {
"@type": "MonetaryAmountDistribution",
"currency": "USD",
"unitText": "YEAR",
"percentile10": {
"@type": "MonetaryAmount",
"value": 145000,
"currency": "USD"
},
"percentile50": {
"@type": "MonetaryAmount",
"value": 165000,
"currency": "USD"
},
"percentile90": {
"@type": "MonetaryAmount",
"value": 185000,
"currency": "USD"
}
},
"industry": "Software",
"identifier": {
"@type": "PropertyValue",
"name": "Req ID",
"value": "FE-2026-01"
}
},
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://www.example.com/#org",
"name": "Example Software",
"url": "https://www.example.com",
"logo": "https://www.example.com/images/logo-120x60.png",
"sameAs": [
"https://www.linkedin.com/company/example",
"https://twitter.com/example"
]
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Is this role remote?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. We are remote-first in the US with optional coworking stipends."
}
},
{
"@type": "Question",
"name": "What is the interview process?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Intro call, portfolio review, a live pairing session, and final panel. No take-home test."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Careers", "item": "https://www.example.com/careers" },
{ "@type": "ListItem", "position": 3, "name": "Senior Frontend Engineer", "item": "https://www.example.com/careers/senior-fe" }
]
}
]No. It’s optional. If you include it, keep currency and unitText aligned; otherwise omit that section.
Set applicantLocationRequirements to a broader region or omit it; keep jobLocation consistent with how you list the role on the page.