Planning & Organizing

Take some time to think about the type of directory you want to build and how you need to structure the setup. This section provides guidelines, as well as do's and don'ts, for your first directory.


When creating a directory, it's essential to decide on a category structure. The category structure goes hand in hand with the listing types, or data structure.

We tend to think about category structures in a hierarchical way because its easier to visualize. This is what search used to look like before ...

Yahoo! directory -

And this is what it looks like today

Google search
Google Search

Hierarchical structures still have their place and can be useful for simple navigation. However, a hierarchical structure, combined with taxonomies, will result in the best setup to make your site content discoverable and searchable. At the end of this article we discuss in more detail what a taxonomy is, and how it can be used in JReviews.

You can find examples of different category structures on the directory pages of the JReviews demo site:

Typical questions that arise at this point are:

  • Should I use business verticals as categories?
  • Should I use locations as categories?
  • Do I need sub-categories?

To decide on a category structure, it's important to keep in mind the following requirements:

  1. A listing can be in only one category
  2. A category can have only one listing type (data structure)
  3. All sub-categories in a category branch should be assigned to the same directory

Every site is different so the category structure will depend on the site. However, there's a few basic guidelines that can help with the decision process.

You can get some ideas about structure from the demo site. You have access the administration of both the Joomla and WordPress demos using the demoadmin / demoadmin credentials.

Products & Intangibles

When planning a directory for listings without a physical location, like products, or news articles, just remember that categories will have listings that share the same listing type. The key question then is, do you need more than one listing type?

If listings are books, or movies, there could be categories for genres, or age groups, and have then share a Book, or Movie listing type.

If listings are consumer electronics products, there could be cagories for smartphones, laptops, tablets, tvs, etc. Depending on the data structure requirement for each product, listings could share a Product listing type with common fields like price, brand, mode. Or if more detailed product specs are needed, then a separate listing type should be created to match the categories Smartphone, Laptop, Tablet, Tv.

Another factor that will determine whether you need separate listing types are the rating criteria. If you are going to enable reviews on the site and you want to have different rating criteria for different categories, then you also need different listing types.

Destinations, Brick & Mortar

Creating a directories for listings with physical locations, like destinations and brick and mortar businesses, can be a bit more challenging to structure. Especially when you have locations across cities, states or countries and listings with different data structure requirements. It's important to avoid creating duplicate category structures.

Business types as subcategories

├── Boston
    	├── Restaurants
    	├── Hotels
    	├── Theatres
├── Chicago
    	├── Restaurants
    	├── Hotels
    	├── Theatres

This structure works, to a certain extent, because you can associate listing types for Restaurant, Hotel, Theatre with each business category. However, it is also problematic because it requires duplicating the business sub-categories for every location. This may be fine for a few locations and business categories, but not so much for more complex setups.

Locations as subcategories

├── Restaurants
    	├── Boston
    	├── Chicago
    	├── New York
├── Hotels
    	├── Boston
    	├── Chicago
    	├── New York

This structure flips locations and business types, but has the same duplication issue, which increases with the number of business types and locations. You can still have multiple listing types and assign them to each city within its business type sub-category and this can work for simpler setups.

With both of the examples above, adding a new business type or location also means having to go through the whole process of creating all the duplicate sub-categories.

The only benefit offered by the above setups is that you can automatically generate a directory page showing categories and subcategories that users can use to navigate the site. However, nowadays people find content through searches and menu navigation, not browsing through links in a huge directory page.

Business types as categories, Locations as taxonomy

The recommneded structure for setups with different business types and locations is to use business types for categorization, and custom fields to create a location taxonomy. The location taxonomy allows grouping listings by country, state and city custom fields, regardless of the business type.

├── Restaurants (state, city, ...)
├── Hotels (state, city, ...)
├── Theatres (state, city, ...)
├── Museums (state, city, ...)

This setup works great to easily add new business types and locations without having to change the directory structure. It also makes content searchable using advanced search and filtering functionality to find listings by keywords, business category and location. Navigation can also be enhanced through the use of virtual categories.


According to Wikipedia:

Taxonomy (general) is the practice and science of classification of things or concepts, including the principles that underlie such classification.

JReviews doesn't use the term taxonomy within the administration or setup, but custom fields that allow pre-defined options to be selected, like select lists, radio buttons, and checkboxes, allow you to implement taxonomies within JReviews.

By default, listings can be grouped by categories. When using custom fields, you can group listings based on any number of relationships. Furthermore, JReviews allows creating related custom fields, which means you can also have nested taxonomies where certain terms can only be selected if another term is already selected.

Lets try to illustrate this with some examples

Using location-based taxonomies to categorize businesses

To expand on the example in the previous section. The optimal way to categorize by location is through the use of custom fields. Creating country, state, city select custom fields allows you to attach a location to a listing without having to create categories for locations. The field options in those fields can then be used for search, filtering.

Filtering with location taxonomies
Filtering with State and City taxonomies

And taking advantage of the Fields Module (in Joomla) and Fields Widget (in WordPress) you can turn these taxonomies into virtual categories for navigation.

Taxonomy-based virtual categories
Taxonomy-based virtual categories

Using taxonomies to classify listings with multiple terms

Lets use a new example now. Say you are creating a directory for food recipes. Instead of creating an entire category structure where a recipe can only fit into one category, you can create a taxonomy Recipes using a checkbox field, with values like Vegetarian, Gluten Free, Easy Cooking, etc. These can then be used to search or narrow down results. You could even create ladning pages like Top 10 gluten free bread recipes by taking advantage of the custom lists.

That's all for the planning and organizing section. You are now officially ready to start building someting amazing! 🙂