Directories used to be a straightforward business. Collect the local trades, charge them to appear, and you owned the shopfront everyone had to walk past. That worked because search was worse and there was nowhere else to look. Both of those things have changed.
I build directories, including my own, so this is not theory. Here is what I have learned about what the platforms do well, where they stop, and why so many local directories quietly go nowhere.
The platforms are not bad. They are built for a different job
Brilliant Directories, Listing Pro, GeoDirectory, Directorist. None of these are badly made and the people behind them solved a real problem: getting a non-technical founder from nothing to a live directory in a weekend. That is worth something, and if you are testing whether anyone wants your directory at all, start there.
The trade is explicit rather than hidden. These products are built for speed of setup and managed infrastructure, not for ownership and flexibility. That is fine until the day your directory starts working, and then every constraint arrives at once.
The recurring ones, from owners rather than from reviews: one subscription covers one site, so a second directory doubles the bill rather than sharing the platform you already pay for. Advanced users hit a ceiling on custom code, so anything the platform did not anticipate is simply not available. Payment gateways can fail in ways you cannot debug, and owners have stopped taking memberships over it. Filtering is limited to what the template supports. And design elements date visibly, which matters when you are asking a business to be seen there.
The WordPress and ACF build has a specific technical ceiling
A lot of directories get built with WordPress plus Advanced Custom Fields, because it is flexible and every developer knows it. It works well at a few hundred listings and then degrades in a way that surprises people, so it is worth understanding why.
WordPress stores custom fields in one shared table, wp_postmeta, as rows rather than columns. Every field you want to filter by adds another JOIN to the query. A search for plumbers, in N19, open on Sunday, with a gas certificate, rated four stars and up, is six JOINs against a table that now holds a row for every field of every listing. At ten thousand listings that table has hundreds of thousands of rows, and the search that made your directory useful becomes the thing that makes it slow.
This is not a controversial opinion. GeoDirectory, a directory plugin vendor, says the same thing in its own documentation: ACF does not scale for directories, and developers should not offer it as the solution. The fix is a proper relational schema, where those fields are indexed columns and that six-filter search is one query.
| Approach | Gets you live in | Where it stops | Who it suits |
|---|---|---|---|
| Brilliant Directories | A weekend | Custom code limits, one subscription per site, fixed templates | Non-technical owner testing an idea |
| Listing Pro / Directorist | A weekend | Filtering beyond the template, performance past a few thousand listings | A first version on a small budget |
| WordPress + ACF | A week or two | Multi-field search slows as wp_postmeta grows | Small directories that stay small |
| Custom build (Next.js + Postgres) | Weeks, not days | Nothing structural; you own the routes and the schema | A directory that has to compete |
The bigger change is that search stopped rewarding directories
The classic directory SEO play was pages at scale. Plumbers in Archway. Plumbers in Holloway. Electricians in Archway. Multiply categories by locations and you have four hundred pages by Friday.
That pattern is now explicitly targeted. Google's scaled content abuse and doorway policies exist for pages generated in bulk that carry no unique value, and sites caught by them commonly report traffic falling by half or more. The part owners misread is that there is usually no penalty notice to appeal. The pages are simply suppressed, and the site looks fine from the inside while the traffic quietly does not arrive.
A category page with eight business names, eight phone numbers and a stock photo is thin content by any definition, and there are now a hundred sites with the same eight businesses on it.
Treatwell and Etsy did not beat local directories on listings
They beat them on the transaction. A local directory shows you a salon's phone number. Treatwell shows you which appointments are free at 6pm on Thursday and takes the booking. One is information, the other is the thing the customer actually wanted.
That is the real shift. A listing is a dead end that hands the customer off and hopes. A booking, an enquiry with a guaranteed response, a quote request, a payment, these are products. They also give you something no generic directory has: data about what people search for, what converts, and which businesses deliver. That data is what you eventually sell, and it is why vertical marketplaces beat general directories in every category they have entered.
Google Business Profile finished the job at the generic end. It is free, it is on every phone, and it answers most who-is-near-me questions before a directory gets a look in. Competing with that as a general local list is not a strategy.
What works now
Niche before local. A directory for one trade or one interest across a region beats a general directory for one town, because specific search needs fields and vocabulary a generic listing does not have. Filters that matter to that niche are the entire product.
Own the transaction if you can. Booking, enquiry routing, quote requests, payments. If you cannot own it yet, own the response: guarantee that an enquiry gets answered and enforce it, because that alone beats most local directories.
Make each page worth existing. Real descriptions, real photos, opening hours that are correct, verified credentials, genuine reviews. Ten listings with substance rank; four hundred with nothing do not.
Get the pricing the right way round. Nobody pays to appear on a directory with no visitors, and asking too early is how directories die before they start. Build the audience first, then charge for placement or take a cut of what you generate. My own directory runs at a pound a year for a listing, deliberately, because filling it mattered more than early revenue.
Where a developer changes what is possible
This is the part platform owners do not always realise is available to them, and it is not about a nicer design.
Search and filters built on a relational database, so a six-filter query over fifty thousand listings returns instantly, including geographic radius search and sorting by distance. Custom routes, so you can build the page structure your niche needs rather than the one a theme allows. Import and sync pipelines, so listings can be populated and kept current from sources you have access to instead of typed in by hand. Claim-your-listing flows with verification, so businesses maintain their own data. Stripe subscriptions in your own account, with your own pricing tiers, not a platform's. Structured data on every listing so search engines and AI assistants can read them properly. And an API, which is what turns a directory into something other products can plug into.
None of that is exotic. It is ordinary web application work. The reason it is out of reach on most directory platforms is that they were designed to keep you inside a template, which is exactly what makes them quick to launch.
The honest summary
| Do | Don't |
|---|---|
| Pick a niche narrow enough that you can be the best source for it | Build a general directory for one town and compete with Google Business Profile |
| Start on a platform to test demand | Stay on it once the constraints start costing you money |
| Own the booking, the enquiry or the response | Publish a phone number and hope |
| Write real content for every listing | Generate category-by-location pages in bulk |
| Build the audience, then charge | Ask businesses to pay before anyone visits |
| Use a relational database with indexed fields | Filter across a dozen ACF fields and hope |
Directories are not finished. The generic local list is. What replaces it is narrower, has real data behind it, and owns something more than a phone number.
Running a directory that has outgrown its platform, or planning one properly from the start? Tell me the niche and I will tell you what it needs to compete.
Talk it throughStraight answers
- Is WordPress good enough to start a directory on?
- To test whether anyone wants it, yes. Listing Pro, GeoDirectory or Directorist will get you live in a weekend and that is genuinely useful. The limits appear later: filtering across several fields, thousands of listings, and anything the plugin author did not anticipate. Start there if you need to validate the idea; plan for what happens when it works.
- Why is my directory not ranking on Google?
- Almost always because the pages have nothing unique on them. A category page listing eight businesses with a name, phone number and a stock photo is thin content, and Google's scaled content and doorway policies target exactly that pattern. Sites caught by it commonly report traffic drops of 50 to 80 percent, and most of the time there is no manual penalty to appeal, just quiet suppression.
- How do directories actually make money now?
- Not from listing fees on day one. Businesses do not pay to appear somewhere nobody visits. The models that work are transactional, taking a cut of a booking or an enquiry, or paid placement once you can prove traffic. Charge for the audience you have, not the audience you plan to have.
- Can you migrate my directory off Brilliant Directories or Listing Pro?
- Yes. The listings, categories, images and member accounts come across, every existing URL is 301 redirected so the rankings survive, and subscriptions move to Stripe in your own account. What you gain is control of the search, the page templates and the data.
- What does a custom directory cost to build and run?
- More to build than a plugin licence, and considerably less to run at scale, because you are paying for hosting and a database rather than stacked platform subscriptions and per-site fees. Message me on WhatsApp with the niche and rough listing numbers and I will scope it and give you a fixed price before anything starts.
- Should my directory be local or niche?
- Niche, then local. A general directory for one town competes with Google Business Profile, which is free, faster and already installed on everyone's phone. A directory for one trade or interest across a region has something Google's generic listing does not: the fields, filters and vocabulary that specific search actually needs.