Guides

How to build a 20K directory site with Voxel and AI

How to build a 20K directory site with Voxel and AI

Directory sites are the 20K tier of WordPress work for a reason: they're not pages, they're systems. Listings with structured fields, search that actually filters, maps that agree with the results, monetization with tiers and claims, moderation for reviews — five systems wearing one skin. Quoting one used to mean a quarter of the year. With Voxel as the platform and NibWP driving it, here's how to build a 20K directory site in two to three weeks — the full anatomy, from the listing model to the launch corpus to the recurring revenue underneath.

The other reason directories justify 20K: they're businesses, not brochures. The client isn't buying pages; they're buying an operation that acquires listings, converts owners into subscribers and compounds. Which means the build has to get the data model right — the one part of the project where a mistake in week one costs real money in month six.


What 20K buys in a directory build

  • The listing model. Post types and fields for the core entity — restaurants, clinics, venues — with the filterable attributes the search will live on.
  • The template layer. Preview cards, single listing pages, archives, and search pages whose filters, results and map are wired together correctly.
  • Search that sells. Faceted filtering, map view, sensible empty states — the product surface of the whole site.
  • Monetization. Free and featured tiers, owner claims, payment wiring, membership gating where it belongs.
  • The launch corpus. Two hundred-plus real listings imported and normalized — a directory that opens empty stays empty.
  • Community and moderation. Reviews, messaging, and the workflows to keep them sane.

Week 1: the data model and the template layer

  1. Model the listing in plain language and review the plan: “Restaurants: cuisine (multi-select), price range 1–4, neighborhood (taxonomy), hours (weekly), gallery, claimed-by, features (terrace, delivery…).” Field types and structure are the approval that matters most all project.
  2. Stress-test the model against the search promise: every filter the client wants must map to a field that supports it. Fix disagreements now, in the plan, not in month two.
  3. Generate the template layer with Voxel Pro: preview card, single listing, archive, and the search page with filters, results and map wired — the work that eats weeks by hand, delivered as validated templates you refine by instruction.
  4. Polish pass on the templates: card density, mobile filter drawer, map behavior. Instruction-level, re-validated each time.

The Voxel-specific machinery — what the assistant can touch, from listings and fields to orders, memberships, reviews and the search itself — is on Voxel + MCP, and the build walkthrough at normal depth is how to build a Voxel directory site with AI. This is that build at commercial scale.

Week 2: the launch corpus

  1. Source the data: the client's spreadsheet, a licensed dataset, or a hand-collected list — 200 rows minimum for a city vertical to feel alive.
  2. Bulk import as a reviewed batch: rows map to listings with fields, categories and images matched; the plan shows creates, updates and skips before anything writes.
  3. Normalize in passes: “Title-case all names; format hours to the schedule field; geocode addresses missing coordinates; flag rows with no photos.”
  4. Quality gate: spot-check 20 listings against reality; the corpus is the product — an hour here is worth ten support tickets later.
  5. Seed the community layer: initial categories balanced (no empty neighborhoods on launch day), a dozen genuine reviews sourced by the client.

Week 3: monetization, moderation, launch

  1. Tiers: free listings seed liveness; featured placements pay. Wire the membership products, the featured logic on cards and archives, and the upgrade path on the owner dashboard.
  2. Claims: the claim-your-listing flow is the conversion engine — owner finds their business, claims, verifies, and meets the upgrade offer.
  3. Moderation: review thresholds, report handling, and the notification wiring so the client's team sees what needs eyes.
  4. The standard launch machinery: SEO pass across archives and listings, pre-launch checklist, link crawl, go live, watch window.

The ledger and the recurring layer

  • Traditional directory build: 200–350 hours — the reason quotes came back at a quarter-year and half the projects died in scoping.
  • This pipeline: 45–70 hours across three weeks — model review, template polish, corpus quality and monetization wiring.
  • The aftercare is where directories differ from brochures: fresh listings, dead-link crawls on outbound URLs, review moderation — a natural 500-plus monthly care plan the client genuinely needs.

At 20K plus the plan, a directory client is worth more in year one than three brochure clients — and the build is no longer the bottleneck to selling them.

Directory-specific failure modes

  • The model that can't answer the search promise — every filter needs a field; agree on the search screen before approving the model.
  • Launching thin — 40 listings reads as abandoned; 200 reads as alive. The corpus is scope, not garnish.
  • Hard-coding what should be dynamic — cards, counts and category pages must read the data, or month two starts breaking things.
  • Monetizing before liveness — featured tiers sell against a busy free layer, not an empty one; sequence free growth first, then upsell.

The directory build checklist, printable

  • Client qualified: audience owned, vertical pays, gardener named.
  • Listing model approved against the search promise — every filter maps to a field.
  • Category-specific field variations resolved before templates generate.
  • Template set wired: card, single, archive, search with filters/results/map agreeing.
  • Corpus imported as reviewed batches; calibration batch inspected in the storefront first.
  • Normalization flags resolved by a human; 20-listing spot-check passed.
  • No empty categories on launch day; seed reviews genuine and sourced.
  • Tiers wired and test-purchased; claim flow walked end to end as an owner would.
  • Moderation notifications reaching the right inbox; test report handled.
  • SEO pass across archives and listings; checklist, crawl, launch, watch window.

The directory's SEO machine: structure does the ranking

Brochure sites rank pages; directories rank structure. The archive-and-combination layer is where the traffic lives: category pages (florists), area pages (florists in Noord), and the combination pages the model makes possible (florists in Noord, terrace-friendly, price 2) — each a landing page the search engine can understand because the fields underneath are structured. This is why the model-first build order is also the SEO strategy: filters that map to real fields produce crawlable, titleable archive pages instead of JavaScript states. The listing pages themselves win on richness — hours, attributes, photos, reviews — where national platforms show thin stubs. Two disciplines protect the machine: noindex the archive combinations with no results (empty pages read as spam at scale), and let the sitemap breathe with the corpus so new listings surface fast. A directory built this way starts ranking for hundreds of long-tail combinations within weeks of launch — traffic the client could never buy at directory-margin ad prices.

FAQ

Why Voxel specifically?

Voxel makes the five systems one platform — listings, search, templates, monetization, community — and NibWP 1.2.0 speaks to what makes it Voxel: fields, orders, memberships, reviews and the search itself. On generic stacks you'd be wiring six plugins to approximate it.

Where does the launch data come from?

The client's own records, licensed datasets, or hand collection — imported as reviewed batches. The pipeline handles mapping and normalization; sourcing rights stay a human decision.

Can the client run it after handoff?

That's the design goal: claims, moderation and listing management are dashboard work. Most clients keep the care plan for the technical layer — crawls, updates, template evolution.

What's realiztic for revenue on the client's side?

A city vertical with 200+ listings converting a few percent of claimed owners to a modest featured tier typically covers the care plan within months — the honest pitch is compounding, not overnight.

The directory prompt set

Directory prompts front-load structure — the model, the wiring, the batch. The working set:

  • “Model the [vertical] listing: [field list with types]. Propose the post type, fields and taxonomies; flag anything that should be a taxonomy rather than a field.”
  • “Check the model against these search filters: [list]. Every filter must map to a filterable field — list mismatches.”
  • “Generate the template set: preview card (image, name, category, rating, neighborhood), single listing page, archive, and the search page with filters [list], results grid and map wired together.”
  • “Import these 212 rows as listings: map columns per the sheet's header; match images from the folder by slug; show creates, updates, skips before writing.”
  • “Normalize the corpus: title-case names, format hours into the schedule field, geocode rows missing coordinates, flag rows without photos or with suspicious categories.”
  • “Wire the tiers: free tier lists; featured tier pins to category tops and gets the card badge; connect the upgrade to the [product].”

A worked example: the wedding-vendor directory

The 20K shape in the wild: a regional wedding-vendor directory — venues, photographers, florists, planners — sold to a client who runs bridal fairs and owns the audience already. The model week surfaces the classic trap early: “price range” means different things per category (per-plate for venues, per-day for photographers), so the model splits it into category-specific fields — a decision that would have cost a month if discovered after launch. The search promise meeting locks eight filters; the model supports all eight before templates generate.

The corpus comes from the client's fair-exhibitor records: 240 vendors across four categories, imported in batches with photos matched from their exhibitor uploads. Normalization flags 31 rows — dead websites, duplicate venues under different names, one florist filed as a venue — and the client's assistant resolves them in an afternoon with a spreadsheet of flags instead of a month of data entry.

Monetization mirrors the client's real leverage: free listings for past exhibitors (instant liveness plus fair-booth goodwill), featured placement sold as a fair-season bundle. Claims convert warmly because the client emails vendors “your listing is live — claim it” to an audience that knows them. Three weeks build, 55 hands-on hours, and the directory crossed a hundred claimed listings in its first month on the strength of an email list the client already had — the build was the easy part, which is exactly how a 20K project should feel.

The directory as an operation: what month two looks like

  • The freshness loop: new submissions moderated weekly, dead outbound links crawled monthly (directories rot outward — listings link to businesses that close), stale listings flagged at 12 months.
  • The category gardening: empty categories merged or seeded, overloaded ones split — the taxonomy is a product surface and it drifts.
  • The monetization dashboard: claims pending, upgrades this month, featured slots by category — five numbers, monthly, from data the site already has.
  • All of it plan work, not project work: the 900-tier care plan exists precisely for sites with an operations layer.

Qualifying the directory client (or: when to refuse 20K)

Directories fail as businesses more often than as builds, and the build takes the blame — so qualify hard. The three-question filter: Does the client own an audience already (a list, a community, a fair, a franchise network)? Cold-start directories die at 92%. Is the vertical one where being listed has monetary value to the listed? Vendors pay; hobbyists don't. Will someone garden it weekly? An untended directory reads as abandoned in ninety days. Two of three: proceed. One: build it as a project with eyes open. Zero: decline the 20K — it costs you the 40K of referrals the failed project would have burned.

How does the directory rank against established players?

Not head-on — a new city directory beats national platforms on specificity, not authority: neighborhood-level archive pages, category-plus-area combinations, and listing pages richer than a national player's thin stub for the same business. The corpus quality is the SEO strategy.

What does month one after launch look like?

Claims and gardening: the owner-claim email to the seeded businesses, weekly moderation, the first featured upsells to claimed owners, and the outbound-link crawl catching the businesses that closed since data collection. It's an operations month — which is why the plan tier is part of the close, not an afterthought.

The bottom line

A 20K directory is a data model, a template layer, a corpus and a money loop — in that order, each approved before the next. Voxel provides the platform; the assistant does the structural typing; you make the calls that matter. The price ladder context is in 1K vs 5K vs 25K websites; the aftercare model is care plans with AI doing the work. Voxel Pro ships in the Bundle — pricing.

More reading

From the blog

Everything, in one Bundle.

Every Pro Skill and ability, bundled — for your own sites.