Fixing Structured Data Issues

Since version 1.28.0, WP Job Manager will automatically include structured data about your job listings on every individual job listing page. This helps Google and other search engines understand certain information about your jobs, such as the type, the location, the name of the employer, and so on.

If you use Google’s Search Console tool, you may have been notified that your job listings have several errors or warnings associated with them. In most cases, these can be prevented by filling out the front-end job submission form correctly and completely.

Errors vs. Warnings

Google’s Search Console and structured data testing tool can throw both errors and warnings. These two things have slightly different meanings.

Errors mean that some required bit of information is missing. If you see these, you should definitely fix them, since Google may not show job listings with errors in their search results.

Warnings are less severe: they simply mean that an optional piece of information is missing. It is not strictly necessary to fix these, since Google will still show your job listings in their search results.

Basic Troubleshooting

WP Job Manager can only use whatever information you submit about a job as the information shown to Google in the structured data. Therefore, if you (or your users) don’t submit a complete set of information about a job, then some structured data fields will be empty, leading to errors in Search Console.

Job Type Warning

Field "employmentType" is missing.

If you see that Google is showing you this employmentType error for a certain job, then that means you (or your user) did not specify a job type (full time, part time, etc). Thus, you (or your user) should go to the Job Dashboard, edit the relevant job, and add a job type.

Address Warnings

If you see the following warnings:

Field "jobLocation.address.addressLocality" is missing
Field "jobLocation.address.streetAddress" is missing
Field "jobLocation.address.addressRegion" is missing
Field "jobLocation.address.postalCode" is missing

These location-related errors occur because your users might only be entering a city for the job location, while Google is looking for an exact street address. You might consider using a plugin like Loco Translate or Say What? to manually change the “Location” string to “Address” so your users are clear on what data should be entered there.

If you have already added the full address (street address, city, state, country, postal code) and the error is still showing up, you will need to check if you have correctly enabled the Google Geocoding feature. Google Geocoding is required for these fields. You can verify that Google Geocoding is working correctly by checking if the location custom fields are populated with the location data:

We have an open GitHub issue about updating the Location field label you can subscribe to for receiving updates about this issue.

The Salary Warning

If you filled out the front-end job submission form correctly, and used an exact address for the job location, the only warning Google should show you is for the baseSalary field:

Field "baseSalary" is missing

This is because WP Job Manager does not include a salary field by default.

To resolve the warning, you will need to follow our guide to adding a salary field. Once that’s done, you (or your users) will need to go back and add a salary to each job that’s already been posted, since of course that cannot be done automatically.

All future jobs, however, should include the baseSalary data, provided a salary is actually entered during job submission.

If you don’t want to go back and retroactively add all those salaries, no worries. Google only recommends the salary, they don’t require it, so it won’t have any impact on your site in their results.

Disable Structured Data

The code below can be inserted into your theme’s `functions.php` file to disable the Job schema. Even better, you can use a plugin like Code Snippets rather than adding it directly to `functions.php`:

<code>add_filter( 'wpjm_get_job_listing_structured_data', '__return_false' );</code>