A resume database on a WordPress job board is a set of candidate profiles that employers can search, with the candidate in control of what is shown and who sees it. The usual route is the Resume Manager add-on for WP Job Manager, or the resume search in WP Career Board, which needs a paid licence (check the product page). The technical part is easy. The hard parts are access rules, consent, deletion and fake profiles, and this guide covers all of them.
Everything said here about third-party products comes from their own pages, read in October 2026. Features and plans change, so confirm anything that affects your build on the product page before you commit.
In this guide
- What a resume database is, and whether your board needs one
- What the main plugins document
- What to store, and what to leave out
- Who should be able to search resumes
- Candidate privacy and consent
- Data protection, retention and deletion
- Spam and fake profiles
- Resume parsing
- Alerts
- Step by step: set up a resume database with Reign
- Questions people ask
What is a resume database, and does your job board need one?
A resume database is a searchable collection of candidate profiles or uploaded CVs that lives on your own site. Employers browse it to find people before, or instead of, waiting for applications.
Not every board needs one. A board that only lists jobs and takes applications works fine without it. A candidate database starts to make sense when employers keep asking “can I see who else is out there?”, or when your niche is narrow enough that a good pool of people is worth more than any single listing.
It also changes your job. A job listing is public advertising. A resume is personal data about a named person, often with a phone number, an email address and a work history. Once you store it, you are responsible for it. That is why this guide spends as much time on access, consent and deletion as on plugins.
If you have not built the job side yet, start with how to build a job board site with Reign, step by step, then come back here. The database is an add-on to a working board, not a starting point.
Which WordPress plugins can run a candidate database?
Several can, but they differ a lot in what they document. The short version: WP Job Manager has a dedicated paid add-on, WP Career Board has resume search in its paid licence, WPJobBoard lists a resume database as a feature, and JobBoardWP does not document resumes at all.
Wbcom makes WP Career Board, so weigh that when you read the comparison. The table below lists only what each vendor says on its own pages.
| Product | What its own pages say about resumes | Not documented on the pages checked |
|---|---|---|
| WP Career Board (Wbcom) | Resume builder and employer resume search are listed under the paid licence, along with open-to-work signals. Candidates get a front-end dashboard to apply, track applications and save jobs. A feature called ResumesPro is described as a resume database you own, built from people who applied to your board. | Job alerts and privacy controls in detail. Check the product page. |
| WP Job Manager, Resume Manager add-on | A submission form for contact details, websites, education and employment history. A searchable, filterable list by shortcode. Access can be restricted by user role or capability. A contact button reveals the candidate’s email to permitted viewers. Candidates can apply to jobs with a stored resume. | Payments or paid access, and parsing, on the add-on page. |
| WPJobBoard | Lists “Resume Database” as a feature and says employers can see applicant information and resumes after logging in. Also mentions job alerts and email notifications. | Details of resume search, paid access to resumes and privacy controls. |
| JobBoardWP | Documents jobs, a job posting page and a jobs dashboard. | Resumes, candidate profiles and a candidate database. Not documented. |
Read the table as a starting point. A feature missing from a page is not proof the product lacks it, only that you should ask the vendor before you build around it. For a wider look at the plugins themselves, see our comparison of WordPress job board plugins.
When is WP Job Manager the better pick?
If you already run WP Job Manager, the Resume Manager add-on fits straight in. Its admin screens are described as similar to WP Job Manager’s, it is built on that plugin, and it is shortcode based, so it works with any theme given some CSS. The add-on is sold as a personal (single site) or developer (unlimited sites) licence. Check the page for the current terms.
Our guide to building a job directory with Reign and WP Job Manager covers the base plugin, and WP Job Manager add-ons for a job board lists the others you might pair with it.
When is WP Career Board the better pick?
If you are starting fresh and want the job board, candidate dashboard and community on one stack, WP Career Board is built for that, and Reign styles it. Resume builder and employer resume search are listed under the paid licence on the product page, so check what the licence covers today. The Reign and WP Career Board playbook shows how the pieces fit into a professional community.
What should a resume database store?
Store the least you need to match a candidate to a job, and let the candidate choose what is public. Every extra field is data you must protect, explain and eventually delete.
A practical split looks like this.
- Public to permitted employers: a headline or job title, location (city or region, not street), skills, years of experience, work history, education, and a short summary.
- Visible only on request: email address and phone number. The Resume Manager add-on documents a contact button that reveals the email to permitted viewers, which is a good model whichever plugin you use.
- Private to the candidate: salary expectations, the reason they are looking, current employer if it is a secret search, and any identity documents. Do not collect identity documents at all unless the law in your country requires them.
Two fields deserve a warning. Date of birth, photo and nationality are the usual ones. In many places, collecting them is allowed but using them to screen people is not. If you do not need them, do not ask. That is also the simplest way to keep employers on your board out of trouble.
Resume Manager documents resume categories and a skills setting that enables resume tags. Both help search, and both are better kept to a short fixed list you control than to free text, because free text produces “WordPress dev”, “wordpress developer” and “WP Developer” as three separate skills.
Uploaded files or structured profiles?
A structured profile is easier to search and easier to delete than a PDF. An uploaded file is a blob: you cannot search inside it reliably, it may contain data the candidate forgot about, and it lives in your uploads folder where a direct link may work for anyone who guesses it.
If you allow uploads, test the actual URL of a file while logged out. If it opens, your “employer-only” rule is not employer-only. Ask your host how to keep uploaded documents out of the public path, or store structured fields and skip file uploads.
Who should be able to search resumes?
Only people who have a reason to. The safe default is employers and administrators, and that is exactly the default in the Resume Manager add-on documentation: resumes are visible to employers and administrators only until you change the visibility settings.
Pick one of these access models and decide it before you launch.
- Employer-only. Anyone with an employer role can search. Simple, and fine for a small niche board. The risk is that anybody can register as an employer, so your employer sign-up is now your privacy gate.
- Approved employers. An admin approves each employer account before it can see resumes. Slower, but it stops a lot of abuse.
- Paid access. Employers pay to search the database. This is how many boards earn money from candidates they did not recruit. The Resume Manager page documents role and capability based visibility but not payments, so paid access means pairing role-based visibility with something that assigns a role on payment. The WP Career Board page lists paid listings and credits under its paid licence, but check the product page to see whether credits apply to resume search before you plan around it.
- Candidate-controlled. The candidate decides, per resume, whether employers can see it at all. This is the friendliest model and the one that avoids most consent problems.
A good board combines the last one with one of the first three. Employers pass a gate, and candidates keep a switch.
How does role-based access work in practice?
In Resume Manager, the Resume Visibility settings let you add roles or capabilities to each view. Removing all of them makes that view public, which is the setting you most want to avoid by accident. The documentation also says you can create a custom capability, for example with the User Role Editor plugin, and enter it in the settings.
That custom capability is the hook for paid access. A membership or payment tool assigns the role or capability when an employer pays, removes it when they stop, and the resume list follows. Whichever tool you use, test the removal path as carefully as the grant path. An employer who stopped paying and can still search is a quiet leak.
If you sell access to a community alongside the board, how to run a paid community on WordPress with Stripe describes the membership side, and the same idea of a paid role applies.
How do you handle candidate privacy and consent?
Tell candidates plainly who can see their resume, get a clear yes before it is visible, and make it as easy to hide as it was to publish. Those three things cover most of what goes wrong.
Say who sees it. Put one sentence next to the submit button: “Employers with an account on this site can search your resume and reveal your email.” Not buried in a privacy policy. Next to the button.
Get a real yes. A pre-ticked box is not consent in most places. Use an unticked checkbox that the candidate has to tick to make the resume searchable. If your board also sends job alerts, keep that consent separate. The WP Job Manager Job Alerts add-on documents a consent checkbox admins can add, and an unsubscribe link at the bottom of alert emails, which are the right pieces for the email side.
Make hiding easy. A candidate who finds a job should be able to take their resume out of search in one click. Resume Manager documents a candidate dashboard where logged-in candidates manage, edit and delete their resumes, and WP Career Board describes a candidate dashboard for applications and saved jobs. Whichever you use, put the “hide or delete my resume” control where candidates will find it.
There is one more privacy choice that gets overlooked: what happens to the resume when the candidate applies. Resume Manager documents that applicants choose a resume on file, write a message, and that the employer receives a private link to view the resume online. That is better than emailing the resume as an attachment, because the employer’s copy stays under your control and disappears when the resume does.
What do data protection rules mean for a resume database?
Rules differ by country and change, so check your local rules, or ask a lawyer, before you launch. This section is not legal advice. It lists the questions to take with you.
- What personal data do you collect, and why? Write each field’s purpose down.
- On what basis do you hold it? Consent is the common one for a candidate database.
- How long do you keep a resume? Decide a number, not “as long as needed”.
- What happens when a candidate asks to see, export or erase their data?
- Who are your processors? Your host, your email service and any plugin that sends data elsewhere count.
- Do you have a privacy policy that says all of this in plain words?
How do you set retention and deletion?
Set an expiry on every resume, and delete rather than hide. Resume Manager documents two settings that help. “Listing Duration” limits how many days a resume stays live before it expires. “Auto-hide resumes” sets a number of days after which a resume that has not been updated is hidden until the user republishes it. Together they stop old resumes sitting in search for years after the candidate got a job.
Note that hiding is not deleting. A hidden resume still sits in your database. Decide separately when hidden resumes are removed for good, and do it on a schedule rather than when you remember.
WordPress itself has tools for personal data requests. The WordPress documentation describes an Export Personal Data screen under Tools that builds a zip file of personal data held about a user, and it states that the tool only gathers data from WordPress and participating plugins. That wording matters. If your resume plugin does not hook into it, the export will miss the resumes, and you will need another way to respond to a request. Test it with a dummy candidate before you have a real request.
Test deletion the same way. Create a candidate, add a resume with an uploaded file, delete the account, then check the database, the uploads folder and any emails you sent. If anything is left, you have found it before a regulator did.
What about backups and employers who already saw the resume?
Both are real gaps. A deleted resume can sit in a backup for as long as your backups run, so keep that window short and write it in the privacy policy. And an employer who already revealed an email address has that email. You cannot un-send it. You can limit the damage by making the employer terms say that contact details are for hiring only, and by logging who revealed what, if your tools allow it.
How do you stop spam and fake profiles?
Put a human or a rule between a new resume and the search results. Most fake profiles are not clever. They are scraped lists, test submissions and people hoping to harvest employer contacts.
These controls are documented or standard in the products above, and worth switching on.
- Approval before publishing. Resume Manager documents an “Approval required” setting that holds new resumes until an admin approves them. Allow Published Edits can require approval for later edits too, in which case the original is unpublished while the edit waits.
- Verified email. Require candidates to confirm their email before they can post. Many registration plugins support this.
- Employer approval. If employers can search resumes, review each employer account before it can. This protects candidates from scrapers posing as recruiters.
- Rate limits on contact reveals. If your stack lets you cap how many emails one employer can reveal per day, set a cap. A scraper wants hundreds.
- A report button. Candidates and employers should be able to flag a profile. Our community moderation guide for WordPress explains reports and review queues that work for this kind of content.
Approval has a cost: someone has to do it, and slow approval annoys real candidates. For a small board, a daily five-minute review is fine. As volume grows, approve in batches, and consider trusting candidates who have already had one resume approved.
A last point on fakes. The people most hurt by fake profiles are the employers paying for access. If employers stop trusting the database, they stop paying. Moderation is not a cost on top of the business. It is the product.
Can a resume database parse resumes automatically?
Parsing means software reads an uploaded CV and fills in the fields for the candidate. None of the pages I checked document it. The Resume Manager add-on page does not mention parsing, and the WP Career Board page lists AI-assisted job writing and AI screening under its paid features, not resume parsing. JobBoardWP and WPJobBoard pages do not document it either.
So if a vendor, a blog or a sales page says a plugin parses resumes, ask for the documentation page before you build on it. If you add a third-party parser, remember it is another processor of personal data, which belongs in your privacy policy and your list of questions above.
Structured profile forms are a perfectly good alternative. Candidates fill in fields once. You get clean data that searches well, and nothing is sent to a parsing service.
How do alerts work with a resume database?
There are two kinds, and they point in opposite directions. Job alerts tell candidates about new jobs. Candidate alerts would tell employers about new matching resumes. Plugins document the first much more than the second.
For candidates, the WP Job Manager Job Alerts add-on documents saved searches, sending daily, weekly, fortnightly or monthly, an optional consent checkbox and an unsubscribe link. Its page does not say whether it covers resumes, so do not assume an alert for employers exists. WPJobBoard says it can send email job alerts and notifications, without detail on who receives them. WP Career Board’s pages did not mention job alerts when I checked, so look at the product page for the current state.
If you want employers to hear about new candidates, you have three honest options: use a plugin that documents it, send a manual weekly digest to paying employers, or give employers a saved search they can open themselves. Whichever you pick, keep the same rules: consent, a clear unsubscribe, and no emails about candidates who hid their resume.
How do you set up a resume database with Reign, step by step?
You need a working job board, a resume plugin, a decision on access, and a clean privacy page. Reign gives the pages their design, and the plugin supplies the behaviour. The steps below use Resume Manager as the worked example because it has the most documentation. The same order applies to WP Career Board once you have the licence that includes resume features.
Step 1: Get the job board running first
Build the job side and confirm that an employer can post a job and a candidate can apply. Follow the Reign job board build guide for that part.
To confirm it worked, post a test job as an employer and apply to it from a separate candidate account.
Step 2: Add the resume plugin
Install the Resume Manager add-on, or move to the WP Career Board licence that includes resume features. Resume Manager is built on WP Job Manager, so the base plugin must be active.
To confirm it worked, a new resume settings area appears in the admin, and the plugin’s pages exist.
Step 3: Create the candidate pages
For Resume Manager, the documentation names the shortcodes. [submit_resume_form] displays the submission form. [candidate_dashboard] displays the candidate dashboard, where logged-in candidates manage, edit, delete and create resumes. [resumes] lists resumes, with arguments such as per_page, order, orderby and show_filters. Put each on its own page, then add the dashboard to your menu.
To confirm it worked, log in as a candidate, submit a resume and find it again in the dashboard.
Step 4: Lock down who can see resumes
Open the Resume Visibility tab. Check that the listing, the single resume view and the contact details are each limited to the roles you chose. Do not leave any of them empty, since removing all roles makes that view public.
To confirm it worked, open the resume list while logged out, then as a candidate, then as an employer. Only the last should see it.
Step 5: Turn on moderation and expiry
Set “Approval required”, decide whether published edits need approval, and set the listing duration and the auto-hide days from the retention section above.
To confirm it worked, submit a resume and check that it waits in the pending list instead of appearing in search.
Step 6: Write the consent line and the policy
Add the unticked consent checkbox and the one-sentence notice to the submission form, and update your privacy policy with what you store, who sees it, how long you keep it and how to ask for deletion.
To confirm it worked, a new candidate cannot submit without ticking the box, and the policy link opens from the form.
Step 7: Test export and deletion
Use Tools, Export Personal Data on a dummy candidate and check whether the resume appears. Then delete the account and check the database and uploads folder.
To confirm it worked, nothing about the dummy candidate remains, or you know exactly what does and where to remove it.
Step 8: Check it on a phone
Candidates fill in resumes on phones, and employers browse on phones. Reign handles the layout, but forms and filters from any plugin deserve a real look at a narrow screen.
To confirm it worked, submit a resume and run a search from a phone-sized window without sideways scrolling.
Should the database sit inside a community?
It can, and it is a strong pairing. Candidates who are already members of a professional community trust the site more, and they keep their profiles up to date because they come back for other reasons. A board that is only a list of jobs gets a visit when someone is hunting, then nothing.
Reign is a community theme, and the Reign and WP Career Board playbook shows the board and the community sharing one site. If your community uses directories for members, launching a directory members pay to be listed in shows a related model. And for the BuddyPress route, adding a job board to a BuddyPress community explains how jobs and members live together.
One caution. A member directory and a resume database are not the same thing. A member profile says “I am here”. A resume says “I am for hire”. Do not turn one into the other without asking the member. Keep the resume as a separate, opt-in object.
Questions people ask
Is there a free way to add a resume database to WordPress?
I could not confirm one from the pages I checked. The Resume Manager add-on is a paid add-on, WP Career Board lists resume search under its paid licence, and the JobBoardWP page does not document resumes. Check each product page for current terms, since plans change.
Can employers contact candidates without seeing their email address?
It depends on the plugin. Resume Manager documents a contact button that reveals the candidate’s email to permitted viewers, and it documents an apply flow where the employer gets a private link to the resume. A message relay that never shows the address is better for privacy, so ask the vendor whether that is possible.
How long should I keep a resume?
Pick a fixed period, tell candidates what it is, and enforce it with the expiry settings your plugin offers. The right number depends on your local rules and your board, so check your local rules rather than copying a figure from a blog post, including this one.
Can candidates see which employers viewed their resume?
None of the pages I checked document it. If it matters to your candidates, it would need extra development or a different tool, and it adds another data point you must protect.
Do I need a candidate database to run a good job board?
No. Many good boards run on listings and applications alone. Add the database when employers ask for it and when you are ready to take on the moderation and data protection work. A half-managed database does more harm than none.
Where to go from here
Start small. Add the resume plugin, keep access employer-only, switch on approval and expiry, and write the one-sentence consent line before you invite a single candidate. Reign gives the board and the candidate pages a consistent look on every screen size, so the privacy controls are easy to find. You can see how Reign is set up on the Reign theme page, and if you want the job board and the candidate dashboard from Wbcom, look at WP Career Board and its product page for what the licence covers.