Get in touch with our team
Feature image for 04.05.2017


3 min read

Recruitment SEO: Ensuring your website uses structured data correctly

This article was updated on: 07.02.2022

Recently, we covered on our blog that Google appears to be making large steps to test a Google-powered jobs engine. Having recently witnessed a Jobs page appear and quickly be removed from the early access search features page on Google Search, we have some clues into what may be happening behind the scenes.

As a result, Impression’s advice for recruiters, jobs boards and recruitment software/platforms right now it to embrace structured data for your best chances of future proofing your recruitment SEO.

Structured data and schema

Structured data is a code-based description or markup of the content that is present on the page. It’s easily machine readable and hidden from users, so it’s the perfect way to let a bot know the true purpose of a page. Presence of Schema isn’t a ranking signal, but it’s certainly our belief that correctly implemented schema on complex data types, such as jobs, will vastly improve data quality should it be included in a third party index (i.e. Google’s).

For those new to the technologies, the premise is relatively simple; everything that can be described on the web is a ‘thing’. To make life a little easier, there’s a large number of more specific ‘things’ with set attributes which we can describe, such as events, blog posts, reviews, places, organisations, movies, books… and of course – job postings.

Each attribute (i.e. title or salary for a job posting) can also be a ‘thing’ too – so a place of work might be a description of an organisation. You can see how this multi-level set of descriptive information begins to get very powerful.

Microdata and RDFa, two widely adopted structured data formats, appended additional code to pre-existing blocks of HTML on a page. If there was a “box” <div> tag around an address, then typically this and each line within it would be marked up as so;

<div itemscope itemtype="">

<span itemprop="name">Google Inc.</span>

P.O. Box<span itemprop="postOfficeBoxNumber">1234</span>

<span itemprop="addressLocality">Mountain View</span>,

<span itemprop="addressRegion">CA</span>

<span itemprop="postalCode">94043</span>

<span itemprop="addressCountry">United States</span>


This is great for marking up something simple, like an address, but it’s not necessarily that nice for a bot to access as the code is interspersed between the visual layout items in the page.


JSON-LD is a relatively new entrant to this arena. JSON-LD is a JSON code block which can appear anywhere on the page and is not visible to web users, and is very easily machine readable for bots. This makes it a really useful format for not only describing things in the first place, but also maintaining them (it’s SO much cleaner). Adoption is improving, as you can see below. We’re assuming Bing will catch up at some point…

A full JobPosting example

So, to bring this to life for our future recruitment friends; through using the Schema.Org JobPosting structure, we have created a mock job markup for an SEO Manager at Impression below.

Testing your structured data

Google provides a very useful tool for validating the markup you place on a page. This is the Structured Data Testing Tool and it will assist you in debugging any issues you come across during development.

If you’re having any further issues, or you have some questions on our thoughts, please let us know in the comments below!