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

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

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to create a web directory in WordPress?

Web directories allow you to make money from content that’s submitted by the people who visit your website. Since you don’t have to research or create the listings yourself, this is an easy way to make money online.

In this article, we will show you how you can create a web directory in WordPress, and even how to accept payments for posting premium web listings.

How to create a web directory in WordPress

Why Create a Web Directory in WordPress?

A web directory is like a catalog that lists businesses or individuals.

Each listing has useful information such as the company’s location, business email address, and the services they offer.

An example web directory

Yellow Pages, Angi, and Yelp are all examples of popular web directories that help people find a place or service.

To help visitors find what they’re looking for, these popular directories often divide their content using topics, categories and tags, interests, and other characteristics, as you can see in the following image.

The Yelp business directory

Web directories are a popular online business idea and a great way to make money online from user-generated content.

Often, you’ll find tutorials that show you how to create a directory using a web directory theme. However, this means you need to use the same theme forever.

Instead, we recommend installing a web directory plugin that you can use with any WordPress theme you want.

With that in mind, let’s take a look at how to create a web directory in WordPress. Simply use the quick links below to jump straight to the method you want to use.

Method 1: Create a Directory Using Business Directory Plugin (Recommended)

The easiest way to create a directory is by using the Business Directory plugin. This plugin has everything you need to create a directory, organize your listings, and accept credit card payments in WordPress.

There’s also a free version of Business Directory available, but the premium plugin has more features including support for Stripe, PayPal, and Authorize.net. With that in mind, we’ll be using the premium plugin in this guide.

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

Set up Your Directory Pages

After activating the plugin, go to Directory » Settings. You will now see a popup asking your permission to create a new page.

The Business Directory plugin needs this page to work properly, so go ahead and click on ‘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 has all the controls visitors need to look through your different listings, and submit their own listings.

The Business Directory WordPress plugin

To start, it’s a good idea to check the plugin’s settings by going to Directory » Settings.

Here, you’ll find different sections:

  • Listings
  • Email
  • Payment
  • Appearance.

We recommend selecting each tab and then looking through the settings, to see whether you need to make any changes.

For example, in ‘Listings’ you can change how many listings the plugin shows on each page.

The Business Directory settings page

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

Customize the Directory 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 then select ‘Form Fields.’

Changing the fields in your online directory form

This screen shows all the fields that make up the standard form.

To change where a field appears in the form, simply click on the little up and down arrows in the ‘Order’ column.

Changing the order of the fields in your form

To remove a field, click on its ‘Delete’ link.

Finally, if you want to make some changes to a particular field then click on its ‘Edit’ link.

Editing the form fields in WordPress

This opens a page where you can change the field label, mark the field as mandatory, add an optional description, and more.

When you’re finished, don’t forget to click on the ‘Update Field’ button to save your changes.

How to customize the form fields

Create Some Business Categories

Next, it’s a good idea to create some categories that people can use when submitting their listings. These categories will also help visitors browse your directory and find what they’re looking for, similar to how WordPress categories and tags work.

By default, the plugin has a single ‘General’ category, but you can add more by clicking on the ‘Categories’ tab. Then, go ahead and 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 the categories into child-parent relationships, similar to child pages in WordPress. To turn a category into a subcategory, just open the ‘Parent Category’ dropdown and choose a parent.

Organizing the directory categories

To create the category, go ahead and click on ‘Add New Category.’

You can add more categories to your business directory, by repeating the same process described above.

Start Accepting Directory Listings

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

Adding listings to your WordPress website

This takes them to a screen where they can type in all the information for the listing.

Then, they simply need to click on the ‘Complete Listing’ button at the bottom of the page to submit their listing.

Submitting listings to an online directory

Every time a visitors submits a listing in this way, you’ll need to manually approve it. To do this, head over to Directory » Directory Content in your WordPress dashboard.

You will now see a list of pending listings.

Approving visitor submissions

To take a closer look at a listing, simply click on its ‘Preview’ link.

This will open the listing in a new tab.

How to approve user-submitted content

To make any changes to the listing, click on ‘Edit.’

You can now make any changes you want. When you’re happy with how the listing looks, click on ‘Publish.’

How to publish a business listing

As a WordPress admin, you can also create listings in the dashboard. For example, you might want to create listings for your affiliate marketing partners, so they don’t have to do all the hard work themselves.

To create a listing, go to Directory » Directory Content and then click on ‘Add New Listing.’

Adding listings to an online directory

This opens a screen where you can type in all the information.

When you’ve finished, click on ‘Publish’ to make the listing live.

How to publish listings to your WordPress website

Accepting Payments for Directory Listings

There are lots of way to make money online with WordPress, including accepting payments for publishing a listing.

By default, Business Directory only supports the Authorize.net payment gateway, but you can accept payments using PayPal, Stripe, and Payfast by upgrading to the premium plugin.

To set up Authorize.net, go to Directory » Settings, and then click on the ‘Payment’ tab.

Adding a payment gateway to your WordPress website

You can then go ahead and select ‘Authorize.net.’ Here, click on the ‘Enable Authorize.net’ switch so that it turns blue.

This adds some new settings where you can type in the login ID and transaction key for your Authorize.net account.

How to enable the Authorize payment gateway

Once you’ve done that, click on the ‘General Settings’ tab.

If you’re not ready to start accepting payments yet, then make sure to enable ‘Put payment gateways in test mode.’

Testing your business directory payment method

By default, the plugin accepts payments in dollars, but you can select a different currency using the ‘Currency’ dropdown.

You can also type in a different thank you message, which will be shown to users when they send you a payment.

Adding a custom thank you message to your business directory

When you’ve finished configuring the payment settings, don’t forget to click on ‘Save Changes’ to store your settings.

Create Payment Plans

Before you can accept payments, you’ll need to create at least one payment plan. To start, go to Directory » Directory Content and then click on ‘Plans’ in the left-hand menu.

How to monetize your business directory

The plugin comes with a free plan and a default plan, which is $1.00 for 365 days.

To change either of the plans, simply click on its ‘Edit’ link.

Adding plans to your web directory

This takes you to a screen where you can make all kinds of changes to the plan.

This includes changing the price, or even creating different prices for specific categories.

How to edit your business directory

When you’re happy with the changes you’ve made, don’t forget to click on the ‘Save Changes’ button to make your plan live.

Simply repeat these steps to create additional payment plans.

Method 2: Creating a WordPress Directory with Formidable Forms

You can also create a business directory using Formidable Forms.

Formidable Forms is the most advanced WordPress form builder plugin in the market and helps you to create lots of different forms including surveys, payment forms, booking forms, and more.

Formidable Forms also comes with a powerful ‘Visual Views’ feature that you can use to display user-submitted data on your website. Using this feature, you can easily create directories, real estate listings, job boards, event calendars, and more.

With that in mind, let’s create a business directory using the Formidable Forms plugin.

1. Create a Form to Collect Data for Your Directory

First thing you need to do is install and activate the Formidable Forms plugin. For detailed instructions, see our guide on how to install a WordPress plugin.

You’ll also need to install Formidable Forms Lite. This free plugin provides the core foundation for the premium plugin’s more advanced features.

Once you’ve done that, go to the Formidable Forms » Global Settings page and select ‘Click to enter a license key manually.’

Enter Formidable Forms license key

You can find the license key under your account on the Formidable Forms website.

After entering this information, go ahead and click the ‘Save License’ button.

Add a Payment Gateway

Many website owners charge visitors to submit a listing. If you want to create a premium web directory and accept credit card payments, then you’ll need to install an addon and set up a payment gateway.

Formidable Forms can collect payments with Stripe, PayPal, or Authorize.net.

In this guide, we will show you how to accept payments using PayPal, but the steps will be similar for other payment gateways.

In your WordPress dashboard, go to Formidable » Add-Ons. In the ‘PayPal Standard’ section, click on ‘Install.’

The PayPal addon for Formidable Forms

Later in this guide you’ll use ‘Visual Views’ to display all the information that visitors enter into your form.

With that in mind, find the ‘Visual Views’ addon and click on its ‘Install’ button, as you’ll need this addon later.

Installing the Visual Views addon

Once you’ve done that, head over to Formidable » Global Settings.

Then, select ‘PayPal’ in the left-hand menu.

Setting up PayPal for your web directory

On this screen, type in the email address that’s linked to your PayPal account. You can also change the currency and the URLs that will load after a visitor completes their payment or cancels their order.

After entering this information, click on the ‘Update’ button to save your changes.

How to build a web directory with WordPress

Create a Form

Now you’re ready to create a form by heading over to the Formidable » Forms page.

Here, click on ‘Add New.’

Adding a new form to your WordPress website

This will bring up a list of all the form templates you can use.

As an example, we’ll create a real estate directory so click on the ‘Real Estate’ category.

The real estate listing template

You can now see all the different templates within this category, including multiple mortgage calculator templates.

To preview a template, just hover your mouse over it and then click the little icon that looks like an eye.

Previewing a form template

To use a template, hover over it and then click on the ‘+’ icon. We’re using the ‘Real Estate Listings’ template in all our images.

One you’ve done that, type a title into the ‘Form Name’ field and enter an optional description. This information is just for your reference so you can use anything you want.

Then, click on the ‘Create’ button.

Creating a WordPress form

This will open the template in the Formidable Forms editor.

From here, you can simply point and click to customize any field in the form. For example, you might click on the ‘Brief Blurb’ field and then type some new text into ‘Field Label.’

Customizing your web directory in WordPress

You can also add more fields by selecting ‘Add Fields’ in the left-hand menu.

Then, drag any of the fields onto the form layout. For example, you may want to add a field where the visitor can type in their name.

Adding fields to a WordPress form

To continue customizing the template, simply repeat these steps.

When you’re happy with how the form is set up, click the ‘Update’ button at the top right corner of the screen.

Add a Payment Action (Optional)

If you want to collect payments, then you’ll need to add an action to your form. To do this, click on the ‘Settings’ tab and then select ‘Actions & Notifications.’

After that, click on ‘PayPal’ to add the action to your form.

Adding actions to the web directory form

Next, scroll to the ‘PayPal’ section.

To charge visitors a flat fee for creating a new listing, click on ‘Set Amount.’

Adding a payment method to your web directory

You can now type in how much you want to charge.

You can also choose whether to make this a one-off payment, a donation, or a recurring payment using the ‘Payment Type’ dropdown.

How to create a premium web directory

If you select ‘Subscription’ then you can use the controls to specify how often the person will be charged.

In this way, you can earn money from your listings over the long-term. You can also offer customers a free trial subscription.

Add recurring revenue payments to a web directory form

Once you’ve finished configuring PayPal, don’t forget to click on ‘Update’ to save your changes. Now, visitors will need to make a payment before they can submit the form.

2. Publish Your Form in WordPress

When you’re happy with how the form looks, it’s time to add it to a post or page.

As an example, we’re going to add the form to a new page by heading over to Pages » Add New in the WordPress dashboard. You can now give the page a name, upload a featured image, and add any other content that you want to show on the page.

After that, click on the ‘+’ icon and type in ‘Formidable Forms.’

The Formidable Forms WordPress block

When the right block appears, give it a click to add it to the page.

Next, simply open the ‘Select a form’ dropdown and choose the real estate listing form.

Adding a form to your website using the WordPress block editor

Formidable Forms will then add the form to the post, and show a preview in the block editor.

When you’re ready to make the form live, go ahead and publish the page.

After that, it’s a good idea to add this page to your WordPress navigation menu so people can find it easily. You may also want to send a message to your email list so your audience know they can now submit listings to your website.

3. Build Your Web Directory with Formidable Views

Next, you’ll want to create a web directory so the user-submitted content appears on your WordPress website.

You can do this using the Visual Views feature, so head over to Formidable » Views and then click on ‘Add New.’

How to create a business directory in WordPress

A popup will now show the different layouts that you can use for your directory.

Go ahead and click on ‘Classic’ as this allows you to create a new layout from scratch.

The Formidable Visual Views addon

On the next screen, open the ‘Use Entries from Form’ dropdown and choose the real estate form we created earlier.

Formidable Forms will give your view a name based on the form you’re using as the data source. However, you can change this if you want.

Choosing a data source

When you’re happy with the information you’ve entered, click on ‘Create a view.’

You can now type in any information you want to show above and below the listing. For example, you may want to add your contact information at the bottom of the page.

To do this, simply click on ‘Add Before Content’ or ‘Add After Content.’

How to display user-submitted data on your WordPress website

This will open a popup where you can type in any text that you want to show above or below the listing’s content.

To the right, there are also some parameters you can use. Formidable Forms will replace these parameters with real values on your website. For example, it will replace [siteurl] with your site’s URL.

Displaying user-submitted listings in WordPress

When you’re happy with the information you’ve entered, click on ‘Update’ to save your changes and return to the main view editor screen.

Once you’ve done that, you’re ready to create the layout for the different listings on the directory page. To get started, click on the middle ‘+’ icon.

How to design a web directory page

You can now type text into the main text editor, and select different parameters in the left-hand menu.

In the following image, we’re creating a simple layout that shows each property’s brief blurb, followed by the listing’s price and type.

Finally, we’ll show the full description.

Adding parameters to a directory listing in WordPress

In the following image, you can see an example of how this simple layout will look on your WordPress website.

To expand on this very simple layout, just keep adding more parameters and plain text following the same process described above.

A real estate listing created using Formidable Forms

Chances are you’ll want to show a photo of each property. To do this, go ahead and click on the ‘Advanced’ tab of the ‘Customization’ box.

Then, click on ‘Show Image,’ which displays any images that visitors submit.

Adding images to a directory listing

While you’re working on your layout, you can preview how it will look to visitors by clicking on the ‘Update’ button.

This takes you back to the main editor, which shows a preview of the layout you’re creating.

How to preview the directory listing layout

When you’re happy with how the directory looks, you can add it to any page or post using the shortcode in the left-hand menu, under ‘View Name.’

Simply find this code and then click on its ‘Copy’ button.

Copying the shortcode for a Formidable Forms view

For more details on how to place the shortcode, you can see our guide on how to add a shortcode in WordPress.

Once you’ve done that, simply visit the page or post to see the finished web directory.

An online web directory created using Formidable Forms

Bonus: Add a Review Feed to Your Business Directory

For some business directories, it may make sense to show customer reviews next to the listings. For example, if you’ve created a directory of local restaurants or hotels then you can improve the visitor experience by showing Yelp reviews for those venues.

An example of a Yelp review, created using Smash Balloon

Smash Balloon’s Reviews Feed Pro is the best customer review plugin for WordPress.

This single plugin allows you to show reviews from Yelp, Facebook, Google, WordPress.org, Trustpilot, and TripAdvisor, so you don’t need to install multiple plugins.

An example of a live review feed, created using Smash Balloon

Reviews Feed Pro also automatically copies your website’s design.

This means the reviews will perfectly suit your WordPress theme and look like a natural part of your business directory rather than content embedded from another platform.

Even better, Smash Balloon will fetch new content automatically, so your business directory will always show the latest reviews.

For step-by-step instructions, please see our guide on how to show your Google, Facebook, and Yelp reviews in WordPress.

We hope this article helped you create a web directory using WordPress. You may also want to see our expert pick of the best email marketing services for small businesses and see our ultimate WordPress SEO guide to improve your rankings.

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.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

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

20 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Mrteesurez says

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

    • WPBeginner Support says

      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. Emmanuel says

    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. Rizwan says

    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. Ravinder Singh says

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

  6. Archanian says

    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. RickyO says

    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. Andrea Pernici says

    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. Janet Barclay says

    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.