To migrate from WP Job Manager to WP Career Board, install WP Career Board next to it, then use either the Career Board > Settings > Import tab in wp-admin or WP-CLI (wp wcb migrate wpjm --dry-run first, then without the flag). The importer is additive: it reads your WP Job Manager data and creates new records, and it never deletes or edits anything in the original plugin.
Jobs and applications come across in the free plugin. Resumes need WP Career Board Pro. That’s the one place people get caught, so it’s worth knowing before you start.
Do all of this on a staging copy first. The importer is built to be re-runnable, but “should be safe” isn’t a reason to try it on the live site on a Friday afternoon.
Before you move: take inventory
Write down what you actually have. Open WP Job Manager and count your published jobs, expired jobs, resumes and applications. Note which add-ons you run, because the importer only knows about the core job listings, the Resumes add-on and the Applications add-on.
Then list the things the importer won’t carry over by itself. Paid-listing packages, custom fields added by a snippet or another plugin, and add-on settings (such as email rules from the Applications add-on) aren’t something you should expect to see migrated. Treat them as items to rebuild or verify by hand.
Run both plugins side by side
Keep WP Job Manager active during the migration. The importer reads from its post types (job_listing, plus resume and job_application if those add-ons are active), so if the old plugin is off, there’s nothing to read. The admin Import tab shows a “Plugin not active” badge when the source isn’t available, which makes the problem obvious.
This also gives you a fallback. Your old board keeps working untouched while you check the new one.
Do a dry run
From the command line:
wp wcb migrate wpjm --dry-run
It lists every job it would import, then summarises how many filled jobs would be closed, how many new company pages it would create and how many applications are waiting. Nothing is written. In the admin, the Import tab shows the same preview before you click anything.
Read the numbers against your inventory. If you have 400 jobs and the dry run says 120, find out why before going further. By default the importer brings across published and expired jobs; you can target a status with --status, and work in chunks with --limit and --offset on a large board.
Import jobs, applications and resumes
Order matters. Import jobs first, then applications, because applications attach to the imported jobs.
wp wcb migrate wpjm
wp wcb migrate wpjm-applications --dry-run
wp wcb migrate wpjm-applications
For each job, the importer carries across the title and description, location, salary with its currency and pay period (hourly, monthly or yearly), the deadline, the featured and remote flags, and the application email or URL. Company details (name, website, tagline, Twitter, logo) become company pages, matched to an existing company by website or name so you don’t get duplicates. Categories, job types and tags are mapped to the matching Career Board taxonomies. Filled jobs arrive as Closed and expired ones as Expired.
Applications keep their status (new, interviewed, offer, hired, rejected), message, candidate and attached file links. No emails are sent during the import, so your candidates won’t get a flurry of notifications.
Resumes use wp wcb migrate wpjm-resumes, or the Resumes card on the Import tab, and need Pro active. They bring over the candidate’s details, education and experience, photo, resume file and categories.
Every run skips records it has already imported, so if something stops halfway you can run it again.
Check taxonomies, URLs and the front end
Spot-check a handful of jobs against their originals. Look at salary and pay period, the company page, the apply button, and whether a job that was filled really shows as closed.
URLs deserve special attention. The importer creates new job records with their own addresses, and the importer has no redirect handling, so assume your old WP Job Manager job URLs won’t forward on their own. If those pages have search traffic, plan redirects yourself before cutover. Check the old and new category and location structure too.
Also look at what Career Board does with locations. If you want jobs to be eligible for Google’s job listings, job posting schema cares about having a real location on every non-remote job.
If something goes wrong halfway
Because each imported record is tagged with the ID of the original it came from, a re-run recognises what’s already done and carries on with the rest. That makes a stopped import (a timeout, a PHP memory limit on a big board) a minor annoyance instead of a mess. For large sites, use --limit and --offset to process jobs in batches rather than all at once, and run WP-CLI rather than the browser screen, since a command line doesn’t hit a web request time limit.
Errors are reported per record, so one badly formed job doesn’t block the other 399.
A staging checklist worth copying
Run this list on the staging copy before you touch production:
- Dry run, then import jobs, and compare the count to your inventory.
- Open ten jobs at random, including a filled one, an expired one and one with a salary range.
- Import applications and check a hired and a rejected candidate show the right status.
- Confirm no candidate received an email during the import.
- If you use resumes, import them with Pro active and open a few public profiles.
- Run the import a second time and confirm nothing is duplicated.
- Test the job submission form and the apply flow as a brand-new employer and candidate.
If anything on that list surprises you, you’ve learned it for free.
What to rebuild by hand, then cut over
Once the data looks right, rebuild the pieces the importer doesn’t touch: email templates, the submission form fields you customised, any payment or listing-package rules, and the pages that hold your shortcodes. Compare against your inventory list and tick items off.
For cutover, switch on WP Career Board’s pages, add your redirects, run the importer once more to catch jobs posted since your first run, and only then deactivate the old plugin. Keep its data for a few weeks in case you need to compare.
If you’re still deciding whether to move, the WP Job Manager alternative page lays out where each plugin fits. For what comes after, the applicant tracking pipeline is a good next stop, and pricing explains what Free and Pro each include. If you’re building the new board from scratch, how to create a job board website covers the rest of the set-up.