Job board hosting where expiry actually happens.
A job board is the rare WordPress site where content is supposed to disappear. Listings expire, alerts go out on a schedule, and both depend on the scheduler running whether or not anyone is visiting.
Everything here has a deadline.
Expiry, alerts and applications are all time-sensitive, and all three fail quietly when scheduled tasks depend on visitor traffic.
Scheduled tasks that do not wait for a visitor
Listing expiry and email alerts are scheduled work. Driven by the platform rather than by page loads, they run at three in the morning on a quiet Tuesday exactly as they do at midday.
Search across live listings only
Job search filters by title, location, type and salary against a set that changes daily. Those queries are indexed so search stays fast as the board fills up.
Applications and CVs handled properly
Uploaded documents contain personal data and should not sit at a guessable URL. Applications are stored behind access checks rather than in an open uploads directory.
Two audiences, one site
Employers post and manage in wp-admin while candidates browse the front end. Admin capacity is reserved so posting a job is not slowed by people reading them.
Recover an expired listing
Expiry is automatic, and occasionally wrong. Daily backups mean a listing removed early can be brought back rather than re-entered.
Listings that manage themselves.
The work on a job board is not publishing. It is everything that has to happen afterwards, on time, without anybody remembering.
- Expiry runs on schedule, not on traffic
- Alert emails sent in batches that finish
- Search indexed across live listings
- Applications stored behind access checks
Filtered results, not full scans.
Candidates arrive with criteria rather than curiosity. The first thing almost everybody does is filter, so that query decides how the site feels.
What we change for job boards
The distinguishing feature of this workload is that things are supposed to stop existing, and that only works if the scheduler is reliable.
| Setting | What we do | Why |
|---|---|---|
| Scheduled tasks | Platform-driven on a fixed schedule | Listing expiry and candidate alerts must run whether or not the site had a visitor in the last hour, which visitor-driven scheduling cannot promise. |
| Email batching | Alert runs given their own execution limits | A daily alert to thousands of candidates is one long-running task, not a web request. |
| Search indexing | Indexed on the fields candidates filter by | Location, job type and salary are meta fields, and unindexed they turn every search into a table scan. |
| Application uploads | Stored behind access checks | CVs are personal data and must not be reachable by guessing an uploads URL. |
| Expired content | Removed from indexes as well as from listings | A job that closed last month should stop appearing in search, not merely stop being linked. |
Simple, transparent pricing.
Every plan includes free migration, daily backups, SSL and 24/7 support.
- 1 WordPress site
- 10 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Support tickets
- 5 WordPress sites
- 50 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Priority support tickets
- 20 WordPress sites
- 200 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Dedicated support
Questions, answered.
Why do my listings not expire on time?
Can you handle candidate alert emails?
Where are uploaded CVs stored?
Which job board plugins work?
Let the board run itself.
Move the job board across - migration is free, listings and applications included.