Skip to main content
Skip to footer
New Features
- Crawlable Pagination: New setting that outputs job search pagination as real
?jobs_page=N links search engines can follow, instead of JavaScript-only links. Clicks still resubmit the search form so visitor filters are kept, and modified clicks (Ctrl/Cmd/Shift or middle click) open the page in a new tab.
- Page 1 always uses the base URL, so there is never a duplicate
?jobs_page=1 address.
- Paginated listing pages get a self-referencing canonical URL, with support for core WordPress, Yoast SEO and Rank Math.
- Requests for a page past the last one return a 404.
- New
limestaff_is_job_listing_page filter for listings placed through theme templates or Elementor/Bricks global templates.
- Direct Apply Schema Setting: New option that adds
directApply: true to the Google JobPosting schema, for sites where candidates apply through the built-in apply form.
- Hiring Organization sameAs and Logo: New schema settings for the hiring organization’s
sameAs URLs (website, LinkedIn and other profiles) and logo, used when the Hiring Organization Name Override is set. Both are validated on save and can be overridden with the new limestaff_jobschema_hiring_organization_same_as and limestaff_jobschema_hiring_organization_logo filters.
- Changing either setting, or the Direct Apply setting, regenerates the schema for all listings.
Improvements
- Rewrite Rule Flushing: Rewrite rules are now flushed once, after every
init callback has registered its rules, and the flush flag is cleared afterwards. Previously the flag was never cleared, so an expensive flush ran on every request.
- Webhook Regeneration: Loxo webhook regeneration no longer runs on visitor requests. It only runs from cron or an administrator’s dashboard page view.
- A MySQL lock prevents concurrent requests from creating duplicate webhooks.
- Failed regeneration backs off for 15 minutes before retrying.
- The stored site URL is now used for change detection, so cron or WP-CLI requests over http on an https site no longer trigger needless regeneration.
- Inactive Job Cleanup: Jobs closed or removed in Loxo are now dropped even when a sync finds no modified jobs.
- Security Hardening: General security improvements across templates, REST endpoints and admin notices. All sites are recommended to update.
- Template Updates: The
job.php, job-search.php, job-search-pagination.php and job-search-filters.php templates have new versions. Theme overrides of these files will be flagged as outdated and should be reviewed.
Fixes
- Job Wipe on Failed Fetch: Fixed an issue where a failed or incomplete Loxo job list was treated as complete, which could remove some or all local listings during a sync. The fetch now validates the pagination data on every page and aborts the sync on any error, leaving existing jobs untouched until the next scheduled retry.
- Invalid Schema Output: The Google JobPosting schema is now only output on the front end when it passes validation. Invalid schemas, for example from a Loxo job with no description, are still stored so they can be previewed in the Jobs tab.
- Single Job Sync Trigger: The single-job sync added in 2.3.5 had no trigger in the Jobs tab. Ctrl/Cmd + click on a job’s Loxo ID now syncs that listing, with a spinner shown while it runs.
- Rewrite Slug Change Detection: The previous rewrite slug is now read from where it is stored, so saving unrelated settings no longer schedules a rewrite flush.
- License Activation Notices: Activation error notices now use LimeStaff-specific query arguments and only appear on the LimeStaff settings page, so they no longer clash with other plugins built on the same licensing library.
- Elementor Widget Styling: Fixed the apply button background hover color being applied permanently instead of only when hovering over the job.
All Releases