Skip to content
GPLWP Guides

How to create online directories in WordPress

Directories & Listings Time About 30 minutes for a basic directory, several hours for a full directory 6 steps Updated 24 Oct 2026

DIRECTORIES & LISTINGS
The short answer

You can build a basic directory with a custom post type, taxonomies and custom fields, but WordPress does not provide directory search, maps, reviews, imports or paid submissions by itself. For anything beyond a small curated list, use a directory plugin or plan for custom development.

The route
  1. 01Plan the directory data
  2. 02Build the manual foundation
  3. 03Create listing pages
  4. 04Add search and directory features
  5. 05Check URLs and imported data
  6. 06Use the fast route

What you need

  • A self-hosted WordPress site with administrator access
  • A clear list of fields, categories and locations
  • A backup or staging site for testing
  • A directory plugin if you need maps, reviews, imports or paid listings

Plan the directory data

Write down what one listing needs before you build anything. A local business directory might need a name, description, logo, phone number, website, address, opening hours, price range, location and category.

Decide which information should be searchable or filterable. Use categories or locations for repeated values, and custom fields for listing-specific values such as a phone number or opening hours.

Build the manual foundation

For a custom build, create a dedicated custom post type such as business or listing. Register it with register_post_type(), then add taxonomies with register_taxonomy() for categories, regions or other filters. WordPress documents custom post types as the normal structure for content that is not a post or page.

Add custom fields for details that do not belong in the title or editor. Keep this functionality in a plugin or must-use plugin rather than the theme, otherwise the directory can disappear from the admin when the theme changes. The manual route is fine for a small, staff-managed directory, but it requires code for the editor fields, templates, filtering and security checks.

Create listing pages

Make a public archive page for the directory and a single page for each listing. In a classic theme, WordPress can use templates such as archive-{post-type} and single-{post-type}; in a block theme, create matching templates in the Site Editor. Display the custom fields in those templates rather than leaving them visible only in the editor.

Add a directory page to your navigation and show useful summary information in each result, such as the listing name, category, town and contact link. If you use a page builder, confirm that it can query and display your custom post type before entering hundreds of listings.

Add search and directory features

WordPress core can store and query custom post types, but it does not give you a complete directory interface with faceted search, map clustering, front-end submissions, verified reviews, CSV imports or paid listings. Those features need custom development or a plugin.

For a manual build, implement filters against the relevant taxonomies and custom fields, validate every front-end submission, and restrict publishing so untrusted users cannot publish directly. If you add Google Maps, configure the required API credentials and restrictions; if you do not need a map, omit it rather than adding another dependency.

Check URLs and imported data

Test the directory archive, category pages, individual listings, search results and mobile layout before launch. When you register or change a custom post type or its URL slug, visit Settings → Permalinks and click Save Changes to refresh rewrite rules. This is a common cause of listing links returning 404 errors.

If you import listings, start with a sample file supplied by the importer, keep column names exact, and save the CSV as UTF-8. Spreadsheet applications can alter encoding or formatting and cause an otherwise valid file to be rejected.

Use the fast route

For a directory with custom fields, maps, reviews, advanced search, CSV import and paid listings, install and configure Directories Pro plugin for WordPress instead of assembling each feature yourself. Create the directory type, define its fields and categories, add a few test listings, then publish the directory page and check the single-listing URLs.

This is the practical choice when the directory will accept many listings or submissions. It provides an all-in-one directory builder with custom layouts, filters, map support, reviews and ratings, CSV import and export, responsive output and payment integrations. You still need to plan your fields carefully and test permalinks, imports and submitted content before going live.

The fast route

Let Directories Pro plugin for WordPress do it

All-in-one directory builder with custom fields, maps, reviews, search, imports, and paid listings for varied directory types.

Get Directories Pro plugin for WordPress

Sources

  1. developer.wordpress.org /reference/functions/register_post_type/?utm_source=openai
  2. wordpress.org /documentation/article/what-is-post-type/?utm_source=openai
  3. docs.businessdirectoryplugin.com /import-listings.html?utm_source=openai
  4. wordpress.org /support/topic/listing-links-are-now-broken-404/?utm_source=…

Questions

Can I create a directory in WordPress without a plugin?
Yes, but only a basic directory is practical without a directory plugin. You can register a custom post type, add taxonomies and custom fields, and build archive and single-listing templates. Search filters, maps, front-end submissions, reviews, imports and paid listings require custom code or separate plugins, so the manual route becomes expensive as the directory grows.
Should directory listings be posts or pages?
Use a custom post type for directory listings rather than ordinary posts or pages. It gives listings their own admin screen, URL structure, archive and templates, while taxonomies can handle categories and locations. Keep the custom post type in a plugin or must-use plugin, not only in the theme, so changing themes does not remove the directory from the admin.
How do I add search filters to a WordPress directory?
Add categories, regions or other repeated values as taxonomies, then query those taxonomies when a visitor submits a filter form. Store values such as price range or opening hours in custom fields and add custom query logic where needed. WordPress supplies the data structures, but a polished multi-filter interface normally needs custom development or a directory plugin.
Why do my directory listing URLs show 404 errors?
A directory URL often returns a 404 because rewrite rules were not refreshed after changing the post type, taxonomy or slug. Go to Settings → Permalinks and click Save Changes without changing the settings, then test the archive and a single listing. Also check for conflicts between listing, category and page slugs, and make sure the main directory page required by the plugin exists.
What is the quickest way to create a directory with maps and reviews?
The quickest way is to use a directory plugin that already includes custom fields, search, maps, reviews, imports and listing management. Directories Pro plugin for WordPress is suited to this route because those features are provided in one directory-building workflow, avoiding separate custom post type, filter, map, review and payment development.