Google for Jobs SEO: How to Win the Placements That Matter

Google for Jobs SEO is the practice of optimising job postings so they appear in Google’s dedicated job search experience, which surfaces roles directly in search results before candidates ever reach your careers page. Done well, it reduces dependence on paid job boards, improves the quality of organic applicants, and puts your vacancies in front of people who are actively searching. Done poorly, or ignored entirely, it hands that visibility to competitors who have figured out the basics.

The mechanics are not complicated. Google pulls structured data from job postings, validates it against its quality guidelines, and decides what to surface and when. Most employers miss out not because the task is hard, but because no one has made it a priority.

Key Takeaways

  • Google for Jobs pulls from structured data on your careers page, so if your markup is missing or broken, your listings will not appear regardless of how well-written the posting is.
  • JobPosting schema is non-negotiable. The fields Google cares most about are title, hiringOrganization, jobLocation, datePosted, validThrough, and description.
  • Third-party job boards often outrank employer careers pages in Google for Jobs because they implement schema consistently at scale. You can close that gap with relatively modest technical effort.
  • Job title optimisation is where most employers leave visibility on the table. Internal job titles and candidate search behaviour rarely match, and the difference costs you impressions.
  • Google for Jobs is not a standalone tactic. It sits inside a broader SEO system, and the employers who treat it that way get compounding returns over time.

I spent several years working with large employers on their digital acquisition strategy, including recruitment marketing at scale. One thing I noticed consistently: the organisations spending the most on job boards were often the ones with the least visibility in organic search. They had outsourced discovery to platforms that charged them for every click, when a properly structured careers page would have delivered the same candidates for a fraction of the cost. Google for Jobs changed the economics of that equation, and most HR and talent teams still have not caught up.

This article sits inside a broader set of resources on the Complete SEO Strategy Hub, which covers everything from technical foundations to channel-specific tactics. If you are new to SEO or want to understand how Google for Jobs fits into a wider organic strategy, that is a good place to start.

What Is Google for Jobs and How Does It Work?

Google for Jobs is a job search experience embedded directly in Google Search. When someone types a job-related query, such as “marketing manager jobs London” or “remote UX designer roles”, Google can surface a dedicated carousel of job listings above the standard organic results. Each listing shows the job title, employer name, location, salary if available, and the source of the posting.

Google does not host the jobs itself. It aggregates them from two sources: job boards and aggregators that have integrated with Google’s indexing API, and employer websites that have implemented JobPosting structured data markup. When a job seeker clicks a listing, they are taken directly to the application page, either on the job board or on the employer’s own site.

The distinction matters commercially. If your jobs are only surfacing via Indeed or LinkedIn in the Google for Jobs carousel, those platforms are capturing the click and the candidate relationship. You are paying for what should be a free organic channel. If your own careers page is properly marked up, you can appear directly, own the candidate experience from the first touchpoint, and remove the intermediary entirely.

Understanding how Google’s search engine decides what to surface, and why, is foundational to making this work. Google is not doing you a favour by including your jobs. It is trying to serve the best possible result to the person searching. Your job is to make your posting the most relevant, complete, and trustworthy option available for that query.

Why Most Employer Careers Pages Miss the Google for Jobs Carousel

The most common reason employer job listings do not appear in Google for Jobs is the absence of valid JobPosting schema markup. Without it, Google cannot reliably identify the structured information it needs to index and display the role correctly. The posting might be crawlable and readable, but Google will not include it in the jobs experience without the signal that schema provides.

The second most common issue is incomplete schema. Employers add the markup but omit required or strongly recommended fields. Google’s documentation is clear about what it needs, and missing fields like validThrough or baseSalary can suppress listings or reduce their prominence. I have audited careers pages for businesses with hundreds of live roles where every single posting was missing the expiry date field. Google was treating them all as potentially stale, which hurt their eligibility.

A third issue is technical. Many large employer careers pages are built on applicant tracking systems that render job listings dynamically via JavaScript. If Googlebot cannot render the JavaScript correctly, it cannot see the structured data, even if it is technically present in the page source. This is a crawlability problem, not a schema problem, but the outcome is the same: no visibility.

Job boards have an inherent advantage here. They implement schema consistently across millions of listings, they update it in real time, and they have dedicated technical teams maintaining compliance. That is why they dominate the Google for Jobs carousel for most competitive queries. The good news for employers is that this is a solvable problem, not a structural disadvantage. With the right setup, your careers page can compete directly.

The JobPosting Schema Fields That Actually Drive Visibility

Google has published its requirements for JobPosting schema, and the list of required versus recommended fields is worth understanding in detail. Required fields are the minimum for eligibility. Recommended fields improve the richness of the listing and can influence ranking within the carousel.

The required fields are: title, description, datePosted, hiringOrganization, and jobLocation. If any of these are missing or malformed, your listing will not appear. The title field should match the job title as it appears on the page. The description must be a full, meaningful description of the role, not a truncated excerpt or a single sentence.

Strongly recommended fields include: baseSalary, employmentType, validThrough, identifier, and jobLocationType for remote roles. Salary data in particular has become increasingly important. Google surfaces salary information prominently in the carousel when it is available, and job seekers filter by it. If your competitors are including salary ranges and you are not, you are at a disadvantage before the candidate has even clicked.

For remote or hybrid roles, the jobLocationType field with the value TELECOMMUTE is essential. Without it, remote roles will not appear in searches that explicitly filter for remote work. Given how many candidates now search specifically for remote positions, this omission can cost significant reach.

One thing I would flag from experience: do not generate your schema and forget about it. Job postings change. Roles get filled, titles get adjusted, locations change. Schema that was accurate at posting time can become inaccurate within weeks. Stale or misleading schema is a trust signal problem, and Google does penalise listings where the structured data does not match the page content. Build schema generation and validation into your ATS workflow, not as a one-off task.

How to Optimise Job Titles for Search Intent

Job title optimisation is where most employers leave the most visibility on the table, and it is almost entirely a keyword research problem. Internal job titles are written for internal audiences. They reflect organisational hierarchy, compensation bands, and HR conventions. They rarely reflect how candidates actually search.

“Senior Commercial Executive” might be the internal title. Candidates are searching for “account manager jobs” or “B2B sales manager roles”. The gap between those two things is the gap between appearing in the carousel and not appearing at all.

The fix is straightforward in principle: use the job title field in your schema to reflect common search language, while keeping your internal title on the page for HR purposes if needed. In practice, this requires some organisational negotiation. Hiring managers often have strong views about job titles, and changing them, even just in the schema, can feel like a bigger deal than it is. I have had that conversation more than once, and the answer is always the same: the title in the schema is for Google and candidates. The title on your org chart is for you.

Use Google’s autocomplete, Google Trends, and tools like SEMrush or Moz to understand what candidates in your sector are actually searching. Keyword labelling can help you organise and prioritise title variants across a large number of open roles. For high-volume hiring, even small improvements in title relevance compound across hundreds of postings.

Avoid keyword stuffing in titles. “Marketing Manager, Digital Marketing Manager, SEO Manager, Content Manager” as a single title field will not help you and may actively harm your eligibility. Google is good at detecting this, and it degrades the candidate experience. One clear, search-relevant title per posting is the standard.

Writing Job Descriptions That Serve Both Candidates and Google

The description field in JobPosting schema must contain the full text of the job posting. Google uses it to understand the role, match it to relevant queries, and assess whether the listing is genuinely useful to job seekers. A thin description is both an SEO problem and a conversion problem.

Good job descriptions for Google for Jobs share several characteristics. They are specific about the role, the team, and the organisation. They include relevant skills and qualifications in natural language. They mention the location, work model, and any sector-specific context that candidates would search for. They are written for humans first, with the understanding that clarity and specificity serve both the reader and the algorithm.

One pattern I see repeatedly in large organisations is the “template job description” problem. The same boilerplate gets recycled across dozens of similar roles, with only the job title changed. From a candidate experience perspective, this is lazy. From an SEO perspective, it creates near-duplicate content across your careers page, which can suppress individual listings. Each posting should be genuinely distinct, even for similar roles in different locations or teams.

The description should also include salary information in the text itself, not just in the schema field. Candidates who see a salary range in the listing are more likely to click and more likely to apply. Transparency on compensation is increasingly a competitive differentiator in recruitment, and it has a direct impact on your Google for Jobs performance.

Technical Setup: Validating and Maintaining Your Schema

Once you have implemented JobPosting schema, you need to validate it. Google’s Rich Results Test is the primary tool for this. Paste in a URL or a code snippet and it will tell you whether the schema is valid, which fields are present, which are missing, and whether the listing is eligible for rich results. Run this test on every job template before you roll out across your full careers page.

Google Search Console is your ongoing monitoring tool. The Enhancements section will show you any errors or warnings across your job postings at scale. If you have 200 live roles and 40 of them have schema errors, Search Console will surface that. Check it regularly, not just at launch.

For organisations using JavaScript-heavy ATS platforms, the rendering question is critical. Use Google Search Console’s URL Inspection tool to fetch and render specific job posting URLs as Googlebot. If the rendered HTML does not include the schema markup, you have a rendering problem that needs a technical solution, either server-side rendering, dynamic rendering, or working with your ATS provider to expose the structured data in a crawlable format.

This is the kind of problem that sits at the intersection of SEO, development, and procurement. In my experience, it is also the kind of problem that gets deprioritised because it requires multiple teams to coordinate. The business case for fixing it is straightforward: every job posting that does not appear in Google for Jobs is a missed opportunity to reduce cost-per-hire. Frame it that way with the people who control the budget, and it tends to move faster.

The principles here are not unlike what a good B2B SEO consultant would apply to any technical SEO engagement: crawlability first, then structured data, then content quality. The sequence matters.

Location Signals and Local Search Visibility

Google for Jobs has a strong local dimension. Candidates searching for jobs in a specific city or region expect results that are genuinely local. The jobLocation field in your schema needs to be precise: street address where possible, city and region at minimum, and country code. Vague location data produces vague results.

For organisations hiring across multiple locations, each location should have its own separate job posting with its own schema. A single posting that lists five cities in the location field is not how Google for Jobs is designed to work, and it will underperform compared to discrete postings for each location.

The local SEO principles that apply to service businesses are not entirely different from what applies here. If you have read anything about local SEO for service businesses, you will recognise the pattern: specificity of location signals, consistency of information, and relevance to local search intent. The same logic applies to job postings. A plumber in Bristol and a software engineer in Bristol are both trying to be found by people searching locally. The mechanics are similar.

For remote roles, the applicantLocationRequirements field allows you to specify eligible countries or regions. This is particularly useful for roles that are remote but restricted to specific geographies for legal or operational reasons. Without this field, remote roles may surface to candidates in locations where you cannot actually hire them, which wastes both their time and yours.

How Google for Jobs Fits Into a Broader Recruitment Marketing Strategy

Google for Jobs is a channel, not a strategy. It works best when it is part of a coherent approach to recruitment marketing that includes your careers page content, your employer brand, your candidate experience, and your application conversion rate. Optimising for the carousel while neglecting what happens after the click is a common and costly mistake.

The careers page itself needs to do real work. If a candidate lands from Google for Jobs and finds a slow, poorly designed page with a broken application form, the SEO work is wasted. Conversion from job listing view to application submission is a metric worth tracking, and most organisations do not track it with any rigour. When I ran agencies, I would often find that clients were measuring cost-per-click on job board campaigns while having no idea what happened to candidates after they landed. Fix the measurement, and most of the strategy fixes itself.

Employer brand content on your careers page also influences Google for Jobs performance indirectly. Google assesses the quality and trustworthiness of the source when deciding which listings to surface. A careers page with rich content about the organisation, team culture, and employee experience signals authority and relevance. It is the same principle that drives content authority in any SEO context.

The SEO outreach dimension matters here too, though it is often overlooked in recruitment contexts. SEO outreach that builds links to your careers page from relevant industry sites, professional associations, and sector publications increases the domain authority of that section of your site. More authority means better crawl prioritisation and stronger ranking signals, including for your job postings.

There is also an interesting parallel with niche SEO applications. The same structured data discipline that makes Google for Jobs work for a technology company applies in very different contexts. The principles I have seen applied effectively in local healthcare SEO, for instance, share the same foundation: complete and accurate structured data, location specificity, and content that genuinely serves the person searching. The context changes. The fundamentals do not.

Measuring Google for Jobs Performance

Google Search Console is the primary measurement tool for Google for Jobs performance. The Search Analytics report allows you to filter by search type, including “Jobs”, which shows you impressions, clicks, and click-through rates specifically for your job postings in the Google for Jobs experience. This data is available at the query level, so you can see which job titles and locations are generating the most visibility and where you are losing clicks to competitors.

Set up a regular reporting cadence for this data. Month-on-month trends in impressions will tell you whether your schema coverage is improving. Click-through rate trends will tell you whether your titles and salary information are competitive. If impressions are high but CTR is low, the problem is usually in how the listing appears in the carousel, not in whether it appears at all.

Beyond Search Console, connect your careers page analytics to your ATS data. You want to know not just how many candidates arrived from Google for Jobs, but how many of them completed an application, how many were screened through, and in the end how many were hired. Cost-per-hire by channel is the metric that matters to the business, and Google for Jobs organic should compare very favourably to paid job board spend when properly implemented.

One honest caveat: Google does not make it easy to attribute hires precisely to Google for Jobs versus general organic search. Candidates often visit a careers page multiple times across multiple channels before applying. The attribution will always be approximate. That is fine. Honest approximation is more useful than false precision, and the directional signal from Search Console data is reliable enough to make good decisions.

For a wider view of how search engine changes affect your SEO measurements and what to do about them, SEMrush’s analysis of Google AI Mode’s impact on SEO is worth reading alongside your own data. The search landscape is shifting, and Google for Jobs is not immune to those changes.

Common Mistakes and How to Avoid Them

Expired job postings with live schema are one of the most common and damaging mistakes. When a role is filled but the posting remains indexed with valid JobPosting markup, candidates click through to a page that either shows a closed listing or redirects them elsewhere. This degrades the candidate experience and signals to Google that your listings are unreliable. Implement an automated process that removes or invalidates the schema when a role closes. Most ATS platforms can do this, but it needs to be configured deliberately.

Salary ranges that are too vague are another common issue. A range of £30,000 to £80,000 for a mid-level role is not useful to candidates and does not perform well in the carousel. Tighter, more accurate ranges convert better and signal that the posting is genuine. If your organisation has a policy against publishing salary data, that is a conversation worth having with HR, because it is costing you candidates.

Posting the same role multiple times with slightly different titles to capture more search queries is a strategy I have seen attempted more than once. It does not work. Google deduplicates job postings and will typically surface only one version. Worse, it can trigger spam signals that suppress all your listings. One clean, well-optimised posting per role, per location, is the right approach.

Finally, treating Google for Jobs as a set-and-forget implementation is a mistake. Google updates its requirements, the competitive landscape shifts, and your job mix changes. What worked well when you first implemented schema may need revisiting six months later. Build a quarterly review of your Google for Jobs performance into your SEO calendar. It does not take long, and the compounding effect of incremental improvements is significant over time.

For a grounding perspective on how Google evaluates SEO best practices from its own side of the table, this Search Engine Land piece on Google grading its own SEO guidance is a useful reminder that Google’s documentation and Google’s actual behaviour are not always perfectly aligned. Keep testing and validating your own results rather than taking documentation at face value.

The broader principle here is one I have come back to throughout my career: the best marketing thinking often sounds like common sense in hindsight. Complete your schema. Use the titles candidates search for. Include salary data. Keep your listings current. None of this is complicated. The difficulty is in building the systems and habits that make it happen consistently at scale, and in convincing the right people in your organisation that it is worth doing.

If you want to see how Google for Jobs fits within a complete organic search strategy, the full picture is covered in the Complete SEO Strategy Hub. The channel-specific tactics only compound when the foundations are solid.

For additional context on how SEO practitioners are approaching 2026, Moz’s Whiteboard Friday on top SEO tips for 2026 covers some of the structural shifts that affect how Google evaluates content and structured data across all search types, including jobs. And if you want to understand the clues Google leaves about what it values, this Unbounce piece on reading Google’s signals is a useful complement to your own testing.

About the Author

Keith Lacy is a marketing strategist and former agency CEO with 20+ years of experience across agency leadership, performance marketing, and commercial strategy. He writes The Marketing Juice to cut through the noise and share what works.

Frequently Asked Questions

Do I need to pay to appear in Google for Jobs?
No. Google for Jobs is an organic search feature. Listings appear based on structured data quality, relevance, and Google’s assessment of the posting, not on paid placement. You do not pay Google to appear in the carousel. If your jobs are currently only surfacing via paid job boards in the Google for Jobs experience, those boards are capturing the organic click on your behalf and charging you for it. Implementing JobPosting schema on your own careers page allows you to appear directly without intermediaries.
How long does it take for a new job posting to appear in Google for Jobs?
Indexing time varies, but a well-implemented job posting on a regularly crawled careers page can appear in Google for Jobs within a few days of publication. If your careers page is crawled infrequently, it may take longer. You can request indexing via Google Search Console’s URL Inspection tool to accelerate the process for high-priority roles. Once indexed, the listing should appear in the carousel for relevant queries relatively quickly, provided the schema is valid and complete.
Can I use Google for Jobs if my careers page is hosted on a third-party ATS?
Yes, but you need to verify that Googlebot can crawl and render the job posting pages correctly, and that the JobPosting schema is present in the rendered HTML. Many ATS platforms support structured data natively, but the implementation quality varies significantly. Use Google’s Rich Results Test and the URL Inspection tool in Search Console to confirm that your schema is visible and valid. If the ATS renders job listings via JavaScript that Googlebot cannot process, you may need to work with the provider to implement server-side rendering or an alternative technical solution.
Is salary information required for Google for Jobs?
Salary data is not a required field for Google for Jobs eligibility, but it is strongly recommended. Google surfaces salary information prominently in the carousel when it is available, and many candidates filter their job searches by salary range. Listings without salary data are at a competitive disadvantage compared to those that include it. Including a realistic, specific salary range in both the schema markup and the visible job description improves click-through rates and candidate quality.
How do I remove a job posting from Google for Jobs once the role is filled?
The most reliable method is to set the validThrough field in your JobPosting schema to the closing date of the role. When that date passes, Google will stop surfacing the listing. If a role closes earlier than expected, you can either update the validThrough date, remove the schema markup from the page, or return a 404 or 410 HTTP status code for the URL. Leaving expired postings live with active schema is one of the most common mistakes in Google for Jobs management and damages the credibility of your other listings.

Similar Posts