Google for Jobs
How Vakanssi automatically publishes valid Google for Jobs structured data for every eligible job, what makes a job eligible, and how to check Google has picked it up.
On this page(7)
Google for Jobs is the jobs area of Google Search: the panel of openings that appears when someone searches for a role like “marketing manager Helsinki”. Google fills that panel by reading structured data, a machine-readable summary of the job that sits invisibly in the page.
When your job page carries valid JobPosting structured data, Google can list the role there with its title, location, salary, and a link back to your site.
Vakanssi writes that structured data for you. Every eligible published job carries it automatically, built from the fields you already fill in when you create a job. There is nothing to hand-code, tag, or paste.
You do not write any code
The JobPosting block is generated from the same job fields that show on the public job page: the title, the description, the location, the salary, the employment type, and the closing date. Because both come from one source, what Google reads and what a visitor sees can never disagree, which is exactly what Google asks for.
It also always carries the job’s own web address, the same link the apply button on the page uses, so Google can send candidates straight back to it.
| JobPosting property | Where it comes from |
|---|---|
title, description, url, datePosted | The job’s title, its description (the excerpt if the body is empty), its address, and its publish date. |
hiringOrganization | Company name under Settings, then General (your site name if blank), your site address, and the Company logo (your site icon if no logo is set). |
identifier | The job’s unique identifier, named after your company. |
jobLocation | On-site and hybrid jobs: the city, country, and any street, region, and postal code. |
jobLocationType, applicantLocationRequirements | Remote jobs: TELECOMMUTE plus each eligible country. |
employmentType, baseSalary, validThrough | The employment types, the salary (only when shown, with a currency), and the closing date, when set. |
The last row’s three properties follow the Job details checkboxes under Settings, then Jobs & Careers, in the Job page card. Untick salary, employment type, or closing date there and it leaves the page and the structured data together.
The Eligible banner tells you where you stand
You do not have to memorise Google’s rules. The job editor checks them for you. At the top of the Job details box, Vakanssi shows a live banner:
- Eligible means the job meets Google’s requirements and Vakanssi is publishing its structured data.
- Not eligible yet means something required is missing, and the banner lists exactly what to add.
The banner updates as you fill in the job, so you can watch it flip to Eligible before you publish. An outstanding item shows its name as a link when it can take you to the field to fix: click it to jump straight to the right tab. The description, Published, and No password items are never links, since their fixes sit outside the Job details box.
The Published and No password items only appear in the list when they fail.
Not eligible is not an error
A job that is not yet eligible still works as a normal page. Vakanssi simply holds back its structured data until the missing piece is filled in, so an incomplete job never sends Google something Google would flag.
What makes a job eligible
A job qualifies once it has the essentials Google needs:
- A description. Real text in the editor body (or the excerpt, if the body is empty), not just a title: at least 30 characters.
- A valid location. For an on-site or hybrid role, a country and a city. For a remote role, a remote setup with at least one eligible country.
- A way to apply. The built-in application form (on by default) or an external apply link.
- A job that has not expired. If you set a closing date, it must be in the future. Leaving the closing date empty is fine.
- Published, with no password. A draft is not eligible, and neither is a password-protected job, which since v0.35.3 is also kept off your careers page.
- A valid salary, if you show one. A shown salary needs a currency and a valid amount, with the minimum not above the maximum. A hidden salary never blocks eligibility.
When any of these is missing, the banner names it and the structured data stays withheld until you fix it.
What happens when a job closes
Once a job’s closing date passes, Vakanssi withdraws it from Google everywhere, not just from its own structured data. The page is marked noindex, so it drops out of ordinary Google search results too, and it is removed from your sitemap so Google is not invited to keep re-crawling a role nobody can apply for.
This happens automatically, with nothing to turn on, and it works with WordPress’s built-in sitemap and with Yoast SEO, Rank Math, and All in One SEO’s own sitemaps too. What the job page itself shows once it closes, such as whether the description or closing date stays visible, is a separate choice under Hiring, then Settings, then Jobs & Careers, in the Expired jobs section. See Settings reference.
Deciding who publishes the markup
Some SEO plugins, such as Yoast SEO, Rank Math, or All in One SEO, can also produce job markup. If two plugins describe the same job, Google sees duplicate structured data, which it flags as an error.
To avoid that, Vakanssi lets you choose who owns the output under Hiring, then Settings, then Jobs & Careers, in the Job search & SEO section. The setting is JobPosting structured data, with three choices:
| Choice | What it does |
|---|---|
| Vakanssi owns it (default) | Vakanssi publishes the markup and suppresses Yoast, Rank Math, or All in One SEO’s job markup, so each job carries exactly one block. |
| Defer to my SEO plugin | Vakanssi publishes nothing and leaves your SEO plugin to produce the job markup instead. |
| Off | No JobPosting from any plugin on job pages: Vakanssi stays silent, and Yoast, Rank Math, and All in One SEO’s job markup is suppressed too. |
For most sites the default is right: leave it on Vakanssi owns it and you are done.
Defer only if you have checked your SEO plugin really produces job markup
The free versions of Yoast SEO, Rank Math and All in One SEO do not publish JobPosting data at all. Tested against all three: with Defer to my SEO plugin selected, every job page carried no job markup whatsoever, so the site would drop out of Google for Jobs entirely. Only Rank Math can produce any, and only from a schema template you build by hand.
Since v0.33.36 the setting warns you about this on screen when an SEO plugin is active. If you do choose Defer, open a job page, view source and search for JobPosting to confirm something is actually there.
A note on paginated listings and All in One SEO
All in One SEO marks every paginated page noindex, nofollow by default, on any site. That is its own global rule for pagination, not something Vakanssi does or can change, and it applies to your blog’s /page/2/ in exactly the same way.
It matters here because a careers listing with more than one page keeps its later roles on those pages. On a site with 28 open roles, the eight on page 2 would be reachable to crawlers only through the sitemap, which Vakanssi does keep current. If you run All in One SEO and want those pages indexed, change the pagination setting in AIOSEO’s own Search Appearance options.
Check that Google picked it up
Being eligible means Vakanssi published valid data. It does not force Google to list the job. Google decides whether to crawl the page and feature it, and for a new or low-traffic site that can take days to weeks. Two free Google tools show you where things stand:
- Paste the live job URL into Google’s Rich Results Test. It reads the page immediately and confirms it can see a valid job posting, useful the moment you publish.
- Verify your site in Google Search Console, Google’s free reporting tool for site owners. Use its URL Inspection tool to check whether Google has indexed a job page, and request indexing for a new one.
- Once Google has crawled your job pages, a Job postings report appears in Search Console listing every detected job along with any warnings.
If a job is Eligible in the editor but still missing from Google after a few weeks, work through the “jobs not appearing in Google” section of Troubleshooting.