Ninja Job Board turns your WordPress site into a careers page. Post a job, give it an application form, and review every applicant in one place. You do not need a paid job portal, and applications do not get lost in your inbox.
It is made for small and medium teams that hire a few times a year and want a simple, self-hosted way to do it.
How it works
- Create a job. Write the description in the block editor and add the job type, location, vacancies and experience.
- Build the application form with the drag and drop form builder.
- Publish. The job page shows the job details and the application form automatically.
- Review applications. Filter them by status, open each applicant’s CV, add notes, and move them through your hiring steps.
- Reply to applicants one by one, or send one email to all applicants with a given status.
Jobs and the careers page
- Each job is a WordPress post with its own page, category and details.
- Job List block and
[wp_job_list] shortcode: show your open jobs on any page, with an optional category filter.
- Job Application Form block and
[wp_job_form id="123"] shortcode: show a job’s application form anywhere.
- Job Details block: show a job’s type, location, vacancies, experience and posting date.
- Job categories, and an option to hide jobs that are no longer open.
Application form builder
Build each job’s form by drag and drop. Available fields:
- Applicant name and applicant email
- CV upload and file upload
- Single line text, paragraph text and number
- Dropdown, radio buttons and checkboxes
- Date
- Hidden field
- HTML content
- Form steps, to split a long form into pages
Each form has its own settings:
- Confirmation: show a message, or send the applicant to a page or URL.
- Scheduling: open and close applications on set dates.
- Restrictions: require login, or limit the number of applications.
- Design: label placement, required marker and submit button position.
Applicant tracking
- All applications for a job in one table, with tabs that count each status.
- Two statuses per application: the application status (Applied, Processing, Pending, Completed) and a private internal status for your team (New, Audited, Interviewed, Shortlisted, Hired and more).
- An application page with the answers, the CV and other files, notes, and an activity timeline.
- See the other applications from the same applicant.
- Search applications, print an application, and export applications to CSV.
Email
- Email notifications when someone applies: to the applicant, to your HR team, or both. Use placeholders such as the applicant’s name and the job title.
- Email broadcast: send one email to all applicants of a job, filtered by application status and internal status.
Security and privacy
- Uploaded CVs are private. Only users who can view the application can download them. Direct links to the upload folder are blocked (see the FAQ for Nginx).
- Spam protection: a hidden honeypot field on every form, and optional Cloudflare Turnstile.
- WordPress privacy tools: export or erase an applicant’s data from Tools > Export Personal Data and Tools > Erase Personal Data.
- Option to stop storing applicants’ IP addresses.
- Option to delete all plugin data when you delete the plugin.
Fast and lightweight
The form’s CSS and JavaScript load only on pages that show a form or a job list. The admin is a modern app built with Vue 3, and it uses the WordPress REST API.
Source code
The files in assets/admin, assets/blocks, assets/css and assets/js are compiled. Their source (the Vue admin app, the blocks and the SCSS) is on GitHub. Each release has a matching tag, for example v2.0.0.
To build: npm install, then npm run build. Bug reports and pull requests are welcome.
Other plugins by WPManageNinja
External services
This plugin can connect to Cloudflare Turnstile, a security check that blocks spam on the public application form. It is off by default and only works after you turn it on and add your keys in Job Board > Settings > General.
When it is on, the application form loads the Turnstile script from challenges.cloudflare.com, and the visitor’s browser sends Cloudflare the data it needs to tell people from bots. When an application is submitted, your site sends the Turnstile token, your secret key and the visitor’s IP address to https://challenges.cloudflare.com/turnstile/v0/siteverify to check the token.
Cloudflare Turnstile: Terms of Use, Privacy Policy.