Skip to main content
Redsun Platform
Back to Blog
SEO & Traffic

Google for Jobs for Recruitment Agencies: How to Get Your Jobs Listed (2026)

Ayrton Moore10 min read

To appear in Google for Jobs, every role on your recruitment website needs valid JobPosting structured data on its own dedicated page. Google reads that structured data to understand the job title, employer, location, and salary, then surfaces eligible roles in its jobs experience. This guide covers exactly which fields are required, the eligibility rules you must follow, how Google discovers your jobs, and why roles fail to appear — with Google's own case-study data on what it is worth.

Google for Jobs is free and high-intent: candidates searching for a role see a dedicated jobs box above the normal results. For a recruitment agency, getting your roles into it is one of the highest-leverage SEO moves available — but only if your structured data is correct. Most agency websites built on generic platforms have no JobPosting markup at all, so their roles never appear.

What is Google for Jobs?

Google for Jobs is an enriched search feature that aggregates job listings directly into Google Search. When someone searches for a role, Google shows a prominent jobs widget with listings pulled from across the web. It is not a job board you upload to; it is a search feature that surfaces any page carrying valid JobPosting structured data. Your job pages compete on relevance and data quality, not on a listing fee.

Why Google for Jobs matters for recruitment agencies

The case for it is strong, and Google has published the numbers. After implementing JobPosting structured data and the Indexing API, ZipRecruiter saw a 4.5× higher conversion rate from Google organic traffic, a 3× higher conversion rate from Google than from other search engines, a 10% lower bounce rate, and a 35% increase in monthly organic non-branded traffic (Google Search Central, ZipRecruiter case study). Monster India reported a 94% increase in organic traffic to job pages and a 10% rise in applications after adding structured data (Google Search Central, Monster India case study).

It also meets candidates where they are. Around two-thirds of job applications now start on a mobile device (Appcast), and the Google for Jobs experience is built mobile-first. Roles that appear there capture intent at the exact moment a candidate is searching — without a job-board subscription.

The required JobPosting fields

Google will not show a role in the jobs experience unless its page includes all five required JobPosting properties. These come straight from Google's official JobPosting documentation.

PropertyWhat it is
titleThe title of the job itself (e.g. "Software Engineer") — not the page or posting title.
descriptionThe full job description, in HTML, with proper paragraph formatting.
datePostedThe date the job was first posted, in ISO 8601 format.
hiringOrganizationThe actual employer offering the role — not the agency or the job board.
jobLocationThe physical location where the employee will work (can be omitted only for fully remote roles).

The recommended fields that boost visibility

Recommended properties are not strictly required, but they improve eligibility, ranking, and how rich your listing looks. Salary in particular drives engagement — and addresses the 31% of candidates who abandon applications when no pay is shown.

PropertyWhy it matters
baseSalaryShows a salary range in the listing (with currency and a unit such as YEAR or HOUR); strongly boosts engagement.
employmentTypeFULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, and others — helps Google match the right searches.
validThroughThe expiry date. Required if the role expires — load-bearing for staying compliant (see below).
jobLocationTypeSet to TELECOMMUTE for fully remote roles.
applicantLocationRequirementsRequired for remote roles, so Google knows where applicants may be based.
directApplyIndicates whether candidates can apply directly without extra sign-up or redirect walls.

The eligibility rules you must follow

Correct fields are necessary but not sufficient. Google enforces guidelines, and breaking them can remove your roles — or trigger a manual action against your site.

  • One job, one page. Put the structured data on the individual job's leaf page, alongside the human-readable description. Never add JobPosting markup to a page that lists multiple jobs.
  • Use canonical URLs for duplicates. If the same role appears under several URLs — common when an agency syndicates to multiple feeds — set a canonical URL on each copy so Google knows which to show.
  • Remove expired jobs promptly. Set validThrough to a past date, return an HTTP 404 or 410, or remove the markup. Google warns that failing to take timely action on expired jobs may result in a manual action.
  • No fake or non-existent jobs. Google's content policies prohibit listings for roles that do not exist — a real risk for agencies tempted to post "pipeline" ads.
  • Content must match the markup. The visible title, salary, and location must match the structured data exactly. Mismatches disqualify the posting.

How Google discovers your jobs

Even perfect markup does nothing until Google crawls the page. There are two mechanisms, and for jobs Google has a clear preference.

The Indexing API is recommended for job postings. Google states that for job-posting URLs it recommends the Indexing API over sitemaps, because it prompts Googlebot to crawl the page sooner. The Indexing API is restricted to exactly two structured-data types — JobPosting and BroadcastEvent — so job pages are explicitly eligible. This matters for recruitment, where roles are time-sensitive and a day's crawl delay can mean a day of lost applications.

Sitemaps still help. Google recommends submitting a sitemap as well, with accurate lastmod timestamps, for full-site coverage. A recruitment platform should do both automatically: ping the Indexing API when a role is published or closed, and keep the sitemap current.

Why your jobs aren't showing in Google for Jobs

If your roles are missing from the jobs experience, it is almost always one of these five causes.

  • Markup on the wrong page. The JobPosting data sits on a job-list or index page instead of each role's own page.
  • A required field is missing. Most often jobLocation or a malformed hiringOrganization.
  • Content doesn't match the structured data. The visible title, salary, or location differs from the markup.
  • Expired but still live. A closed role with no validThrough, or a date set in the future, which can trigger a manual action.
  • Not indexed. The page is blocked, has no sitemap or Indexing API ping, or hides the description behind a login or apply wall.

What a correctly marked-up job page looks like

Concretely, take a single role — "Senior Accountant" in Manchester, £55,000, permanent, for a client called Acme Finance. The job's own page would carry JobPosting structured data setting title to "Senior Accountant", hiringOrganization to Acme Finance (the client, not your agency), jobLocation to the Manchester office address, datePosted to the day it went live, and a full HTML description. To maximise visibility it would also set baseSalary to £55,000 per YEAR, employmentType to FULL_TIME, and validThrough to the closing date. The visible page would show the same title, salary, and location as the markup — because any mismatch disqualifies it. That single page, correctly built, is eligible for the jobs experience; a generic page describing the same role is not.

Step by step: getting your agency's roles listed

  1. Give every role its own page with a unique, indexable URL — never a single page listing many jobs.
  2. Add JobPosting structured data to each page with all five required fields, plus salary, employment type, and an expiry date.
  3. Match the visible content to the markup — the same title, salary, and location must appear on the page a candidate reads.
  4. Set validThrough on every role and remove or 404 closed roles promptly to avoid a manual action.
  5. Submit the page for crawling via the Indexing API on publish and on close, and keep your sitemap current.
  6. Validate using Google's Rich Results Test and monitor the Search Console job-postings report for errors.
  7. Repeat automatically. At any real volume this only works if your platform does it for every role without manual editing.

Google for Jobs versus paying for job boards

The economics favour Google for Jobs. Job-board costs are rising — recruitment cost-per-application rose 4.8% year on year in 2024, with cost-per-hire reaching $851 per applicant-driven hire (Appcast 2025 Recruitment Marketing Benchmark Report). Google for Jobs, by contrast, is free: there is no listing fee, only the one-off work of correct structured data. A role that appears there captures candidates at the moment of search without per-applicant cost, and the visibility compounds as your domain authority grows. It does not replace job boards entirely, but it gives agencies a free, high-intent channel that most competitors have not set up — only a small minority of recruitment sites carry valid JobPosting markup.

Why generic website builders fail at Google for Jobs

This is where platform choice decides the outcome. Generic builders like Squarespace and Wix do not generate JobPosting structured data, so roles built on them never qualify for the jobs experience — no matter how good the copy is. Adding it manually means editing JSON-LD on every single job page and keeping validThrough current as roles open and close, which is unmanageable at any real volume.

A purpose-built recruitment platform handles this automatically: it generates valid JobPosting markup on each role's own page, keeps the visible content and the structured data in sync, expires roles correctly, and pings the Indexing API on publish and close. Redsun does exactly this as part of its SEO layer, so agencies get Google for Jobs eligibility without touching code. It is one of the clearest dividing lines between a website that produces candidate flow and one that does not.

How to measure your Google for Jobs performance

You cannot improve what you do not measure, and Google gives you the tools free. The Search Console job-postings enhancement report shows which of your roles are valid, which have warnings, and which are erroring — fix the errors first, because an erroring role is invisible. The performance report, filtered to the jobs search appearance, shows impressions and clicks for your listings, so you can see which roles and sectors draw candidate interest. Track three things over time: the number of valid job postings indexed, the click-through rate from the jobs experience, and the applications attributed to Google-sourced sessions in your CRM. If valid postings rise but applications do not, the leak is in your apply funnel, not your visibility. If impressions are high but clicks are low, your titles or salaries are uncompetitive. Treat the report as a weekly check, especially in the first month after implementing structured data, because that is when indexing issues surface and are cheapest to fix.

FAQ

How do I get my recruitment agency's jobs on Google for Jobs?

Add valid JobPosting structured data to each role's own page, including the five required fields, keep the visible content matching the markup, expire closed roles, and let Google discover the pages via the Indexing API and a sitemap.

Is Google for Jobs free for recruitment agencies?

Yes. Google for Jobs is a free search feature, not a paid job board. Any page with valid JobPosting structured data is eligible to appear; there is no listing fee. You compete on data quality and relevance, not budget.

What are the required fields for JobPosting structured data?

Five: title, description, datePosted, hiringOrganization, and jobLocation. Recommended fields like baseSalary, employmentType, and validThrough improve visibility and richness, and validThrough is required if the role has an expiry date.

Why aren't my jobs appearing in Google for Jobs?

Usually one of five reasons: markup on a list page instead of each job's page, a missing required field, content that doesn't match the markup, expired roles left live, or pages Google hasn't indexed.

Does Google for Jobs actually drive applications?

Yes. After adding JobPosting structured data, ZipRecruiter saw 4.5× higher Google organic conversion and Monster India a 94% rise in job-page traffic and 10% more applications, per Google's own published case studies.

Do recruitment website platforms handle Google for Jobs automatically?

Purpose-built platforms like Redsun generate valid JobPosting markup per role, keep content and data in sync, expire roles, and ping the Indexing API automatically. Generic builders like Squarespace and Wix do not, so their roles never qualify.

Get your roles in front of searching candidates

Google for Jobs is free, high-intent, and mobile-first — and most recruitment agency websites are invisible in it because they carry no JobPosting structured data. Fix the markup, follow the eligibility rules, and let Google discover your roles, and you capture candidates at the exact moment they search. For the wider organic picture, see our SEO for recruitment agencies guide, and for platform choice, the best recruitment website builders for lead generation.

References

  • Google Search Central — JobPosting structured data documentation. Required and recommended properties, eligibility guidelines, discovery.
  • Google Search Central — ZipRecruiter case study (2018). 4.5× Google organic conversion; 3× vs other engines; −10% bounce; +35% organic non-branded traffic.
  • Google Search Central — Monster India case study (2019). +94% organic traffic to job pages; +10% applications.
  • Google — Indexing API quickstart. JobPosting and BroadcastEvent are the supported types; recommended over sitemaps for jobs.
  • Appcast — Mobile vs Desktop Trends in Job Search. ~Two-thirds of applications started on mobile.

Get weekly intelligence — no fluff, no spam.

Join recruitment leaders who stay ahead with data-driven insights delivered every Thursday.