Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
30 Million+
Websites using our plugins
20+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Create a Web Directory in WordPress (Step by Step)

Want to create a web directory like Yelp or Angi where people can discover local businesses?

You don’t need a developer or a custom-built site to do it. A free directory plugin gives you listings, categories, a search box, and a submission form that business owners can use to add their own entries. If your businesses are already in a spreadsheet, you can upload them all at once.

In this guide, we’ll show you how to create a web directory in WordPress and how to start charging for listings if you want to.

How to create a web directory in WordPress

Here’s what we’ll cover in this article.

Let’s get started!

Step 1. Install a Web Directory Plugin

Several WordPress plugins can build a directory, including GeoDirectory, HivePress, and Directorist. We’ll use Business Directory Plugin for this tutorial, because its free version covers what most directories need: listings, categories, front-end search, and CSV import. So if you already have a list, you can upload it all at once instead of adding each entry manually.

First, you’ll need to install and activate Business Directory Plugin. If you need help, please see our guide on how to install a WordPress plugin.

Installing Business Directory plugin

Step 2. Set up Your Business Directory Page

After activating the plugin, go to Directory » Settings from the WordPress dashboard.

You will see a popup asking for permission to create a new page. The plugin uses this page to display the directory shortcode, which adds the search bar, category browsing, and listing submission form. Go ahead and click ‘Create required pages for me.’

Creating a web directory using a plugin

The plugin will now create a new page called ‘Business Directory.’ By default, this page includes all the controls visitors need to browse your listings and submit their own.

The Business Directory WordPress plugin

To start, it’s a good idea to review the plugin’s settings by going to Directory » Settings. Here, you’ll find several sections:

  • Listings
  • Email
  • Payment
  • Appearance

Two of these are worth changing before you go any further. Under the Listings tab, set ‘Default new post status’ to ‘Pending (Require approval)’ so you can review submissions before they go live. Then open the General tab, click ‘SPAM’, and turn on reCAPTCHA, because a public submission form attracts bots within days. While you are in Listings, you can also choose how many listings to display on each page.

The Business Directory settings page

When you’re finished, don’t forget to click ‘Save Changes’ to store your settings.

Step 3. Customize Your Listing Form

Business Directory has a standard form that it shows to visitors, but you may want to customize this form by adding your own custom logo, branding, or content.

To customize the form, go to Directory » Directory Content and select ‘Form Fields.’

Changing the fields in your online directory form

This screen shows all the fields that make up the standard form. To rearrange fields, you can use the up/down arrows in the ‘Order’ column.

To remove a field, click ‘Delete.’ If you want to edit a field’s label, description, or mandatory status, hover over the option and click ‘Edit.’

Reordering and editing the form fields in WordPress

This opens a page where you can change the field label, make the field mandatory, add an optional description, and more. When you’re finished, click ‘Update Field’ to save your changes.

How to customize the form fields

Step 4. Create Some Business Categories

Next, it’s a good idea to create some categories that people can use when submitting their listings. These categories help organize your listings so visitors can browse or filter them to find what they need. Without them, visitors would have to scroll through every entry to find what they need.

By default, the plugin has a single ‘General’ category, but you can add more by clicking the ‘Categories’ tab. Then, select ‘Add New Category.’

Adding new categories to your online directory

In the popup that appears, type in a name for the category. You can also organize categories into parent and child categories, similar to child pages in WordPress. For example, you might create a main category called ‘Restaurants’ and a subcategory called ‘Italian Restaurant.’

To turn a category into a subcategory, open the ‘Parent Category’ dropdown and choose its parent category.

Organizing the directory categories

To create the category, click ‘Add New Category.’ You can repeat the process to add more categories to your business directory.

Business categories added

Step 5. Start Accepting Directory Listings

Now, visitors can create a new listing by heading to your Business Directory page and clicking ‘Add Listing.’

Adding listings to your WordPress website

This takes them to a screen where they can choose a listing category and enter all the information for their listing.

Once they’re finished, they can click ‘Complete Listing’ at the bottom of the page to submit it.

Submitting listings to an online directory

By default, submitted listings publish straight away. To review them yourself first, go to Directory » Settings » Listings and set ‘Default new post status’ to ‘Pending (Require approval).’ 

To review them, go to Directory » Directory Content » Listings in your WordPress admin area. Here, you’ll see a list of pending listings.

Approving visitor submissions

To preview a listing, click its ‘Preview’ link. This will open the listing in a new tab.

If you need to make changes, click ‘Edit’ instead. The listing will open in the block editor, where you can expand the Meta Boxes section to access the listing options.

When you’re done reviewing and editing the listing, click ‘Publish.’

Publishing a user-submitted business listing

You can also create listings by yourself by going to Directory » Directory Content and click ‘Add New Listing.’

Adding listings to an online directory

This opens a screen where you can enter all the listing information. When you’re finished, click ‘Publish’ to make the listing live.

Adding listing for affiliate partner ourselves

Once you have a few listings published, visitors can use the directory’s built-in search and category filters to find what they need. They can search by keyword or narrow the results to a specific category instead of scrolling through every listing.

The Business Directory page showing search box and category filter

Step 6. Add Locations and a Map

Finding local businesses is one of the main reasons people use web directories, making location data just as important as keyword search. In the free version, listings can include a text-based address field, which works well for a simple directory where visitors only need contact details.

If you want visitors to see listings on a map or search by ZIP code or city, you’ll need the Google Maps and ZIP Code Search modules, which are available with the Pro plan.

Directory Settings page in an admin dashboard; left navigation shows Directory highlighted, with Posts, Media, Pages, and Directory sections; right panel contains Google Maps API keys fields and checkboxes for showing listings on map and search results.

Once enabled, each listing’s location appears on a map in the search results and on the individual listing page. Visitors can also filter results by proximity instead of searching by business name.

Bonus Step. Accepting Payments for Directory Listings

Business Directory lets you accept payments for listings in its free version. Stripe and Authorize.net are included at no extra cost, so you don’t need to upgrade to start charging for listings.

Stripe uses pay-as-you-go pricing, with a 3% fee per transaction in addition to Stripe’s processing fees. A paid Business Directory plan removes this extra fee. Authorize.net doesn’t charge a per-transaction fee at any tier.

PayPal requires at least the Basic paid plan ($99/year), while Payfast is only available with the Elite plan ($249/year).

In this tutorial, we’ll show you how to set up Authorize.net payment. Go to Directory » Settings and click the ‘Payment’ tab.

Adding a payment gateway to your WordPress website

Next, select ‘Authorize.net’ and enable the ‘Enable Authorize.net’ switch. You can then enter the login ID and transaction key for your Authorize.net account.

How to enable the Authorize payment gateway

FAQs About Creating a Web Directory in WordPress

Now that you’ve seen how to create a web directory in WordPress, let’s answer some common questions to help you get the most out of your directory.

Can I create a free web directory in WordPress?

Yes. The free version of Business Directory Plugin covers listings, categories, front-end search, and Stripe or Authorize.net payments. Features like Google Maps, ZIP code search, and PayPal require upgrading to a paid plan.

How do I accept payments for directory listings?

With Business Directory Plugin, Stripe and Authorize.net work out of the box on the free version. Upgrading to a paid plan removes Stripe’s per-transaction fee and adds PayPal, with Payfast available on the top-tier plan.

Can I import my existing business listings instead of adding them one by one?

Yes. Business Directory Plugin includes built-in CSV import and export in both the free and premium versions, so you can bulk-upload listings from a spreadsheet instead of entering each one manually.

We hope this article helped you create a web directory using WordPress. Next, you may also want to see our guide on how to accept payments with Stripe and our handpicked list of the best WordPress plugins.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

22 CommentsLeave a Reply

  1. Thank you WPBeginner. The business directory review and step-by-step outline was very good. I’m new to WordPress and now think I will pursue creating a website with WordPress.

  2. Please, what is the difference between formidable form and the formidable views, is it a part of it or a different plugin entirely ?

    • It would depend on the theme, some have the functionality added while others only offer the styling. If you do use a theme with directory functions it would also make it difficult to move your content to a new theme

      Admin

  3. hi am trying to combine an inventory and a directory functionality on a website and I would love if the users can search for specific products that are available in stores near them. pls how do I achieve this? thanks

  4. I tried submit listing as a visitor, it required me to register with site, it gives email and activation link and after that new user is created with limited dashboard (actually only profile) what i want is that anyone can submit his business details in created listings and what i have to do is to approve or disapprove (like we do with comments)

  5. Hello i am WordPress user want to create a WordPress web directory.
    Please can anyone help me in detail.

  6. Great article, I loved it. I was thinking about creating a directory website and wanted to use WordPress but I wasn’t sure if WordPress would be a good choice. Your article here answered several questions I have been seeking answers for.

    I was a little unsure about using WordPress for this purpose but was seriously thinking about it since I am quite familiar with it.

    You info here has helped me to decide to go for it and see what I can do with it.

    Thanks for the write-up, it was just what I was looking for.

  7. There are other plugins that offer much more (such as photos, events, scheduling, attendance sales, and multiple layouts for viewing the listings by biz type, dates [current day, past and future]), and easy to install and maintain.

    The GF solution just seems like too much detail work.

  8. The problem with Wordpress directories is that you can’t manage any level of permission by category for example.

    Do you know a way to set the proper user levels to a Wordpress Directory plugin or theme?

  9. I love Gravity Forms, but had a bad experience with the Directory add-on, which is a third party plugin and not supported by Gravity Forms. The support is next to zero, but I got by until one day my directory just disappeared.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.