What Is Job Posting Schema Markup?
Every posting has a lifespan measured in weeks. Nobody knows in advance how many. That makes this the type where false assertions accumulate fastest, because an agency with hundreds of closed roles is making hundreds of claims automatically.
Every One Of These Expires
A job posting has a short life and an unpredictable one. Unlike an event, which ends on a date you know when you publish it, a vacancy closes when somebody is hired, which nobody can put in a calendar.
Why unpredictability is the problem. Nothing can be scheduled.
An event page can have its removal planned at the moment it goes live. A vacancy cannot, because the closing date depends on a hiring process nobody controls precisely.
What that means in practice. Somebody must notice.
The only signal a posting has expired is a person knowing the role was filled. That knowledge sits with a recruiter rather than with whoever maintains the website.
Why the volume matters here. Postings arrive constantly.
A business advertising occasionally has a handful of pages. An agency has a continuous stream. Each one becomes stale independently at a time nobody recorded.
What our own research found. Almost all of them die.
Building our recruitment guides, we found that close to all of these pages stop being valid. This page is the technical half of that finding.
What It Asserts
Title, description, employer, location, salary where given and the dates the posting is valid. That last one carries more weight than everything before it.
Title and description. The role itself.
What the job is and what it involves. Stable while the posting exists, being the part everybody concentrates on when writing it.
Employer. Who is hiring.
The organisation offering the role, which for an agency is the client rather than the agency. Worth getting right, since a candidate is deciding partly on who they would work for.
Location. Where the work happens.
The place, else the arrangement where there is no single place. Block six covers the distinction, which changed considerably and is still described badly.
Salary. Optional and loaded.
What the role pays, where you choose to say. Block five treats that as a commercial decision rather than a field to complete.
Validity dates. The one that matters.
When the posting opened and when it stops being valid. This is the property that makes the whole description true or false. It is also the one nobody sets deliberately.
A Closed Role Marked As Open
An agency with hundreds of expired postings still asserting availability is making hundreds of false claims automatically. That is not a tidiness problem, it is the same false statement repeated at scale.
What each expired page claims. That you can apply.
The description states a role is available with a valid application period. Once it is filled, the site is telling every candidate who finds it that a job exists which does not.
Why it compounds rather than accumulating quietly. Candidates apply.
Unlike a stale opening time, this one generates action. People write applications for roles that closed months ago, which wastes their effort and produces enquiries the agency has to field.
What it costs the business. Standing with candidates.
A candidate who applies for three closed roles concludes the agency does not keep its own house in order. In a market where candidates choose who to register with, that matters commercially.
Why nobody fixes it. The incentive points the wrong way.
A large list of vacancies looks like a busy agency. Removing expired ones makes the list shorter, which feels like going backwards even though it makes it true.
What the underlying rule is. The one from the concept page.
Markup states things as fact, which what is schema markup establishes. Hundreds of automatic assertions are still assertions.
Expired Postings Need Handling, Not Deleting
Removing the page is the obvious response and the wrong one. It leaves links pointing nowhere and discards whatever standing the page accumulated, which for a well-shared role can be considerable.
What deletion breaks. Everything pointing at it.
Job postings get shared, listed on boards and forwarded between people. Deleting the page leaves all of those arriving at nothing, which is a poor experience for somebody who was interested.
The first option. Mark it closed and say so.
Keep the page, update the validity so the markup no longer claims it is open, then tell the visitor the role is filled. That is accurate and it answers the question they arrived with.
The second option. Point them somewhere useful.
A closed role page can direct somebody to similar current vacancies. That converts a dead end into a genuine service. It is also what a candidate wants anyway.
The third option. Redirect, if the page has value.
Where a role recurs, sending the old address to the current equivalent preserves what it earned. Our site migrations material covers doing that properly.
What to decide once. The policy, not the case.
Deciding what happens to every closed posting, once, is what makes this manageable at volume. Deciding per posting means deciding never.
Salary Is Optional And Consequential
Including salary changes who applies. That is a real commercial decision rather than a technical one. It should not be made by whoever is filling in the form.
What including it does. Filters before applying.
Candidates outside the range self-select out, which reduces applications and raises their relevance. Fewer conversations, more of them worth having.
What omitting it does. Broadens and blurs.
More applications arrive, including from people whose expectations do not match. Time gets spent discovering that in conversation rather than beforehand.
Why agencies often omit it. Negotiating room.
A stated figure becomes a floor in the candidate's mind. That is a legitimate reason and it trades transparency for flexibility, which is a decision somebody should take deliberately.
Why candidates increasingly expect it. The norm has shifted.
Postings without pay information are treated with more suspicion than they once were. Some candidates skip them entirely. The cost of omitting has risen.
The connected argument. Publishing your own figures.
Our recruitment material makes the case for salary guides as published data, which is a stronger version of the same transparency and earns references on its own.
Remote And Location
Remote and hybrid roles are expressed specifically rather than being implied by an address. Getting it wrong misdirects applicants, who filter heavily on exactly this.
Why it needed expressing. An address stopped meaning attendance.
A location once implied where somebody worked. Now it may be an office they visit twice a month, else a registered address they never see, so the arrangement has to be stated separately.
What fully remote requires. Saying so, plus the boundary.
Remote roles are usually remote within somewhere: a country, a region, a time zone. Stating remote without the boundary invites applications you cannot accept.
What hybrid requires. Both facts.
The office location and the actual expectation of attendance. A hybrid role described only by its address reads as fully office-based to anybody filtering.
What goes wrong most. Hybrid described as remote.
A role advertised as remote which expects three days in an office wastes everybody's time and produces a candidate who feels misled at interview.
Why candidates notice quickly. It is their first filter.
Working arrangement is frequently the first thing somebody filters on, ahead of salary and title. A wrong value here removes you from consideration before anything else is read.
It Must Be A Real Role
Advertising roles that do not exist in order to collect applications is a known practice. The markup asserts the role is real. We will not implement it.
What the practice is. Building a candidate list.
A posting for a plausible role that nobody is hiring for, published to gather applications for future use. It is common enough that candidates suspect it routinely.
What the markup claims. That the job exists.
A description asserting a vacancy with an employer and a valid application period states that somebody can be hired into this. Where nobody can, the assertion is simply false.
Why it is worse than a stale posting. Intent.
An expired posting is a maintenance failure. This one was untrue when published, which is a different thing and not something a process fixes.
What it costs the candidate. Real effort.
Somebody writes an application, adjusts a document and waits. That time was spent on something that never existed, which is the same category of harm as a fabricated rating.
Our position. Fixed.
We do not implement this whatever a client asks, which is the second fixed refusal in this section after invented ratings. The troubleshooting page covers what happens to sites making false assertions. The full series is on the schema and structured data guide.
Decide the policy,
not the
case.
Deciding what happens to every closed posting, once, is what makes this manageable at volume. Deciding posting by posting means deciding never, leaving the expired ones telling candidates a job exists which does not.
On every page we build:
We will not mark up a vacancy that nobody can be hired into.
Every guide.
One practice.
What structured data is, which types apply to your business, how to test it, where the results features come from and what to do when nothing appears.