Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
WordPress Plugins
View all Guides

How to Create a Web Directory in WordPress

Last updated on by
Special WordPress Hosting offer for WPBeginner Readers
How to Create a Web Directory in WordPress

Are you looking to create a business web directory? Recently one of our users asked us if it was possible to create a web directory in WordPress? Our answer: of course, there’s a plugin for that. In this article, we will show how to create a web directory in WordPress. We will also show you how you can easily accept payments for your premium web directory listings.

What is a Web Directory?

Web directories allow users to browse through a catalog of links divided into topics, categories, and interest areas. A perfect example of a web directory is YellowPages or your phone book.

WordPress offers several different web directory plugins and themes that will allow you to create a web directory using WordPress. However for this article, we will only show you the plugin method, so you can use it on just about any WordPress site.

If you use a WordPress web directory theme, then you will be limited to that theme forever.

Having that said, let’s take a look at how to create a web directory in WordPress.

Method 1: Using Gravity Forms Directory Addon

A web directory created with Gravity Forms Directory

Gravity Forms is the most popular form management plugin for WordPress. It allows you to create contact forms, post submission forms, etc. For this method, you will need to purchase and install Gravity Forms.

Here is a Gravity Forms coupon which will give you 25% off.

Once you installed and activated Gravity Forms plugin, the next thing you need is to install and activate Gravity Forms Directory plugin. It is a free add-on plugin that turns Gravity Forms into a Directory plugin.

Next, you need to create a form that your users will use to submit entries for the web directory. You can do this by going to Forms » Add New in your WordPress admin area.

On the new form page, you will use Gravity Forms fields from your right. When you click on a field, it will add it to the form canvas where you can edit it. You will be using the Standard Fields to add your form fields like Site Title (single line text), Site URL, Description (Paragraph Text), etc.

Editing a form in Gravity Forms

Once you are satisfied with the form you need to click on the Update Form button to save the form.

Adding Your Web Directory To a WordPress Post or Page

The next step is to display your directory on a WordPress post or page. You can do this by creating a new page or editing an existing post/page. When you go to the page edit screen, just above the post editor you will see the Add Directory button.

Simply click on it, and it will bring up a popup where you need to select the form you created earlier. Entries to this form will be used to display your directory.

Adding web directory to a WordPress post/page

After selecting the form, click on the Insert Directory button at the bottom of the popup screen. You should be able to see the directory shortcode appear in the post editor. You can save your post/page and preview your changes to see the directory in action.

Adding a Submit Listing Page for Your Directory

In order to submit websites to your directory, your users will need to fill out the form you created earlier. Start by creating a new page in WordPress and click on the Add Form button above the post editor. Next, choose your directory form and then click on the Insert Form button.

Adding form to link submission page

The shortcode for your directory form will appear in the post editor. You can save the post/page or click on the preview button to see the form in action.

You can also use the Gravity Forms payment add-ons to charge a fee for each submission, but this is the easiest way to create a directory using Gravity Forms.

Method 2: Using Business Directory Plugin

Web directory view of Business Directory Plugin

The second method is by actually using a Business Directory Plugin. Remember while the main plugin is free, a lot of functionality will require you to purchase the PRO version of the plugin.

Post install notification - create page with business directory shortcode

Start by installing and activating the Business Directory Plugin. Upon activation the plugin will ask your permission to create a new WordPress page and add the business directory shortcode inside it. Click on the Create required pages for me to create your directory page.

You will also see a notification that you have featured listings turned on, and you need to turn on payment options. We will recommend you to turn off featured listings for the time being. You can turn off featured listings by going to Directory Admin » Manage Options and then click on the Listings tab where you need to uncheck the box next to Offer sticky listings.

Unchecking featured or sticky listings

Next, you will need to create a few categories for your directory. You can do this by going to Directory » Directory Categories. You will be required to create at least one category, so that your users can use this category when submitting their listing.

Once you have created the categories, then you can go to your directory page on your website. You will see something like this:

An empty web directory

You users can click on the Submit Listing button to add their listings. You can also manually add entries to your directory by going to Directory » Add New Listing.

Manually adding a listing to your web directory

Accepting Payments for Directory Listings

Business Directory Plugin allows you to accept payments for listings in your web directory. By default, the plugin only comes with Google Wallet as the payment gateway. Other payment gateways such as PayPal and Stripe are available as separate add-ons which you can purchase from the plugin’s website. After installing the payment gateway add-on plugin, you can go to Directory Admin » Manage Options page and click on the Payments tab.

Accepting payments for listings in your web directory

The first option on the Payment Settings screen is the checkbox to enable payments. If your site is not fully ready yet, then you can click the checkbox next to Put payment gateways in test mode? option.

Next step is to choose your currency and add a thank you message for payments. Below that you will find the settings to configure your payment gateway. If you have not installed any other payment gateway add-on plugin, then you will only see Google Wallet as the default payment gateway option.

Once you are done configuring payment options, then click on the save changes button to store your settings.

Since you are requiring payments, you will need to set up listing fees. This can be done by going to Directory Admin » Manage Fees. There you can create different listing plans, set up fees and listing duration for each plan and save your changes.

That’s all your web directory is now ready to accept paid listings. We recommend you to explore other options in the plugin’s settings for further optimization of your web directory.

We hope this article helped you create a web directory using WordPress.

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

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »


  1. 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

  2. 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)

  3. Aurora says:

    This is exactly what I’m looking for. Great post as usual!

  4. desy says:

    It will be great if you give demo link

  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. Tushar Bhambare says:

    please give demo link

  8. Nouman Younas says:

    It will be great if you give demo link

  9. 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.

  10. 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?

  11. 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.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.