Skip to main content

If you work in recruitment, you’ll want to maximise the number of applicants for your jobs. Getting indexed on Google jobs is vital for improving visibility as Google has over 85% of online searches and will help to promote your job providing they are marked up correctly.

What is Google Jobs?

Google Jobs brings together job listings from across the internet and displays them on search result pages for job queries.

Aggregating postings from across the web makes job opportunities more visible in Google Search, featured prominently in the ‘Jobs’ tab on search result pages.

By ensuring your jobs are set up according to Google’s guidelines, you can reach out to hundreds or even thousands of extra candidates for every job.

Can I Post Jobs Direct to Google?

You don’t need to post jobs direct because Google does the work for you. By collating and displaying job listings from careers pages and job boards, Google makes it easy for candidates to see open jobs in Google Search.

So, if you need to extend your reach to a wider audience, this is how it works:

What is Job Structured Data?

Structured data is a range of code markup website owners can utilise on their site to inform search engines about the content of that page. This means search engines like Google can show these results more prominently – meaning you get more clicks to your site.

Commonly used structured data includes review markup, recipe markup, articles, events, restaurants and of course job posting markup to indicate the page features a job listing.

If your job posting isn’t set up with the correct structured data, Google won’t be able to recognise it as a job posting, and it won’t be included in Google for Jobs listings.

What Information Needs to be Included?

Essential Job Posting Schema

When you’re getting started with Google for Jobs, these are the properties you must include for visibility:

  • Name of hiring organisation
  • Job title
  • Job location
  • Date the job listing was posted
  • Job description
  • Application details

The trick is to match the information in your job listing schema to the unstructured information on your job listing page. If it doesn’t, your job listings won’t appear in a Google job search.

Optional Job Posting Schema

Google also recommend that you include the following information to attract the applicants you want, although these are all optional:

  • Location requirements, e.g. remote work or area applicants must live
  • Starting salary
  • Employment type, e.g. full or part-time, freelance
  • Experience and qualifications
  • Direct apply details
  • Identifier
  • Job location type
  • Application expiry date

These details can be used to clarify your requirements, but keep them short and straightforward. Google for Jobs encourages employers to post remote jobs, so make sure to specify whether a job can be done 100% remotely.

How do you Implement the Job Schema Markup?

There are two main structured data formats that Google allows for marking up jobs – JSON-LD and Microdata. These can be implemented by a web developer or a structured data plugin – more examples of each can be seen on the Schema.Org site:

JSON-LD Markup Job Example:

<script type=”application/ld+json”>


“@context”: “”,

“@type”: “JobPosting”,

“title”: “SEO Specialist”,

“datePosted”: “2023-01-31”,

“description”: “We are seeking a highly skilled SEO specialist to join our growing digital marketing team. The successful candidate will have a strong understanding of SEO best practices and be able to drive traffic and improve search engine rankings for our clients.”,

“hiringOrganization”: {

“@type”: “Organization”,

“name”: “ABC Marketing Agency”,

“sameAs”: “”


“employmentType”: “FULL_TIME”,

“jobLocation”: {

“@type”: “Place”,

“address”: {

“@type”: “PostalAddress”,

“addressLocality”: “London”,

“addressRegion”: “Greater London”,

“addressCountry”: “United Kingdom”



“identifier”: {

“@type”: “PropertyValue”,

“name”: “Job ID”,

“value”: “123456”


“baseSalary”: {

“@type”: “MonetaryAmount”,

“currency”: “GBP”,

“value”: {

“@type”: “QuantitativeValue”,

“value”: 35000,

“unitText”: “YEAR”



“applicationInstructions”: “Please submit your CV and a cover letter explaining why you would be a good fit for this role to [email protected].”



Microdata Job Markup Example:

<div itemscope itemtype=””>
<h2 itemprop=”title”>SEO Specialist</h2>
<div itemprop=”description”>
We are seeking an experienced SEO specialist to join our marketing team. The successful candidate will be responsible for developing and implementing effective search engine optimization strategies to drive traffic and improve search engine rankings.
<span itemprop=”employmentType”>Full-time</span>
<span itemprop=”industry”>Marketing</span>
<span itemprop=”datePosted”>2023-01-30</span>
<span itemprop=”validThrough”>2023-02-15</span>
<div itemprop=”jobLocation” itemscope itemtype=””>
<span itemprop=”address” itemscope itemtype=””>
<span itemprop=”streetAddress”>123 Main St

Using a plugin will ensure one of these methods is implemented without the need to code it yourself, although you will usually need to specify the fields for the plugin to work out which field is which (job name, salary etc.).

Setting up structured data isn’t the most complicated job if you know what you are doing although you will need to use a specialised plugin or the expertise of a professional SEO expert to get it set up fast.

How to Check your Jobs are Being Indexed Correctly

Once you have implemented the markup, it’s time to check if it is all working correctly. You can do this via the Rich Results Testing Tool which should show valid ‘Job Postings’ Markup.

There will probably be some errors listed in here as well – there are critical and non-critical errors which need to be handled differently:

  • Critical errors will mean the job posting doesn’t show at all and need to be rectified.
  • Non-critical errors usually relate to missing non-essential information such as job location, salary etc. Whilst these help provide more information for the applicant, excluding them won’t prevent your job from being indexed correctly.

You can preview how each job will look in search results and this should mean everything is set up correctly.

You can also monitor the number of jobs you have listed on Google for jobs in Search Console. After these have been indexed the number of jobs should appear in the Job Postings field under Enhancements, with any related errors also showing up here.

How to Keep Google Up-to-Date with New and Expired Jobs

When a job posting expires, you must take the information down. Use one of these methods to remove out-of-date pages:

  • Populate the validThrough property and make sure the date is in the past
  • Remove the page, so it returns a 404 or 410 code
  • Remove any JobPosting structured data from the page

Now you need to inform Google of the changes:

  • Use the Indexing API to request a job posting URL is removed from the Google Search index.
  • Otherwise, submit your new site map to Google using a GET request URL:

For speed, we recommend using the Indexing API instead of sitemaps for your job posting URLs. This is because the Googlebot can crawl your pages faster than pinging Google once you’ve removed the URL from the sitemap. However, you should still submit a sitemap to Google as best practice for SERPs.

The indexing API can be a tricky thing to set up on your own, so you may require a web developer or SEO consultant to do this for you.

Not Sure How to Implement Job Structured Data? We Can Help

Getting jobs featured on Google can be tricky – especially if you’re not used to dealing with website code.

If you need any assistance setting up your job structured data, Search Hog can help. We are professional SEO experts that specialise in SEO for recruitment agencies so you know we’ll be able to get your website working correctly so jobs can be indexed correctly.

Get in touch today to start ranking higher on search engines!

Matthew Pavli

Matthew Pavli is the founder of Search Hog and resident SEO expert. When he's not geeking out on Google algorithm changes, he can be found surfing at one of his local beaches in Cornwall.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.