Project Story
Search Plugin
Implementation of a complex search for multiple web portals
Custom WordPress 
4 Months


The client has already created an existing search using an all-in-one theme. Due to the increasing number of online portals, the current solution and the existing child theme were no longer scalable.

We have documented all the necessary features of the existing solution and new features in a specification.



Since the search is a standalone feature, we implemented it as our own custom plugin.

This also allowed us to improve the creation of the future online portals.

We discussed the current progress at regular standup meetings.



The goal of the first phase was to replace all the necessary features of the all-in-one theme with your own plugin.

On the one hand, it was important to improve search performance, but also to adopt the existing profiles so that the migration to the new system was as smooth as possible.

We succeeded with a few small surprises. In the next phase we will implement features that were missing from the all-in-one theme.

Plugin Demo Video (in german)

In the video you can see the result of the project using a demo page with fake data.

I will also explain to you which challenges and solutions there are in WordPress if you want to create a complex search.

Search Plugin
Project Goals and

Make the existing solution scalable

The primary goal was to replace the existing solution, which was implemented with an all-in-one theme. The problem with the current solution was the performance of the search and many adjustments in the child themes.

Due to too many adjustments in the child theme, the parent theme could no longer be updated and the entire project got an expiration date.

We have therefore decided to implement the search as a custom plugin so that the feature is completely separated from the theme.

Migrate existing data

The client has already implemented over twenty online-portals with the all-in-one theme. Therefore, the data had to be migrated from the old to the new system as automatically as possible.

We have written an importer for this task. Using this importer, the editors were able to import all profiles into the new system with just a few clicks.

We also paid attention to small details, such as the entered alt texts and descriptions of the images.

Bypass WordPress Limits

WordPress can do a lot ... but it also has its limits. A limitation of WordPress is the generic WordPress database structure. This is one of the reasons why many complex WordPress sites become slow (especially in the backend). You can find more information about this in the video above.

We didn't reinvent the wheel with the search plugin though... that would be beyond the project budget. That's why we continued to use the generic database structure and wrote optimized database queries. That was definitely enough for the amount of data on one online-portal. As a result, we were no longer dependent on WordPress' slow standard database queries.

Simple & fast editing

Creating new online-portals has become increasingly difficult for the client. Therefore, an important point was the quick setup of new portals so that this process can be completed as quickly as possible.

That was one of the reasons why we packaged the search features into a custom plugin. As a result, the client only has to install the plugin on a new WordPress site and a new portal is set up with just a few clicks.

We have also cleaned up and simplified the backend. In the all-in-one theme of the existing solution, there were many other features that were not used and cluttered up the backend. We have also cleaned up the editing of the individual profiles and adapted it to the needs of the editors.

Improve search logic

To be fair, the search for the all-in-one theme of the existing solution was not bad. We have also adjusted the search over time in the child theme ... but the change requests from the client became so specific over time that we would have to change the core of the search of the all-in-one theme in order to implement the change requests.

For this reason, we simply implemented the more complex changes directly in the new search plugin. This includes such small things as e.g. a radius search or the correct display of the profiles with several locations, etc...

Optimize / automate workflows

Optimized processes save time! That's why we installed a number of automated workflows to ensure data quality and save time for the editors.

We have implemented an automated update process. As soon as we have developed a new feature or fixed a bug, we can release the update and deploy it to all online-portals with one click. This means that you don't have to update the new version of the plugin via the backend for every portal. In addition, we automatically clear the cache.

Good data quality was also an important goal. Therefor we have programmed automatic data checks so that the editors are notified by e-mail if something is wrong with the entered data.

We have also implemented a synchronization process (to match the data of the profiles between the existing online-portals), so the editor only has to type in the necessary data and there is also the importer, so that the editor doesn't have to do everything manually

I am pleased to meet you!

During the first consultation we will determine if we are a good match and if I am the right person to help your business.

Please send me an email with possible dates to A booking system is currently under construction.

Book an initial consultation