Matador Jobs: Reflecting on Our First Year

As Bullhorn’s Engage 2019 came to a close, it seems like a good time to reflect on our exciting first year for Matador Jobs, especially how it has grown and the improvements we have made.

Last year’s Bullhorn Engage conference was a huge milestone; it marked our official public launch after a year of development and close work with a group of early adopters. It was a fantastic opportunity to interact directly with some of the Bullhorn team, as well as Bullhorn clients. Best of all, even though we had spent many months hammering out the code together, it was the first time that my partner Jeremy and I met in person!

Paul and Jeremy, Matador Jobs, at Engage Boston 2018
Paul and Jeremy of Matador Jobs at Engage Boston, 2018

A year on, we are proud to be listed on the Bullhorn Marketplace as the only Marketplace Partner offering a WordPress/Bullhorn solution.

Matador Jobs have been the best Marketplace Partner I have dealt with and I am blown away by how responsive they are.  They not only email me back but are willing to give guidance and really care about how my jobs and the rest of my site functions within Bullhorn.

Sean De Vore
De Vore Recruiting

During this time, we have released three major updates (with another due any day!), as well as several minor updates and hotfixes. We’ve also extended Matador with an additional four add-ons, available at no extra cost to all our All Access clients.

Feature Highlights

  • Full support for the Google Indexing API, providing a big search traffic boost as a result of almost instant Google job indexing (included in Matador All Access and Pro)
  • Improvements to templates, with greater ease and more extensibility of customization
  • The addition of an optional meta block to the job listing details to get you going without the need for coding
  • Contextual navigation buttons for all job listings
  • Deep links into Bullhorn so that one-click from WordPress takes you to the same data in Bullhorn
  • Lots of ‘under the hood’ improvements to provide increased stability and customization opportunities
  • The brand-new Advanced Applications add-on (All Access only) which allows you to add any Bullhorn candidate field as a question in your application form with just a couple of clicks

 Our jobs are ranking more strongly with less work because of the Matador Pro plugin.

Beth Varela
Marketing & Operations
SkyWater Search Partners

Maintenance and Documentation

We’ve also worked continuously throughout the year on maintenance and bug fixes – please keep on telling us when your run into a problem; your feedback helps us to make Matador even better!

Likewise, slowly but surely, our documentation is becoming more comprehensive as we respond to help requests – we are continuing to work on this.

Paul and Jeremy have both been incredibly helpful, responsive, quick and have implemented new features based on our needs as a client.

If you are looking for a way to utilize your instance of Bullhorn with WordPress, Matador is incredible value with individualized support and ongoing updates.

Matthew Leavitt
Marketing & IT Manager

Google Indexing API for WP Job Manager Plugin

Sometimes one thing leads to another. As a footnote to our work on the Google Indexing API for Matador, it wasn’t much of a leap to realize that this functionality could be useful for other job-boards. We already have a Matador add-on to provide WP Job Manager integration so we decided to wrap the relevant fragment of the code we developed for Matador into an additional dedicated plugin for users of WP Job Manager.

Matador Jobs clients

As word gets out, our client base has been growing steadily – we are so encouraged by and grateful for the positive feedback we have received from our clients.

Thank you for your support!

Exactly what I needed to make our site how I wanted it . . . and all in-house! If you are working in WordPress, this is a no-brainer.

Scott R 
The Ian Martin Group

For more detailed information Matador updates, please read the release notes on our Blog.

Google Indexing API for WP Job Manager Plugin Launch

One of the key new features we included in the 3.4.0 Matador release was full support for the Google Indexing API. We are now delighted to be able to offer the Google Indexing API for WP Job Manager Plugin to non-Bullhorn users of WP Job Manager.

Google created its Indexing API so that Google Jobs can be informed in real time when a job is posted or removed from a job board.

The API allows you to PUSH notifications that you have published a new job or deleted a filled job so that Google adds/removes your jobs in REALTIME.

By making use of this, when you post a job it is included in the Google Job Search results almost instantly, giving you an important advantage.

Similarly, filled jobs are removed promptly and are no longer indexed in Google so your job-seekers should never end up on a 404 page.

By implementing the Google Indexing API for WP Job Manager Plugin you don’t have to wait for Google to get around to crawling your site and add your jobs to their job search index.

Google Indexing API for WP JOb Manager - buy now!
Buy now!

If you are using Matador Jobs Pro or All Access, you already have this functionality available, though it does have to be set up.

Are you still thinking about whether to use Matador to power your job board with Bullhorn Jobs? We believe that it is our commitment to ongoing development and innovative features like this that make Matador Jobs the tool you need.

Matador Jobs hotfix release 3.4.1

This release is a maintenance release to support final features included in WordPress 5.0, 5.0.1 and 5.0.2, as well as fixes bugs.

  • Adjusted a few calls where wp_kses_post() was used when it wasn’t necessary. Backward incompatible changes to WordPress 5.0.1 required this.
  • Added filters matador_application_note_line_label and matador_application_note_line_item to modify how “note” lines are saved in the application.
  • Moved JSON_LD injection from above the Job markup and into the <head>. May also have fixed some JSON LD reading/saving issues with Google.
  • Added setting to allow an adi to define a page (ideally using shortcodes) as the jobs home page. Note: you cannot set the “Home” page as the jobs home page at this time without a possible issue around search results.
  • Added tools to support handling issues some of our users were experiencing with enabling Google Indexing API.
  • Update “tested up to” to 5.0.2

Matador Jobs release 3.4.0

Big New Features:

Matador Jobs 3.4.0 is the biggest update to Matador yet. Its patch notes will be huge and confusing and incomplete. For this reason, please follow our blog and our help files to learn how to use the updated Matador! Here are the big deal updates:

  • We now support the Google Indexing API. This matters, because it allows your site to directly notify Google whenever a new job is added or a job is removed. This is a partial support for this feature, as we’d like to soon support updates to jobs in this notification as well. To turn on Google Indexing for your jobs, you will need to get a Google Indexing API keyfile. Look in Settings -> Job Listings (tab) -> Jobs Structured Data (section) for the new settings, and a link to our help website on how to get this.
  • Applications now can save the IP address of the applicant. Further, the IP as well as the date/time of the submission, can now be submitted to the candidate’s record in Bullhorn as part of the candidate save. This is useful to track the most recent acceptance of terms of service and privacy policies, for example, as well as provide data points for internal analytics. See the more detailed patch notes on how to use this.
  • Jobs now have a default “information” header, aka the “meta header” after the title and before the description. This will present (by default) the Job’s location, type of job (ie: contract, permanent), and the Bullhorn Job ID. This is easy to customize with a little code, but styles are only applied for default setting. Existing users will need to enable this feature by turning on a setting in their settings.
  • Jobs also now have a default set of navigation buttons at their end, after description. These are contextual, so will change based on your settings and depending on which page you’re on. These are added to all jobs by default, so check your site to see you like the styles.
  • A majority of the templates, template actions and hooks, and more have been simplified. Actions and hooks now have a second parameter called “context”, which can be used to limit their scope. Where in the past, for example, the “jobs listing” template had two actions for ‘before_jobs’, ‘matador_before_jobs’ and ‘matador_before_jobs_listing’,now it just has one ‘matador_before_jobs’ with the passed ‘context’ of ‘listing’. The action is the same for all templates, but it can be limited using the ‘context’ parameter. This will make customizing templates easier, but may cause issue with current custom templates and actions.
  • Many, many new template functions were added to the global namespace for theme developers to access, making the customization much easier!
  • New shortcut shortcodes `[matador_jobs_listing]`, `[matador_jobs_table]`, and `[matador_jobs_list]` to make it simpler to use them and provide more intuitive default settings.

Additional Features/Enhancements:

  • When redirected to a job page after a successful application where a confirmation is shown (as opposed to a Thank You page), the application form will no longer show, which helps avoid confusion for the user.
  • Applications now save the IP address of the computer that submitted the form.
  • The IP address of the computer that submitted the form can now be submitted to the corresponding new or existing candidate record following a Candidate Submit routine by Matador. IP addresses are saved to both a “on submit” and “on update” field, and to tell Matador which custom fields on the Candidate record to use, assign them with the matador_submit_candidate_ip_field_on_create and matador_submit_candidate_ip_field_on_update filters, introduced in this version. While we recommend you use these filters to prevent any issues caused by changing these values accidentally, a free Extension was created to make an admin setting for this also if you are unable or uncomfortable writing a filter.
  • If a site has the “Require Applicant to Agree to Privacy Policy” setting turned on, when Matador sends the application to Bullhorn, you can now designate a text or date custom field to save the date and time of that submission in order to track the initial and most recent acceptance of your Privacy Policy to their candidate record. Assign which fields to use with the matador_submit_candidate_privacy_policy_field_on_create and matador_submit_candidate_privacy_policy_field_on_update filters, introduced in this version. While we recommend you use these filters to prevent any issues caused by changing these values accidentally, a free Extension was created to make an admin setting for this also if you are unable or uncomfortable writing a filter. You may additionally customize the date format by using the matador_submit_candidate_privacy_policy_field_format, but this only applies when you are using a custom text, and not a custom date, type field.
  • Form validation error messages can now be customized by a developer new matador_application_validation_error_{$error} filter. See `includes/class-scripts.php` for a list of errors that can be filtered.
  • Option to modify the URL slug format of each job. Options are limited to three possibilities, but a filter was added to provide users methods to make more complex URL slugs. Paired with an additional field import, a user can even set the URL slug to be generated from a job custom field, among other things.
  • Previously, jobs without an end date in Bullhorn would result the in the ‘validThrough‘ field in the structured data–what Google for Jobs uses–to be blank. We found that this causes Google for Jobs to make that job a lower priority. Matador will now set a date one year from the ‘job posted’ for the ‘validThrough‘ field. Note that if your firm offers ongoing positions, it is important you set an impossibly long job end date in Bullhorn to make sure your job always has a ‘validThrough‘ date in the future.
  • Added $data parameter to the ‘matador_data_source_description’ filter. This allows developers to access the object and any custom fields to use to modify the source. This object is different in each context, so filter functions should check for context prior to assuming object structure.
  • Adds new field to job, called `job_general_location` which is customizable with the new `matador_import_job_general_location` filter. This is the field used by the default meta header.
  • When an Application is deleted, either manually or automatically, prior to its delete, associated files (resumes, etc) are now also deleted. This should free up storage space on your server and close a possible privacy or security risk should server settings allow those files be available to the internet.
  • Adds empty index.php files in Matador uploads folders to provide security for files when a server has Apache directory indexes turned on.
  • Adds new actions ‘matador_add_job’, ‘matador_update_job’, ‘matador_save_job’, ‘matador_transition_job’, and ‘matador_delete_job’ to give developers easier access to changes in job posts to hook into.


  • Fixed an issue where an appended Application Confirmation message would not show properly after a job application.
  • Fixed an issue where pagination was not presented for shortcode-based jobs lists.
  • Fixed an issue where an error was printed to screen, instead of logged to the logs, during a rare login-related issue with Bullhorn.
  • Disabled “toggle” type admin settings will now show styles that communicate its disabled status.
  • The deprecation notices were not showing properly for logged in users. They now will. Pay attention to them! Update you site accordingly.


  • Extended Localization options to all form validation error messages.


  • The pre-3.0.0 deprecated shortcodes will be removed from Matador in our next major version in January to March 2019. Please make sure you’ve fully migrated to the [matador_*] shortcodes.

Matador Jobs hotfix release 3.3.7

Today, Matador Jobs was updated to provide our users with a follow-up to last week’s critical update that addressed changes made at Bullhorn that caused Matador to not work as expected. This hotfix includes tools to support our users in ultimately recovering from the consequences of the bug.

  • Added a bulk Application Sync button to the applications view. Will re-try all failed applications from the issue addressed in 3.3.6 and any failed applications for the last two weeks.
  • Added a filter matador_application_batch_sync_allowed_statuses to allow you to extend the statuses included in a batch sync. This may come in handy in the future when we expand the statuses assigned to applications that fail.
  • Added a filter matador_application_batch_sync_duration to allow you to extend of duration applied in a batch sync. If, for example, you want to apply a batch sync to jobs older than two weeks, you can do this via this filter.
  • Fixed spelling/grammar error in the application processing overlay.
  • Added escaping functions to prevent errors encountered during an application sync when Matador checks for existing candidates. Candidates with names that included a single quotation mark/apostrophe caused the search to be badly formatted and thus present an error, which in turn caused the application sync to fail altogether.

Again, we know this issue caused many of you inconvenience. During Paul’s and my 4 years working with Bullhorn API’s, we’ve of course encountered times where a change at Bullhorn has interrupted our code. We’ve worked hard the last week since this bug was first reported to us to create a fix, first, and add tools to help you recover. We will continue to be focused on the stability of Matador our commitment to service to you, our users!

Matador Jobs hotfix release 3.3.6

Today, Matador Jobs was updated to provide our users with a critical update that addresses changes made at Bullhorn that caused Matador to not work as expected. We highly recommend you complete this update as soon as possible.

  • Enabled sync re-try for applications with the status of “Unable to sync”.
  • Updated messaging around reasons that an application sync may fail.
  • Updated the way a Bullhorn request was being made that was causing it to fail after the September 2018 Bullhorn ATS
    software upgrades.
  • We are observing an issue on some Bullhorn users’ accounts where a Bullhorn resume parse may return a badly structured
    candidate object that later results in a failure when Matador tries to create a candidate with that object. We have
    included a temporary work-around until we can help our partners at Bullhorn resolve this issue.
  • Fixed an issue where a “Re-try Sync” routine on an application would result in an HTTP 430 error under certain caching

In addition to completing this update, we highly recommend you review your applications in Matador Jobs Pro and, where a failure occurred due to this issue, you should click on “Re-try Sync”.

We know this will cause many of you inconvenience. During Paul’s and my 4 years working with Bullhorn API’s, we’ve of course encountered times where a change at Bullhorn has interrupted our code. We’ve worked hard the last two days since this was first reported to us to create a fix. Even if you didn’t notice the problem, know that we were here doing our best to fix it as quickly as possible for you!

Google for Jobs overview on Bullhorn’s Customer Blog

Have you heard about Google for Jobs?

Bullhorn have just published an article by Matador developer Jeremy Scott on how Google for Jobs optimization can increase search traffic to your jobs website.

Based on the experience of building Google for Jobs optimization into the Matador software, the article explains what Google for Jobs is, how it works and offers a high-level overview of how to optimize your company’s website.

Screenshot - article on Bullhorn Customer Blog
Read the full article on Bullhorn’s Customer Blog

We’ve put a lot of time into ensuring that Matador Jobs integrates really effectively with Google for Jobs search and we know it can make a huge difference.  We have one customer who reported a 75% increase in organic search traffic to her site in one month.

Please reach out to us for more information on how Matador Jobs can help you leverage the Bullhorn REST API and Google for Jobs on your site.

Matador Jobs maintenance release 3.3.5

Today, Matador Jobs was updated to provide our users with a few minor updates and minor bug fixes in lieu of a major release which is coming very soon. Lets dive in to see what this includes!

Unlike a hotfix release, this minor release, while addressing some bugs, does not fix any bugs we determined to be “major” or “breaking”. That said, if you’ve encountered these, you might like to know these are exterminated:

  • A bug that caused some users’ admin sites to timeout during a user-initiated job sync is now fixed. This bug was more of a source of confusion than something that broke a site, though rarely a large job sync could be restarted by a panicked admin and accidentally create two copies of a job.
  • Some issues with the Matador default CSS for Applications were addressed. Many users, when customizing their sites, just fixed these not thinking they were even a bug, but our goal is to have a seamless out-of-the-box experience, and these display errors were getting in the way of that.
  • Some of our Lite users encountered an issue with the “Apply” button not linking properly to their application page. This is now fixed.

In addition to those bug fixes, we added some useful new features:

  • You can now filter the job title and description before its saved to the database using the matador_import_job_title and matador_import_job_description filters. This is helpful especially for appending or prepending data, adding images, etc.
  • You can now tell Matador to use a custom Bullhorn field for the job title or job description using the matador_import_job_title_field and matador_import_job_description_field filters. If your company chooses to use a custom text field for a “marketing job title” and use the job order title in a descriptive way, then you can do now do that.
  • Allowed HTML tags for a job are now expanded. Specifically, <video> and <img> tags are now allowed for import. For reference, when Matador imports a job description, that HTML is validated for your sites’ protection. In the past, the validation and sanitization was a little more restrictive by not allowing some HTML tags that we now flagged as “safe”.
  • Finally, we updated a UI element in Matador settings. It now looks like a toggle switch as opposed to an on or off checkbox. We hope this helps our users more clearly understand the impact of certain settings choices.

As I mentioned, we are continuing work on our next major release, which should continue to improve our interactions with Google for Jobs and improve our shortcode output. This update, we anticipate, in the next 3-5 weeks.

Matador Jobs Pro users can update their sites by going to WP Admin > Plugins starting now. Matador Jobs Lite users may need to wait a day or so while we push our updates to

Matador Jobs hotfix release 3.3.4

Today, Matador Jobs was updated to address a few minor and two major issues discovered during our customers’ use of Matador Jobs and its extensions. This hotfix release addresses only those issues while we continue work on the next major release of Matador.

This past week, Matador users helped us discover two issues that we determined require another hotfix release of Matador. To ensure your Matador-powered sites continue to run as smoothly as possible, we recommend our users log into their site and use the WordPress plugins page to update their version of Matador. Here is what’s inside:

First up, we addressed a bug that we believe is actually one we traced back to Bullhorn itself. While we wait for Bullhorn to fix the bug, we modified how Matador handles it. This bug is caused when certain candidate’s resumes are formatted in a way that causes Bullhorn’s resume parser, which Matador uses, to return a bad candidate object. Matador will now fail more gracefully when it encounters that issue. A future version of Matador will email the recruiter when a candidate cannot be synced due to this issue or one like it.

Second, we found an issue around 3.3.0’s new Anti-Spam Honeypot feature. It was using a function name that was protected by an earlier version of PHP (or that PHP says, you can’t name your function that!), and our development tools didn’t point it out to us. If your specific setup was affected by this, we are sincerely sorry! We renamed the function something else, fixing the error.

We also included updates that addressed six other minor issues that we had completed updates on. There were also some updates to the filters around the applicant and recruiter confirmation emails. 

Matador Jobs hotfix release 3.3.3

Today, a minor release for the Matador Jobs Pro and Matador Jobs Lite was released to fix an issue discovered this week, plus one more fix present since 3.1.0. This is a fully backward-compatible release and is a recommended update for all users.

What’s Inside

Matador 3.3.0 released necessary changes and enhancements to functionality around the matador_taxonomy() function and [matador_taxonomy] shortcode. One such adjustment made it more likely a site would continue working if javascript was disabled by users, but in this change, when a site operator had set up their site just right, there was a bug that caused some site operators’ sites to return no jobs in search results when their users submitted searches that did indeed match jobs. This hotfix release returns behavior to normal for those sites and any in the future who set up their search in that way.

The other bugfix included 3.3.3 addresses an issue discovered following release 3.1.0 where the “Sync Now” button that shows on the jobs page in the admin section would not show up if there were no jobs in the database. This is of course counter-productive, as the point of that button is to get jobs added to Matador! The button now properly appears on the page at all times.

You can update to Matador Jobs Pro 3.3.3 from the WordPress plugins page or by clicking on “Account” in the main menu and downloading it from your user page. Users of Matador Jobs Lite can update from the WordPress plugins page after our update applies on