JobAdder Job Board user guide

Everything you need to install, connect and run JobAdder Job Board for WordPress, version 3.2.

Stuck? Check troubleshooting, or ask us for help.

Introduction

JobAdder Job Board for WordPress, by Curious, adds a Jobs section to your website and keeps it in step with your JobAdder job boards. New ads appear on your site within five minutes, changes follow them, and closed jobs come down on their own.

New in version 3.2

  • Updates delivered in your WordPress dashboard, with your licence key.
  • Google for Jobs: every live job is marked up for Google’s job search, with a health check.
  • New fields for each job: salary and workplace.
  • Workplace (on-site, hybrid or remote) detected automatically from the ad’s wording.
  • Jobs closed early in JobAdder now come off your site at the next sync.
  • Closed jobs handled for SEO: removed from sitemaps, a helpful “This role has now closed” page, and a redirect once deleted.
  • Improved security.
  • Staging and local copies never sync, so they can’t break your live connection.

Requirements

Your website needs the following. Most WordPress hosting meets them already.

RequirementMinimum
WordPress6.5 or later (6.7 or later for block themes without their own job templates)
PHP7.4 or later (8.1 or later recommended)
DatabaseWhat your WordPress version needs (MySQL 5.7+ or MariaDB 10.3+)
HTTPSYour site served over HTTPS
Scheduled tasksWorking WP-Cron, or a server cron calling WP-Cron or the plugin’s sync URL
Site addressYour live site served on one address (one domain, with or without www, not both)
Site typeA single WordPress site. WordPress Multisite networks aren’t supported.
JobAdderA JobAdder account with job boards, and a user with admin access to approve the connection

Getting started

Buy a yearly licence from the product page, then download the plugin zip from My Account → Downloads.

1. In your WordPress dashboard, go to Plugins → Add New Plugin.

Plugins menu in the WordPress dashboard, with Add New Plugin highlighted

2. Click Upload Plugin.

Add Plugins screen with the Upload Plugin button

3. Click Choose file, select the plugin zip you downloaded, click Install now, then Activate.

Plugin upload box with Choose file and Install now buttons

Once it’s active, you’ll see a Jobs menu in the dashboard.

Jobs menu in the WordPress dashboard: All Jobs, Add New, Sectors, Locations, Types and JobAdder Settings

4. Go to Jobs → JobAdder Settings → Licence and updates, add your licence key and click Activate, so the plugin can update itself. You’ll find your key in My Account → Licences.

5. Connect to JobAdder. Enter the Client ID and Client Secret from your JobAdder developer account (see below) and click Connect with JobAdder. This takes you to JobAdder to approve the connection.

JobAdder Settings: Client ID and Client Secret fields and the Connect with JobAdder button

Please note: you need to be a JobAdder user with admin access to approve the connection.

Getting your JobAdder Client ID and Client Secret

First apply for a JobAdder developer account at developers.jobadder.com/register. Once you’ve been accepted, sign in and click Register a new application. Fill in the form like this:

JobAdder Developers New Application form
FieldWhat to enter
Application NameYour company Job Feed
Short DescriptionWordPress JobAdder integration to pull our job feed through to our website
Logo URLLeave blank
Home Page URLYour website’s address
Privacy URLYour privacy page
Terms URLYour terms and conditions page
Authorized redirect URIsThe Redirect URI shown in Jobs → JobAdder Settings. Copy it exactly.

If you use a staging site, add its Redirect URI too, one per line: open JobAdder Settings on the staging site and copy the Redirect URI shown there.

Once JobAdder is connected, your job boards appear on the settings page. Tick the boards you want to bring through to your website, and click Save Changes.

Board Settings: choosing which JobAdder job boards to import

The plugin will now import new job ads as Jobs. From each ad it brings across the title, description, summary (used as the excerpt), reference, expiry date, Apply and More information links, job type, location and sector (as categories), and salary where it’s filled in.

Disconnecting. The Disconnect button removes the connection details from your site. You can also choose to delete every job that came from JobAdder. Otherwise they stay, and closed ones are removed as normal.

Jobs on your website

Your jobs list is at /jobs/ and each job has its own page. Both use your theme’s design where it has job templates.

Jobs list (/jobs/). Shows live jobs with title, date, type, location, sector and excerpt, with a Sort by menu. Sector, location and type pages (for example /job-sector/engineering/) list the live jobs in that category.

Example jobs list showing live jobs with location, type and salary

Job pages. Show the title, date and description, the job details (type, location, sector, reference, salary, closing date), and Apply and More information buttons.

Example job page with job details, Apply now button and similar roles

Your theme’s design. If your theme has its own job templates (single-jobs and archive-jobs), they’re used. Otherwise the plugin’s own simple templates are used, for classic and block themes. Your web developer can also build job listings with WordPress’s Query Loop block, and connect buttons and text to job fields (Apply link, salary, closing date and more) without code.

The plugin works with a range of tools for sorting and filtering the jobs list. We recommend FacetWP.

Google for Jobs

Every live job page includes the details Google needs to show it in Google’s job search: title, description, dates, your organisation, location, job type and salary.

In Jobs → JobAdder Settings → Google for Jobs:

  • Check your organisation name, logo and default country.
  • The health check lists any live jobs Google would reject and why (most often a missing location), so you can fix them in JobAdder.
  • Closed jobs are hidden from search engines automatically.
Google for Jobs health check showing all live jobs eligible, with one recommendation

Instant Google updates (optional). With a Google service account, the plugin tells Google straight away when a job is added, changed or closed, instead of waiting for Google to revisit. The setup steps are in the settings panel under How to set it up.

Creating a job by hand

As well as importing from JobAdder, you can create a job yourself. Go to Jobs → Add New. This opens the block editor, with a Job Details block at the bottom.

Job Details block in the editor: Reference, Expiry date, More information URL and Application URL

Add the reference number from JobAdder, the expiry date, a More information URL and an Application URL. The rest of the page can use any block, just like any other post.

In the sidebar you can add sectors, locations and types:

Editor sidebar panels for Sectors, Locations and Types

Above those you can add an excerpt, a short description of the job that shows in the jobs list:

Excerpt panel in the editor sidebar

Click Publish and the job is live. Jobs you add by hand are never deleted by the plugin.

Closed jobs and your data

Closed jobs are handled for you, so applicants and search engines never hit a dead end. It works with no setup, and the settings below let you fine-tune it.

When a job closes (it expires, or is closed early in JobAdder):

  • It drops out of your jobs lists and XML sitemaps (Yoast SEO’s and WordPress’s own), and is hidden from search engines.
  • Its page stays up, showing “This role has now closed” with up to three similar live jobs (same sector, otherwise same location, otherwise the newest) and a link to all jobs. The Apply button is removed.
  • After the number of days you choose, it’s deleted. Its old address then redirects to the page you’ve chosen for its sector in Your data (a sub-category’s page first, then its main sector’s); otherwise to its main sector’s job listing (for example /job-sector/engineering/); otherwise to your job search page.
Example closed job page showing “This role has now closed” with similar live jobs

The redirect doesn’t depend on which jobs are live that day, so an old link always lands in the same place. It only changes if you change a sector’s page in settings.

You can change these settings in Jobs → JobAdder Settings → Your data:

SettingWhat it does
Delete closed jobs afterDays to keep closed jobs before deleting them. We recommend 30, the default for new sites. Sites updated from an earlier version start at 0 (keep them) until you choose.
Closed job pagesShow or hide the “This role has now closed” notice.
Job search pageWhere “See all live jobs” and the last-resort redirect go. Default: the jobs list.
Pages for sectorsOptional. Choose your own page for a sector (for example a sector landing page), and that sector’s deleted jobs redirect there instead of to its job listing.
Deleting the pluginWhether deleting the plugin also deletes the jobs that came from JobAdder.

When a job closes, the plugin also stops keeping its full copy of the JobAdder ad. The page itself is unchanged.

Staging, local copies and moving a site

Only your live site syncs with JobAdder. Copying the site to a staging environment pauses updates automatically. JobAdder issues a fresh key each time the connection renews, so if a staging copy renewed using your live site’s key, the live site’s key would stop working and its jobs would stop updating.

What happens on a copy. The plugin remembers which address it was connected on. On any other address (staging, local, a clone), syncing pauses and admins see a notice. Jobs already on the copy stay, so you can still work on the design.

If the live site itself changes address, click This is the live site: enable syncing here in JobAdder Settings.

Moving a site or restoring its database elsewhere. For security, your JobAdder connection is locked to your website. If you move the site to a new host or restore it somewhere else, the connection won’t come with it, so nobody who gets hold of a copy of your site can use it to get into your JobAdder account. You’ll see “JobAdder needs reconnecting”. Go to JobAdder Settings, enter your Client Secret again and click Connect with JobAdder. Your jobs stay up in the meantime.

Normal updates and file-only deploys don’t need a reconnect.

Upgrading from an earlier version

Activating version 3 moves your settings and jobs across from the earlier versions automatically. You don’t need to reconnect or change your JobAdder app.

Earlier versionPluginsWhat happens
1.xJob Posts, and Job Posts – JobAdder API IntegrationJobs move to the new type, and old addresses redirect
2.xJobAdder Jobs Post Type, and JobAdder API Integration (curious-jobadder.zip)Same jobs and addresses

To upgrade:

  1. Back up your site (files and database).
  2. Upload and activate JobAdder Job Board. Leave the old plugins where they are.
  3. It copies your connection, chosen boards and jobs, then deactivates the old plugins. A notice summarises what happened.
  4. Check a job page, the jobs list and JobAdder Settings (connected, boards ticked).
  5. If you use FacetWP, re-index it. If you use Yoast SEO, check its settings for Jobs.
  6. Once you’re happy, delete the old plugins.

If your theme already had its own job templates, they’re now used. Version 2 always used its own, so some sites may look different after upgrading.

Server cron users (from 3.1). If your host calls an old sync address (?curious-jobs-jobadder-update), change it to the sync URL shown in JobAdder Settings. Calls without the secret key are now refused.

If something goes wrong, we can roll the upgrade back. Contact support.

Updates and renewals

While your subscription is active, updates appear in Dashboard → Updates like any other plugin, and you can turn on automatic updates.

  • Every update is checked before it installs: the plugin only accepts packages signed by Curious.
  • Your subscription renews yearly through your account. If a renewal payment fails, updates carry on for 14 days while it’s sorted out.
  • If it lapses, nothing breaks. Your jobs keep syncing and your site works as before. You just won’t get updates (including security fixes) until you renew, and you’ll see a reminder in JobAdder Settings.
  • Staging and local copies can use your live site’s key without using up a site on your licence.
  • My Account → Licences shows your key and the sites using it. You can free up a site there, for example when moving to a new domain, or deactivate the licence in the plugin on the old site and activate it on the new one.
  • Need more sites? Upgrade from a Single site to a Multi-site licence (up to five sites) from your subscription, paying only the difference for the rest of your year.

Security

Your JobAdder connection details are encrypted on your site, and the plugin only ever talks to JobAdder and Google over secure connections.

  • Encrypted details. The client secret and connection keys are encrypted in your database (XChaCha20-Poly1305), using keys held outside the database. A leaked database or backup doesn’t expose working JobAdder access.
  • Secure connections. TLS 1.2 or later for every request to JobAdder and Google, with certificate checks. Connection keys are only ever sent to JobAdder’s own addresses.
  • Least access. The plugin asks JobAdder only for permission to read job ads. It never sees candidates or clients.
  • Safe content. Job ad text from JobAdder is cleaned before it’s shown, and Apply links must point to JobAdder.
  • Admins only. Connecting, syncing and settings need a WordPress administrator. The server sync URL needs its secret key.

The Security panel in JobAdder Settings shows that encryption and secure connections are working on your site.

Found a security issue? Report it through the Patchstack Vulnerability Disclosure Program or email [email protected]. Our disclosure policy is at iamcurious.co.uk/security.

Troubleshooting

ProblemWhat to do
New jobs aren’t appearingCheck the Sync panel for errors and click Sync now. Check the right job boards are ticked. On a quiet site, WordPress only runs scheduled tasks when someone visits, so ask your host about a server cron.
“Syncing is paused” noticeThe site’s address differs from the one it was connected on. On a copy, that’s expected. On your live site, click This is the live site: enable syncing here.
“JobAdder needs reconnecting”The site or its database has moved. Enter your Client Secret again and click Connect with JobAdder.
“Your server’s scheduled JobAdder sync is being refused”Your server cron uses an old sync address. Replace it with the sync URL shown in the Sync panel.
JobAdder says the redirect URI is invalidThe Authorized redirect URI in your JobAdder app must match the one in JobAdder Settings exactly, including https and www.
A job shows in JobAdder but not on the siteCheck it’s posted to a board you’ve ticked, and that its expiry date hasn’t passed.
A job isn’t in GoogleRun the Google for Jobs health check. The most common cause is a missing location in JobAdder.
Job pages look plainYour theme has no job templates, so the plugin’s basic ones are used. Your web developer can add templates or build pages with the Query Loop block.
No updates are showingCheck your licence is active in JobAdder Settings → Licence and updates, and that your subscription is active in My Account. Then click Check again in Dashboard → Updates.

Still stuck? Ask us for help. Include your site address and what the Sync panel shows.

Removing the plugin

Deactivating the plugin stops syncing and keeps everything. Deleting it always removes your JobAdder connection details, and lets you choose whether to remove your jobs.

ActionJobsSettingsJobAdder details
DeactivateKept (hidden while inactive)KeptKept
DisconnectKept, or deleted if you tick the optionKeptRemoved
DeleteKept, unless Also delete every job… is ticked under Your dataKept, so reinstalling picks up where you left offRemoved

Jobs you added by hand in WordPress are never deleted by the plugin.

← Plugin support · Version history