Think it’s difficult to attract job seekers to your website? Think again! Google for Jobs has the potential to dramatically grow candidate traffic and increase conversion rates on job boards by connecting Google user queries to job opportunities based on skills and location.
This guide will walk you through the most important aspects of Google for Jobs (GFJ), including:
The implementation of GFJ will focus on WordPress as this consists of 37% of all websites on the internet-- so it's likely you will be applying this to a WordPress site!
Google for Jobs is a job board by Google that displays within the search engine results pages (SERP) whenever a query with the necessary intent is searched for in Google. This is commonly referred to as a 'SERP feature'. You can see this demonstrated by the search query "seo jobs london":
You cannot post jobs directly to Google, you have to add structured data called Schema to your job posts, which, in turn, must be crawled and indexed by Google to show up in the Google for Jobs SERP feature.
Here is what a complete GFJ json ld job posting schema looks like courtesy of Google's guidelines:
<html>
<head>
<title>Software Engineer</title>
<script type="application/ld+json">
{
"@context" : "https://schema.org/",
"@type" : "JobPosting",
"title" : "Software Engineer",
"description" : "<p>Google aspires to be an organization that reflects the globally diverse audience that our products and technology serve. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.</p>",
"identifier": {
"@type": "PropertyValue",
"name": "Google",
"value": "1234567"
},
"datePosted" : "2017-01-18",
"validThrough" : "2017-03-18T00:00",
"employmentType" : "CONTRACTOR",
"hiringOrganization" : {
"@type" : "Organization",
"name" : "Google",
"sameAs" : "http://www.google.com",
"logo" : "http://www.example.com/images/logo.png"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"streetAddress": "1600 Amphitheatre Pkwy",
"addressLocality": "Mountain View",
"addressRegion": "CA",
"postalCode": "94043",
"addressCountry": "US"
}
},
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": {
"@type": "QuantitativeValue",
"value": 40.00,
"unitText": "HOUR"
}
}
}
</script>
</head>
<body>
</body>
</html>
This looks overly complicated to type out manually yourself. There are some 'schema shortcuts' available so that you can avoid the heavy lifting here:
Therefore in order to gain visibility for the job posting you don't have to painstakingly fill out every field.
...In lieu of a good example of how this would be used I can provide an example by Joe Hall on his blog providing ChatGPT SEO use case prompt examples with the output:
Input/prompt:
Generate JSON-LD schema for a local restaurant named Chez Joe’s Gourmet Hotdogs at the address 1234 Frankfurter Street, Columbia SC 29201 with the phone number 803-555-3434.
Output:
{
"@context": "http://schema.org",
"@type": "Restaurant",
"name": "Chez Joe's Gourmet Hotdogs",
"address": {
"@type": "PostalAddress",
"streetAddress": "1234 Frankfurter Street",
"addressLocality": "Columbia",
"addressRegion": "SC",
"postalCode": "29201"
},
"telephone": "803-555-3434"
}
You can watch a video of some tips for GFJ that I presented with Authoritas. Alternatively, if you would prefer to read you can carry on reading the tips from Marco Bonomo and myself...
Become familiar with the resources. These include Google's official guidelines, for the most up to date best practice on implementation; SEO resources on the subject such as his own article on Search Engine Land on how to optimise for better rankings; and finally how to implement to actually implement and test the schema using tools like Merkle's Schema Markup Generator which will help you create the necessary JSON-LD and actually test it as well.
Good quality ad copy is required. After all, there is no point in ranking your job ads if the content is rubbish-- sorry recruiters but your job ads are generally lacking in quality.
Marco outlines what your job advert should include, not just from a ranking perspective but for user experience and conversions as well:
Additionally, I would really insist on adding in the salary and benefits into your job ad, especially if you are a recruitment agency. Recruitment agencies have a disadvantage as they post jobs anonymously, however, they do have an advantage by being able to be transparent about salary upfront (an advantage that some in-house recruiters do not get). Anecdotally Coburg Banks has reported an increase of 62% in applications when including salary on their job ads; Jobsite reports a 25%-35% drop when no salary info is posted; Ukrecruiter, the recruitment knowledge network also reports that 82% of professionals say that salary is the most important factor when looking for a new job. So probably best to include that.
Another area where recruiters are falling down is with location specifics. It used to be implied that all jobs were on-site unless otherwise stated, since 2020 this has reversed. Now some adverts are just confusing like this one:
Sorry, but is your role remote or hybrid? Turns out that it's hybrid so why add 'work from home' on the job ad as the primary location.
Marco particularly emphasises being precise with your location as well. Down to the specific street and postcode, this is because Google uses your IP address to determine the suitability of job adverts.
Remote jobs are particularly problematic because for tax reasons they will still need to specify an actual location. This is how it's done:
"jobLocationType":
"TELECOMMUTE"
Then you need to specify a location:
"applicantLocationRequirements":{
"@type": "Country",
"name": "USA"}
Finally, Marco talks about reporting success and impact. I cannot really go into much detail here that has not already been covered in his very good article on the subject, the only real thing to emphasise is that all the data is collected in Google and can be curated into a Google Data Studio dashboard for easy reporting. I do go into more detail in this section of the article on what to actually report on.
Avoid 'ninjas', 'jedis' and 'rockstars'. Look at ranking your job posts as an SEO initiative, at the base of any keyword research initiative is keyword research. this does not have to involve signing up to an expensive SEO tool for monthly use but rather you can sign up for a free 7 day trial with ahrefs for $7 and do all the keyword research required for the whole year done then (or near enough). Ahrefs' keyword research guide will make sure you make good use of this trial period.
You want to avoid 'ninjas', 'jedis' and 'rockstars' and other 'cutesy' job role names that people are not going to be searching for.
Something like 'Social Media Ninja' is not going to be something people search for when looking for a new role, and even if they did you would probably want to stay away from anyone who refers to themselves as a 'ninja'.
There are semantic similarities between quite a few jobs, especially within tech roles. If you restrict yourself to generic job titles such as 'web developer' or 'front end developer' you are probably missing out on some niche searches specific to the tech stack involved.
This is another reason why it's important to get your site information architecture right as well, as 'front end developer jobs', 'javascript jobs', and 'react jobs' can all have the same search intent, however, when posting your jobs on GFJ the results could all be very different.
There's no reason why you cannot use two different adverts for the same job on occasions to test the water, this is why measurement is so important if you do not know impressions, CTRs of your job ad on GFJ then you're just guessing.
Google come down on you hard if you end up not using this Schema as intended as per their guidelines, this does include the need to correctly expire your job advert.
'Manual actions' are very bad, as it means Google will essentially stop ranking your pages and you will no longer have any traffic until you rectify the issue-- this can take a while!
The easiest way is to remove the page so that there is a 404 or 410 server response.
If your site or job board is already in production and GFJ is now an afterthought fear not as you can add the necessary schema with Google Tag Manager.
There are 5 good reasons for doing it this way outlined in this LinkedIn article here.
There is a lack of information on the actual specifics of doing this for job schema (which means I will have to create a guide at some point in the future) in the meantime Erudite give a decent top-level breakdown of the basics of adding schema to GTM.
If budgets are tight the plugin option is a way to get your project wrapped up very quickly and cheaply.
WP Job Manager is a plugin I have used before which is easy to use and integrates with GFJ straight out of the box. This plugin was the best one I could find and simple enough to use.
There's no point reinventing the wheel here, it's also regarded as one of the best options by both WPbeginner and WPExplorer.
It's even open source so you can see how it works on GitHub.
A theory I will be testing soon is building a job board on top of Woocommerce and Oxygen page builder, which should be a low-cost alternative to building your own from the ground up.
Building your own job site from the ground using a freelance WordPress developer will cost you £1000+ but is a great option if you are looking for scalable ways to post many jobs with the GFJ schema in place.
As can be seen with this Builtvisible example JSON-LD is added to the page via the custom fields in the WP backend:
Points to note are that JSON-LD is the preferred structured data type by Google and this can be added to either the <head> or the <body> of the page.
If you have got the Schema onto your job ad then you have done the bulk of the work. Now the jobs have to be crawled and indexed in a timely manner.
In order to optimise crawling and indexing you should do the following:
Official Google Guidelines for Google For Jobs Posting
Builtvisible's Guide to Recruitment Website SEO
Recruitment website optimisation part 2: SEO for Job Postings
Google for Jobs: Everything you need to know to optimize for better ranking