Classifieds Software for Job Listings with Osclass

Teams searching for classifieds software for job listings need structured fields, employer moderation, and expiry that actually removes closed roles. Job boards fail when salary ranges are missing, role types are inconsistent, or expired jobs stay live. Employers leave if posting is confusing or paid visibility does not bring applicants.

Osclass is free open-source classifieds software that can run a niche job board when you set role taxonomy, employer verification, moderation rules, and expiry cron correctly. For the beginner builder path (domain, brand, themes, seed jobs, promotion), see how to build a job board. Pair with niche selection notes before you commit. Keep salary and compliance text accurate for your region.

Job Board Categories and Required Fields

Create a top-level Jobs category, then nest role groups under it: engineering, design, sales, healthcare, local services. Nested categories can carry different custom field sets, so a nursing role does not show Java-years fields meant for engineers.

Attach fields from Settings > Categories. Prefer select/number for filters; free-text salary breaks facets. For hiring, require the fields candidates actually filter on:

FieldOsclass field typeWhy it matters
Contract typeSelect: full-time, part-time, contractFacetable; keeps search clean.
Salary min / maxTwo number fields (Allow Search)Queryable ranges beat free-text "competitive".
Work location modeSelect: on-site, hybrid, remoteNormalized filters; pair with core city/region for place.
SenioritySelectCuts mismatched applications early.
Application deadlineText (or date-style text)Display urgency; listing expiry period still closes the post via cron.
Apply URLURL, optionalExternal ATS or careers page; otherwise use contact email on the listing.

Default apply path for most niche boards: required contact email, optional Apply URL for link-out. Resume or CV upload needs the active theme to print the upload UI (Jobs attributes alone are not enough). On CareerJob-style themes, enable contact-form attachments so CVs reach the employer, and disable ajax search when multi-filter mobile UX breaks. Do not build a full ATS in Osclass unless you own the pipeline product. Keep company name, website, and about on the user account or a profile plugin; do not duplicate that as free-text on every job.

Job board apply path: on-site contact versus external Apply URL

Publishing, Verification, and Monetization Flow

Job board listing flow: publish, moderation, search, alerts, and optional featured fee

Turn on Require Admin Approval for new employers until the account is trusted. Unverified employers post fake vacancies; require a working contact email and company website before they can buy Featured or other paid placement.

Native Osclass covers publish, categories, custom fields, moderation, and expiry. Paid visibility usually comes from Osclass Pay: start with Featured (Premium) only, then Top of Category or Highlighted after posting volume and callbacks work. Memberships wait until employers already renew.

Staging sequence with a sandbox gateway: create listing → pay → receive callback → confirm promotion applied → wait for expiry or renew → force a failed callback and reconcile manually in the payment plugin. If the callback URL is blocked or loops on HTTPS, the gateway can succeed while the job stays unpaid.

Set listing expiration (for example 30 days) under listing settings so closed roles leave search when cron runs. Disable Automatic CRON under Settings > General; schedule system crontab (index.php -p cron -t minutely|hourly|daily) with the same PHP binary as the web pool. Saved search alerts for candidates depend on those jobs. Import geolocation packs for countries you hire in so city filters are not free-text noise.

Performance, SEO, and Candidate Search Quality

Each live job needs a unique title with role and location when possible. Keep permalinks stable after launch. Canonical tags on job detail pages should beat filter variants for the same posting.

Do not index empty filter combinations. City + role + seniority URLs with zero or one listing dilute crawl budget; prefer noindex or canonicalize to the role category. Theme markup should emit JobPosting structured data where possible (title, datePosted, validThrough, hiringOrganization, jobLocation); validate with a rich-results test after theme changes.

Measure p95 on search results and job detail with a production-sized dataset before upsizing the host. Check EXPLAIN on category + location + custom-field queries, set OSC_CACHE (APCu, Memcache, or Redis), and confirm hourly/daily cron advances so expired roles leave the index overnight.

Troubleshooting Hiring Marketplace Incidents

  • Low candidate response: salary or location mode missing, or categories too shallow for filters.
  • Spam vacancies: new accounts post and buy features before verification; delay Featured until moderation clears the first listing; Turnstile on registration (see the launch guide).
  • Expired listings still live: Cron execution history; CLI php -v vs web PHP; renewal left the item active.
  • Webhook failures: hit the callback URL without CDN challenge; check HTTPS redirect and that cache does not serve a stale POST response.
  • Stale employer dashboard: full-page cache on logged-in routes; test as logged-in employer after CDN changes.
  • Upload or mail failures after deploy: writable oc-content/uploads and mail path permissions.
  • Blank job page after plugin update: plugin Requires-PHP vs production php -v.

Osclass vs WordPress Job Plugins

Choose WordPress if the site already runs WP for blog or membership and jobs share that login model. You will retest a jobs plugin plus SEO, cache, and often a separate payments stack on every update. Broader WP ops notes: Osclass vs WordPress.

Choose Osclass when job listings are the product: categories, custom fields, moderation, and expiry in one admin, with Osclass Pay for Featured without WooCommerce. Keep Apply URL or on-site contact (diagram above) as the apply path; do not bolt on a full ATS unless you own that product.

Pilot both with the same role taxonomy and salary fields. Fail the WP jobs plugin if category + location + contract filters are slower than Osclass by more than 30% p95 on the same host class, or if expired roles stay indexed after cron should have cleared them.

Maintenance, Compliance, and Upgrade Readiness

Monthly: remove expired jobs cron missed, re-check employer accounts with complaint flags, and confirm salary and equal-opportunity wording for your region. Store pay-transparency and EEO policy on a static page you can edit without a code deploy.

Before each core or plugin release, clone production to staging and verify publish, moderation approve/reject, payment callback, listing expiry via cron, and employer notification email. Keep a restorable DB snapshot and the previous code package. Custom employer fields or apply-form tweaks belong in hooks and child themes; see the customization guide.

In crawl reports, watch role category pages versus filter URLs. Tighten noindex on near-duplicate city + role + seniority combinations before buying ads to those URLs.

When Manual Review Stops Scaling

Manual review of every job works at low volume. Past a few dozen new posts per day, score employers on repeat posting without complaints, complaint rate, and whether expired roles leave the index on time. Trusted accounts can use post-moderation; new and flagged accounts stay in the full queue. Osclass moderation status and user flags cover that triage. An ATS is only needed when you own the full apply-and-pipeline product.

About the author

Oliver Bk

I'm Oliver Bk. I build classifieds marketplaces and the scripts around them - imports, crawlers, payment hooks, cleanup jobs that should have shipped in core. Day to day that's PHP, HTML, CSS, and JavaScript; Python when listing data needs scraping or reshaping before it lands in Osclass.

These articles come from live projects: what broke, what the fix required, what staging should have caught. Each page is reviewed against Osclass product behavior (oc-admin paths, cron, plugins) before publish. A fair share of my fixes still start with a bug report, coffee, and a script that was only meant to run once. See more of my writing on the OsclassPoint blog or my code on GitHub.

This article was last updated on 26. August 2026.

Frequently asked questions

Is Osclass good classifieds software for job listings?
Yes when jobs are the product. Use a Jobs category tree, required salary and contract fields, employer verification, Require Admin Approval for new accounts, and system cron so expired roles leave search. Osclass Pay covers Featured visibility without WooCommerce.
Can Osclass run a niche job board with employer workflows?
Yes. Osclass supports job categories, custom fields, employer accounts, moderation controls, and paid visibility options for recruiter-focused marketplaces.
Which fields should never be optional on job listings?
Contract type, salary range, location mode, experience level, and application deadline should be structured fields to improve candidate search quality.
How can fake vacancy risk be reduced?
Use employer verification, staged moderation, and abuse reports before enabling premium placement so fraudulent postings do not gain visibility.
How are recruiter payment plans implemented?
Recruiter plans are usually implemented via payment plugins with gateway callbacks, subscription logic, and manual reconciliation for failed transactions.
Do job alerts need cron on Osclass?
Yes. Saved search alerts for new roles depend on scheduled cron. Disable Automatic CRON on production and run system minutely/hourly/daily jobs so candidates get timely notifications and expired jobs leave the index.
How do CV uploads work on CareerJob-style themes?
Resume upload needs the theme to render the field, and contact-form attachments must be enabled so files reach the employer. If multi-filter mobile search misbehaves, disable ajax search in the theme settings and retest.