Job Posting SEO 2026: Rank Careers Pages

A job ad runs on a brutal clock. You post it on Monday and by Friday the strongest applicants have already signed somewhere else. A blog post can sit still and pull traffic for three years. A job page gets about three weeks before it turns into dead weight.

That clock is why so many careers sections leak money. Imagine a 300-person logistics firm in Ohio that opens 40 roles a quarter. Google finds maybe half of those pages, nine days late. The role fills through a paid board instead. The stale page keeps ranking for another month, so a real job seeker clicks in and hits a dead end. The firm pays twice, once for ad spend it did not need, and once in brand damage it never tracks.

Here is the part almost nobody in search says out loud. Job pages sit in a tiny club. Google gives them a direct, push-based way to request a crawl. Only one other content type shares that door, and this is a programmatic API, not the request-indexing button in Search Console. Most sites will never touch it, but yours can. This guide treats job posting SEO as its own craft, with its own data rules, its own expiry logic, and its own clock.

By the end you will know the five fields Google requires on every job page, the one field that controls expiry, and the three ways Google accepts a closed role coming down. You will also have a routine that gets a new role crawled in hours instead of days. That is where job posting SEO pays for itself, because the value of a hire is enormous and the cost per organic click is zero.

Four angles here cut against common advice. The first is that most employers should stop hosting job pages on a vendor subdomain, even though every vendor swears the arrangement is fine. Second, salary ranges in Europe are now a ranking and conversion asset rather than a legal chore. Third, FAQ markup on job pages earns you nothing in the results page anymore, so stop selling it to your boss. Fourth, a Google-first plan barely moves the needle in South Korea, where pretending otherwise burns budget.

The fair objection is obvious: why bother when paid boards already work? My honest answer depends on volume. Under ten roles a year, skip most of this and buy the advertising. Above thirty roles a year the math flips hard. Organic reach compounds with your brand while ad spend resets to zero every single month.

What is job posting SEO, and why is it a different sport?

Job posting SEO is the work of getting single job pages found, indexed, and shown while the role is still open. It shares the basics with normal search work. But it adds three things a blog page never deals with: a required data layer, a hard expiration date, and a push channel that accelerates crawling. Speed beats authority here. That difference changes almost every choice you make.

Think about what a job seeker types. They search a role plus a city, or a role plus "remote", and they want a live opening today. That is a narrow, urgent, high-intent query. It rewards freshness and clarity far more than word count or backlinks. Our guide to search intent and micro-intents gives you the method for reading a query this narrow off the results page.

The second difference is decay by design. Every job page you publish is scheduled to die. On a blog you fight decay, and here you plan for it. A page that ranks after the role closes is a failure rather than a win. It sends a warm candidate into a wall and teaches Google that your site serves stale answers.

Why do job pages get a private line to Google?

Google's Indexing API exists for content that goes stale fast. Google states plainly that the API can only be used to crawl pages with either JobPosting or BroadcastEvent embedded in a VideoObject. That is the entire list. Out of every page type on the web, job pages are one of only two that get a programmatic request-a-crawl channel. Most employers have never touched it.

Read that limitation again, because it is a strategic gift. You no longer wait for a crawler to wander back on its own schedule. You tell Google the moment a role goes live. You tell Google again the moment it closes. The Indexing API quickstart walks through the service account setup and the property verification you need before any of that works.

The default quota is 200 calls per day. Higher volume requires approval from Google. For context, 200 calls a day covers a company opening 40 roles a quarter with enormous room to spare. Each role costs you two calls across its whole life, one to announce it and one to retire it. A national staffing agency with 5,000 live listings will need that quota increase. It should apply early.

One warning: the API is not a magic ranking button. It shortens the gap between publication and crawling while doing nothing to make a thin page good.

Which JobPosting fields does Google actually require?

Google requires five properties on every job page: datePosted, description, hiringOrganization, jobLocation, and title. Missing any one of them drops the page out of the job experience. The recommended set is longer and includes baseSalary, employmentType, identifier, directApply, jobLocationType, applicantLocationRequirements, and validThrough. Treat that second list as near-mandatory if you intend to compete.

FieldStatusWhat it does for you
titleRequiredCarries the role name alone, with no location, salary, or advertising copy added.
descriptionRequiredHolds the complete role summary in HTML, rather than a shortened teaser line.
datePostedRequiredFeeds the freshness signal, so never backdate this value to make a role appear newer.
hiringOrganizationRequiredNames the actual employer behind the role, and not your recruiting agency.
jobLocationRequiredGives street, city, region, and country for any role worked on site.
validThroughRequired if the role expiresActs as the expiration switch that closes a role without breaking the URL.
baseSalaryRecommendedPublishes the pay range, which is now close to compulsory across the European Union.
jobLocationTypeRecommendedFlags a fully remote role using the newer field Google currently encourages.
directApplyRecommendedSignals whether a job seeker can complete an application on your own page.

Source: Google Search Central JobPosting documentation, last updated 2025-12-18. Read the full JobPosting guidance before you build anything. Check the schema.org JobPosting type when you need a property that Google does not document. Once the data layer is correct, run the page through the same fundamentals as any other template, which our on-page SEO checklist lays out.

What happens when a job expires?

Google says it flatly: "We don't allow expired job postings." There are three accepted ways to close one. Set validThrough to a date in the past, remove the page so it returns a 404 or 410, or strip the JobPosting structured data off a page you keep live. Pick one, write it into your workflow, and never leave a filled role sitting there marked as open.

Each option suits a different kind of site. The past-date route is the gentlest, and it is my default recommendation for most employers. The URL survives and any links pointing at it keep working. The 404 or 410 route is cleanest for high-churn agencies with thousands of listings and no reason to preserve old URLs. Stripping the markup fits best when you want the page to live on as a talent-pool landing page with an open application form.

The failure mode is always identical. Somebody fills a role in the applicant tracking system, nobody touches the website, and the page rots in place for weeks. Build the expiration into the same automated job that publishes the role. Expiry discipline is the least glamorous part of job posting SEO and the part that separates clean careers sections from embarrassing ones. Roles that follow a calendar, like warehouse hiring before the holidays, need extra care. Our guide to seasonal and peak-season SEO covers that lead-time rhythm, with one important split: a seasonal hub should keep one permanent URL forever, while the individual role page underneath it still has to expire on schedule.

Should your job posting SEO live on the ATS subdomain or your own site?

Host job pages on your own domain whenever your applicant tracking vendor permits it. The default configuration puts every listing on a vendor subdomain that you do not own, cannot fully control, and cannot migrate. You get speed on day one and a dead end in year three. I would trade a week of setup pain for that control every single time.

The technical problems stack up. Some vendor subdomains ship a canonical tag pointing back at the vendor's own copy of your listing, so your version can get flagged as the duplicate. Check yours in the raw page source rather than assuming. Two URLs then compete for the same role. Sometimes the vendor's page wins, which means a competitor's advertising can run against your brand on a page you do not control.

There is a business risk too. When you switch vendors, and most companies do within five years, every ranking job URL disappears at once. There is nothing to redirect, since you never owned the hostname. Serving those pages from your own domain keeps the equity where it belongs. Our guide to HTTPS and security signals makes the related point that a certificate wins you nothing while it works and costs you a great deal when it breaks, which is a bad thing to be depending on a vendor for.

If your vendor truly cannot serve a custom domain, the honest remedy is a proxy or a nightly feed into your own templates. Both cost engineering time, and both earn it back above thirty roles a year.

How should a careers hub be built for search?

Build three layers: a careers home page that sells the company, category pages that group roles by function and city, and one page per open role. The category layer is the part teams skip, and it is the layer that ranks for "engineering jobs Berlin" long after any individual role has closed. Job posting SEO lives or dies on that middle layer.

Category pages are durable in a way individual roles never are. A page for "warehouse jobs in Rotterdam" can hold a ranking for years while the roles beneath it rotate every month. That page also gives crawlers a stable path into fresh listings, which matters enormously when your job URLs change weekly. The same hub logic we describe in our guide to content clusters and pillar pages maps onto careers sections almost perfectly.

Keep every role reachable within three clicks of the home page. Link category pages to each other where the overlap is real, such as sales roles across two neighboring cities. Test the whole flow on a phone, because many job seekers browse on one and abandon at the first broken form. Our guide to mobile-first indexing covers the crawling side of that, and notes that desktop still leads mobile on page views in the US and Europe.

Does posting the salary help you rank in Europe?

In the European Union it is no longer a choice you get to make freely. The EU Pay Transparency Directive, formally Directive (EU) 2023/970, had a transposition deadline of 7 June 2026. It requires employers to disclose the starting salary or salary range in the job advertisement or before the first interview. It bars asking candidates about their pay history. Transposition has been uneven, so check your member state.

Do not read that as one uniform rulebook across all 27 member states. Several had not finished writing the directive into national law by the deadline. The direction of travel is settled even where the local statute lags behind. If you hire anywhere in the bloc, plan for full disclosure now rather than rebuilding your templates twice.

The search upside is real, because a completed baseSalary field gives Google a concrete number to display. A listing that shows pay attracts more clicks than one that hides it. Candidates filter on money first. In the United States the picture is patchier, with a patchwork of state and city legislation rather than a federal rule, so check the jurisdictions you actually hire in. But the practical answer stays the same, which is to publish the range. None of this is legal advice, and pay transparency law is moving fast enough that you should confirm it with counsel before you change a template.

There is a trust dividend too, because hiding pay reads as evasive. Evasive brands lose in a market where employee reviews travel fast. That connects directly to the credibility work in our guide to building E-E-A-T and trust signals.

How do you write a job page that reads well and ranks?

Write the title as the role name and nothing else. Put the city, the pay, and the perquisites into the fields built for them. Then write a description a human being would finish reading, around 500 to 800 words, with genuine duties instead of corporate filler. Google reads the description field. So does every candidate deciding whether to spend twenty minutes on your application form.

Three habits separate strong job pages from weak ones. Lead with what the person will accomplish in their first 90 days, name the specific tools and the team size, and cut every phrase that could appear on any job advertisement at any company. "Fast-paced environment" carries no information and no search value.

Length is a trade-off rather than a target, because too short and you miss the long-tail phrases people search, like "night shift forklift operator". Too long and your application rate falls. Our guide to ideal word count works through that trade-off. You can check a draft with our word counter, which reports words, sentences, and reading time.

One more opinion, and it is where job posting SEO overlaps with plain editing: stop pasting the same eight-paragraph company boilerplate onto every listing. It makes 40 roles look like 40 near-duplicates to a crawler. Write that material once on the careers home page and link to it from every individual role.

What does a working indexing routine look like?

Aim for a two-call life cycle per role, with call one when the role goes live, which typically pulls the first crawl forward from days to hours. Call two comes when the role closes, after you have set validThrough to a past date or removed the page. Wire both calls into your applicant tracking system so no human has to remember. The whole routine takes a competent developer about two days to build, in my estimation.

Here is the order that works: publish the page with complete markup and confirm it renders and returns a 200. Then fire the publication call and log the response. When the role closes, apply your chosen removal method first, then fire the second call so Google recrawls and registers the change.

Common failure points are boring and predictable. The service account loses property access after somebody reshuffles permissions, the quota quietly caps a bulk import, or a staging URL gets submitted by mistake. Log every call with a timestamp and a status code, and review that log weekly. Ten minutes of review beats discovering in March that nothing has been submitted since December. Nothing in job posting SEO fails as quietly as a broken submission pipeline.

Do XML sitemaps still matter for job pages?

Yes, and they matter more than usual here. Google's separate Jobs API for pushing listings directly has been phased out. Discovery now rests on three legs, which are structured data on the page, XML sitemaps, and the Indexing API. Dropping the sitemap removes one of those three legs, and it is the one that covers the roles your API calls miss. Keep it current, with accurate last-modified dates and closed roles removed the same day.

A job sitemap should behave like a live inventory feed rather than a quarterly artifact. Regenerate it on every publication and every closure. If your listing count runs into the thousands, split it into several files beneath a sitemap index, grouped by category or by country. Diagnosis is then quick when coverage drops. Those three discovery legs form the entire distribution layer of job posting SEO. Most teams only ever build one of them.

For small careers sections, our XML sitemap generator will produce a file for you, though it offers no depth control and no URL-limit control. A large or fast-changing site is better served by generating the file from your own database.

What breaks job posting SEO most often?

Five failures cause nearly every problem worth discussing: expired roles left marked as open, titles stuffed with city and salary, and job data hidden behind a script that renders after the crawler leaves. The last two are duplicate listings across a vendor subdomain and your own site, and an application flow that only works in a desktop browser. Fix those five before you touch anything clever.

The rendering problem deserves extra attention, because plenty of careers widgets load listings through JavaScript after the page paints. If the markup is absent from the response the crawler receives, it may as well not exist. Test with a plain fetch of the raw page source rather than trusting whatever your browser shows you.

Speed and accessibility both cost you applications, although for different reasons. A job seeker on a train with two bars of signal will abandon a slow application form, and a screen-reader user will abandon an unlabeled field. Our guide to Core Web Vitals covers the performance side, which does feed rankings. Our guide to web accessibility argues that accessibility is not a direct ranking factor, so treat unlabeled form fields as a completed-application problem rather than a search one.

One myth deserves retirement: FAQ rich results were deprecated on 2026-05-07. Adding FAQ markup to a job page will not earn you a results-page feature, and you should stop selling it internally as one. Spend that hour on your titles and meta descriptions instead. Draft them with our meta tag generator, which builds tags from the text you paste in rather than fetching a live page.

How does job posting SEO work in South Korea?

Differently, and less, because Korean hiring runs heavily through domestic job platforms and portals rather than through Google. A Google-first plan reaches a thin slice of that market. If Korea is a real hiring geography for you, treat it as a separate project with a Korean-language careers section and a platform strategy, rather than a translation of your American pages.

That is an uncomfortable thing for a search publication to say, so let me be concrete about what still transfers. Structured data on your Korean pages costs almost nothing and helps anywhere Google does appear, and a clean Korean careers hub earns brand searches from candidates who already know your company. Pay ranges quoted in KRW build the same trust they build in euros.

What does not transfer is the assumption that ranking in Google equals reach. Budget for platform listings first and organic second, which inverts the priority I would give a German or American employer. Start by mapping which platforms your competitors post on. Our guide to competitor analysis gives you a process you can point at Korean players.

What should you measure, and how fast?

Track four numbers: time from publication to first crawl, with a target under one hour, and indexed share of live roles, with a target above 90 percent. The other two are impressions and clicks on category pages, which should climb steadily, and applications from organic search, which is the only number your hiring manager actually cares about. Everything else in job posting SEO is a supporting metric.

Time to crawl is your fastest feedback loop. If it sits at three days after you wire up the Indexing API, something is broken in the call chain, which you will discover within a week rather than a quarter. Indexed share tells you whether your templates hold up at volume. Two missing roles are noise and forty missing roles are a template defect.

For a spot check on any single URL, our website SEO score checker grades one page at a time. It is not a site crawler, so use it to inspect a representative role page rather than to sweep an entire careers section.

Then look past Google. Candidates increasingly ask an AI assistant who is hiring, and clean, well-structured job pages are exactly what those systems quote. Our guide to getting cited by ChatGPT, Perplexity, and Gemini covers how that surface selects its sources.

Frequently asked questions

Do I need structured data on every single job page?

Yes. Google needs the five required fields on each individual role page before it will include that role in the job experience. A category page listing ten roles does not substitute for per-role markup. Mark up each page separately with its own data.

Can I use the Indexing API for my blog posts?

No. Google restricts the API to pages carrying JobPosting markup, or BroadcastEvent embedded in a VideoObject, and submitting other URLs breaks the terms of use. Use sitemaps and normal crawling for everything else on your site.

How many Indexing API calls do I get per day?

The default quota is 200 calls per day. Google grants higher limits on request if you can demonstrate the volume to justify them. Most employers stay well under that cap. Large staffing agencies with thousands of live listings should apply before they need the headroom.

What is the safest way to remove a filled role?

Set validThrough to a date in the past. The URL keeps working, inbound links survive, and Google reads the role as closed. Use a 404 or 410 instead if you run thousands of listings and have no reason to preserve the old URLs.

Does the TELECOMMUTE value still work for remote jobs?

It is still supported as an additionalProperty of jobLocation. Existing implementations keep working and nothing breaks overnight. Google now encourages the newer jobLocationType field instead. Use jobLocationType on anything you build today and migrate older listings when you next revise the template.

Should I put the city in the job title field?

No. The title field should hold the role name alone, while location belongs in jobLocation and pay belongs in baseSalary. Stuffing the title makes your listing look spammy to both Google and candidates. It can also distort how the role displays in search results.

Am I legally required to publish salary in Europe?

The EU directive's transposition deadline passed on 7 June 2026. It requires disclosure of the starting salary or range in the advertisement or before the first interview. Several member states had not finished writing it into national law. Check the rules in your own country.

Will FAQ markup on a job page get me a rich result?

No. Google deprecated FAQ rich results on 2026-05-07, so the markup earns no search feature even when it validates cleanly. It does no harm either. Write an FAQ for readers and AI answer engines and stop pitching it internally as a rich result.

Is there still a Google Jobs API I can push listings to?

No, that separate API has been phased out. Discovery now runs through structured data on your pages, XML sitemaps, and the Indexing API. Ignore any older guide that tells you to submit a listings feed directly to Google.

How long before a new job page shows up in search?

With the Indexing API wired up correctly, a new job page is often crawled within an hour, though Google publishes no guarantee and the real figure varies by site. Without it, expect several days and sometimes over a week, which is usually longer than a competitive role stays open in the first place.

Where should you start this week?

Go back to that imagined Ohio logistics firm from the opening. Nine days to crawl, half the roles missed, and stale pages ranking for a month. None of that needed a bigger budget. It needed an expiration rule and an API call.

Do these three things in order. First, audit your live roles and close every one that is already filled, using a past validThrough date. That stops the worst leak and takes a single afternoon. Second, confirm all five required fields render in the raw page source on every role. Third, wire the Indexing API into your applicant tracking system so publication and closure each fire a call.

My prediction for the next two years is that pay disclosure becomes the default across most of Europe and much of the United States. Listings hiding a range will quietly lose clicks to those that show one. The employers who win will be the ones whose data was already clean, which is what job posting SEO buys you. The same clarity feeds the broader work described in our guide to topical authority and content clusters.

So here is my question for you: how many of the roles on your careers page right now are already filled?


Share on Social Media:

ads

Please disable your ad blocker!

We understand that ads can be annoying, but please bear with us. We rely on advertisements to keep our website online. Could you please consider whitelisting our website? Thank you!