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.
Expiry, alerts and applications are all time-sensitive, and all three fail quietly when scheduled tasks depend on visitor traffic.
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.
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.
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.
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.
Expiry is automatic, and occasionally wrong. Daily backups mean a listing removed early can be brought back rather than re-entered.
The work on a job board is not publishing. It is everything that has to happen afterwards, on time, without anybody remembering.
Candidates arrive with criteria rather than curiosity. The first thing almost everybody does is filter, so that query decides how the site feels.
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. |
Every plan includes free migration, daily backups, SSL and 24/7 support.
Move the job board across — migration is free, listings and applications included.