What the Best Listing Sites Have in Common and You Can Have in Your WordPress Sites


June 20, 2016

What makes some listing sites so much more successful than others? If there’s a “magic ingredient”, can you use it for your sites?

Do you remember something called “Yahoo Directory”? When I started university, way back in 1991, we would always turn to Yahoo Directory to find stuff on the (at the time tiny) Internet. By the time I went into graduate school, 7 years later, we were already using Google to do our academic search. It was so much easier to find good material using a Google search than browsing through the huge Yahoo Directory.

At that time, in 1998, the Internet was still small. At least, compared with today.

Both Yahoo and Google served the same “content”. The major difference was in how you’d find your desired result. One used a hierarchical directory, the other used a powerful search.

Today we understand that a good search is the best way for visitors to find content.

Google uses a simple “text” search, which finds anything anywhere. However, a simple “text” search is not always the right answer for every search problem.

Custom search inside categories

Custom search for each category in Amazon
Custom search for each category in Amazon

Everyone knows Amazon. Have you considered what makes Amazon.com such a great (and successful) site?

When you go to Amazon, the first thing that you do is search for the category.

Once you’re in a category, you get a custom search, which includes the different features for items in that category. This way, you can quickly filter and find items that match your needs.

Geo filtering

Craigslist makes it easy to find things close to me
Craigslist makes it easy to find things close to me

Some websites offer “virtual” items, but many others offer physical goods. For sites that offer something physical or local, geo filtering (filtering by location) is a great feature. What’s the point in finding an antique table, if I need to fly halfway around the world to buy it?

Craigslist offers a simple and straight-forward search, which invites me to filter by my location and the cities around me.

Fine-grained filters

Fine-grained parametric search in Airbnb
Fine-grained custom search in Airbnb

When I go on holiday, I have to be very picky about accommodations. I need to have working Internet connection, we’re looking for family-friendly places, with enough beds for all of us and in the neighborhood we choose.

This is why I’ve used Airbnb so many times. I can find exactly what I need, in just a few minutes. I enter all my requirements into the search filter and I know that all the results match my criteria. Now, I just need to find a place that looks nice to me.

Detailed features list with side-by-side comparison

Side-by-side features comparison in Dell's search results
Side-by-side features comparison in Dell’s search results

Dell produces a lot of different computers. When you shop dell.com, it’s easy to find what you need, because of the detailed product listings and comparison. With so many variations, it’s almost impossible to jump from one product to the other and look for differences. This is why the product comparison is so useful.

If Dell wants me to buy one of their PCs, they need to let me understand what’s the difference between the many models.

Developing custom searches for WordPress sites

So, you may already be convinced that any listing and directory site needs to have a custom search. This search should help visitors find exactly what they’re looking for, according to the different characteristics of each category.

But how do you create such a custom search?

I. Organize the content and make it filterable and searchable

Amazon, Craigslist, Airbnb and Dell websites include different kinds of content, organized by category. On Amazon, dining room sets are completely separate from smartphones. Without this separation, it would be impossible to give each category its own sub-categories and fields.

In WordPress, we call this “custom post types”. You should use different custom types for anything that you want to distinguish between.

Toolset Types makes it easy to create custom post types, taxonomy and fields (Types getting-started tutorial).

II. Create the search box

Once your content is organized into custom types, uses taxonomy for order and has custom fields for bits of information, it’s time to create your own custom search.

Toolset Views lets you build a custom search View, which is your custom search engine. In this search, you choose the “filters” (what visitors will search by). You can create custom searches by fields (like price or weight), taxonomy (like gender) and relationship (like state>county>city).

You will design the search using simple HTML, which includes placeholders for the different inputs.



III. Display the search results

The same “custom search View” will also display the search results. You can display results any way you like. Some sites display search results as a simple text table. Others prefer grids. Some sites display results on Google Maps.

Views plugin lets you display WordPress content any way you choose, using simple HTML and CSS.

Custom search for houses, according to fields and taxonomy
Custom search for houses, according to fields and taxonomy

Learn how to build your own custom searches with Toolset

No matter if you bought Toolset or not, you can learn how to build custom searches. Visit our custom-search training, where you will see step-by-step instructions. For practice, you can use our training system, where you will register a free training site and follow the tutorial from inside the WordPress admin.

In about 15 minutes, you should have your first custom search running.

If you decide that you like it, you’re very welcome to buy Toolset. An account for Toolset costs $149 and allows you to build unlimited sites for yourself and for your clients. You get free updates for one year and unlimited support.

Custom-search training Buy Toolset – $149

Got questions, ideas or suggestions? Leave your comments and we’ll get back to you.


Comments 14 Responses

  1. I forgot to mention. There’s a little gem in one of the screenshots on this page. I’m wondering who’s going to be the first one to point it out 🙂

      • That’s the one! I only noticed it after I went over the screenshots the second time and I thought it would be nice to just keep that in and not replace with a “clean” screenshot.

    • More or less. We’ve been tied up with development for Toolset plugins and also wanted to push the Beaver Builder integration (which is in testing right now). Most of Toolset team will be in WordCamp Europe (and we’d love to meet you if you’re there). When we’re back the following week, we’ll start moving some Views searches to WordPress Archives.

      Does this help?

  2. I would love to see some articles about structuring custom post types and parametric searches for better speed. In the end I have been able to create a very complex site with near third normal form relations but it is a real tax on the server. I am seeing upwards of 12 second responses.

    Features of toolset are great but an article on best practices would go a long way.

    • We are in the process now of redesigning the post-relationship code in Toolset. This will introduce new functionality and better performance for existing functionality.

      If your searches include ‘parent’ fields, it can benefit you.

      Would you be interested in sharing a dev version of your site with Toolset developers? We will see where a lot of processing goes on and what to improve.

      • Awesome. The site is live and for a client but I will look into cloning it. Thanks.

        I’d also like recommendations on using custom post types with WooCommerce. In the article, you recommend them for product categories but most of us use Woo for the shopping cart.

        In my case, I created a custom post type “Stories” with a child CPT of “Editions” to link to Woo’s “Products” (which are books). I further separated things by creating “Contributors” via “Credits”. You can imagine how much that schema taxes the server but it was the only way I could normalize the data.

        Now the client wants to start selling “Seminars”, so I will need to setup a CPT for that and a linking CPT like “Sessions”, too.

  3. Very helpful. Reading through your online support , it is evident your support is topnotch. Like the direction you are going with Beaver and the search enhancements

  4. A bit off topic, but since you mentioned geo filtering – what’s the best way to do geo-location filtering in Views where you would show content based on where they are located. What plugin (or code) would you recommend for getting the visitors location (without having to ask them for it).

    • In our system we’ve experimented with both IP-detection and browser language detection.

      Browser language detection is very accurate when you need to check the visitor’s preferred language. If you need to get the visitor’s location, you need to use IP detection. This is less reliable, because you need to use updated IP tables and any proxy throws it off. When we used IP detection, we found IP tables, imported into WordPress and used them.

      A quick Google search will show you a number of sites offering IP location tables. For example:

      Does this help?