Live Demos — 10K, 30K & 50K listing directories | TurnKey Directories
Live demos

Three live directories.
90,000 real listings.

Not screenshots and not a ten-listing sandbox. Three working WordPress directories at 10,000, 30,000 and 50,000 listings, running the shipping plugin on ordinary shared hosting. Open any page, click any URL, run any of them through PageSpeed yourself.

Open the 50K benchmark Inspect the URL structure

Free plugin live on WordPress.org · no signup to browse the demos

Pick a scale

Three demos, three tiers

Each demo is a complete roofing-contractor directory — search page, category pages, location pages and individual business profiles. Every link below opens the real thing.

10k-demo.turnkeydirectories.com
★★★★★
★★★★☆
10K
Starter tier
90+

10,000-listing demo

A working roofing contractors directory. Every page real, every listing schema-marked, every search filtered.

Open the demo
30k-demo.turnkeydirectories.com
★★★★★
★★★★☆
30K
Growth tier
90+

30,000-listing demo

Multi-state coverage. Test the search, the filters, the map, the load times at three times the scale.

Open the demo
50k-demo.turnkeydirectories.com
★★★★★
★★★★★
50K
Flagship
90+

50,000-listing benchmark

Full-scale benchmark. 50,000 businesses, full search, full schema, full speed — the ceiling of a single install.

Open the demo
Measured, not claimed

Don't take our score for it

Every button below opens PageSpeed Insights with a real demo listing pre-loaded. The test runs on Google's servers, not ours.

90+
Desktop PageSpeed
50,000
Listings on that site
$9.99
/mo cloud hosting
10K demo
Test a listing page
Run PageSpeed
30K demo
Test a listing page
Run PageSpeed
50K demo
Test a listing page
Run PageSpeed
Two things you'll notice in the report, and we'd rather say them first. Desktop scores 90+/100 on standard $9.99/mo cloud hosting. Mobile scores lower, as JS-rich directory pages with live maps do — we're not going to pretend otherwise. The SEO subscore is also low, deliberately. The demo subdomains are blocked in robots.txt so 90,000 pages of sample data never get indexed and never compete with a customer's real directory. Your own site ships crawlable.
Every segment is a page

Walk the URL, level by level

Plenty of directory plugins generate a deep URL and then serve an empty shell at every level above the listing. Chop a segment off any URL on the 50K demo and you land on a real, populated, indexable page. Try it — all four of these are live.

  1. Country
    /roofing-contractor/us/

    Every roofing contractor in the country, grouped by state, with counts.

  2. State
    /roofing-contractor/us/south-carolina/

    State-level directory, broken down by city — its own title, description and schema.

  3. City
    /roofing-contractor/us/south-carolina/myrtle-beach/

    The page that actually ranks for "roofing contractor myrtle beach" — local businesses, map, filters.

  4. Business
    /roofing-contractor/us/south-carolina/myrtle-beach/all-things-roofing/

    The full business profile. Street view, hours, map, contact actions, LocalBusiness schema.

Category pages sit alongside the location levels on the same URL tree, and the HTML sitemap lists every page the site generates — open it and pick any URL at random.

What to click

Anatomy of one listing

Open All Things Roofing in another tab and look for these six things. Each is a real business record, not a template placeholder.

Interactive Street View

Drag to look around at street level, powered by Mapillary's free crowd-sourced imagery — no Google Street View bill. Coverage is community-contributed, so it varies by region and not every address has it.

Live open / closed status

Resolves against the business's local time, so it reads correctly whichever country you're browsing from. Full weekly schedule underneath.

Map and directions

An embedded Leaflet map pinned to the business, with one-click directions. Leaflet ships bundled with the plugin — no CDN call, no map-tile subscription.

Quick actions

Call, visit website, get directions — the three things a visitor actually came to do, above the fold and tappable on a phone.

Schema in the source

View source and search for application/ld+json: LocalBusiness plus BreadcrumbList on every listing, with consistent name, address and phone.

Ratings that came from the data

Star ratings and review counts are read from the imported record, and the review link goes to the business's own Google reviews page rather than back down the page.

How it holds up

50,000 pages, 0 posts

Creating 50,000 WordPress posts is what makes directory sites collapse — the posts table, the postmeta table, and every plugin that queries them. TKD generates directory pages on request from a purpose-built, indexed data structure instead.

No database bloat

Listings live in their own indexed tables, not in wp_posts. Your admin stays fast, your backups stay small, and other plugins never trip over 50,000 extra posts.

One cache entry per URL

Pages are served identically to phones and desktops, so LiteSpeed, WP Rocket or Cloudflare store one copy of each URL instead of a separate mobile variant — half the cache entries, and more of them already warm when a visitor arrives.

Theme independent

The directory renders its own templates, so it looks the same on any theme. Set your accent colour and typography in Settings and it matches your brand — no theme lock-in.

Sits next to everything else

Add a blog, run WooCommerce, keep your existing pages. The directory occupies its own URL tree on a new site or an established one, and doesn't fight your other plugins.

Clean URLs and both sitemaps

Readable slugs at every level, an XML sitemap for crawlers and an HTML sitemap for people. Both are in the free version.

Nothing loaded from a CDN

Leaflet, Chart.js, the icon set and the typeface all ship inside the plugin. Fewer round trips, no third-party outage taking your directory down, and no visitor data leaking to someone else's server.

Behind the login

What the demos can't show you

The demos are the public front end. The half that makes it a business — importing, billing, indexing, tracking — lives in wp-admin, and there's no honest way to hand you a login to that. So it's all on video instead.

Setup wizard

Welcome → Google services → Mapillary → data import → done. The demos above were each built by running exactly this.

Bulk import that survives a closed tab

Map your CSV or XLSX columns, start the import and walk away. It runs in the background with a progress banner, a cron watchdog that resumes an interrupted run, and a cancel button.

Get the data in the first place

Scrape businesses from Google Maps through Outscraper without leaving the wizard, priced per use. Or bring your own file — the importer doesn't care where it came from.

Monetization and the customer portal

Stripe billing with revenue and MRR dashboards, an eleven-feature upgrade marketplace, five display-ad zones, and a portal where business owners claim their listing and manage it themselves.

Indexing and rank tracking

Push URLs through the Google Indexing API and IndexNow (Bing, Yandex, Seznam, Naver) on a nightly schedule, then watch positions move in a keyword tracker built on your own Search Console data.

The Network Hub

Swap dofollow links with other directory sites running TKD. A Partner Directories page is created and refreshed for you; joining needs at least ten published listings.

The whole admin, on camera

A full walkthrough series covering every tab, recorded on a real install — including the 50,000-listing import that produced the flagship demo above.

Which one is you

Each demo is a plan

The three demos aren't arbitrary sizes — they're the import ceilings of the three single-site plans. Pay once or pay yearly; there's no subscription holding your data hostage.

10K demo
Starter
$299

10,000 listings, 1 site. Reviews, claims, customer portal, Stripe, ad zones, Google Indexing API.

30K demo
Growth
$549

Everything in Starter, at 30,000 listings — plus the Network Hub, keyword tracker, IndexNow, Outscraper and sponsored placement.

50K demo
Pro
$899

Everything in Growth, at 50,000 listings — plus advanced keyword opportunities, cannibalization analysis and direct Discord access.

All of them
Agency
$1,499

50,000 listings on every site, unlimited site activations. For anyone running directories for clients.

Or start at zero. The free plugin is on WordPress.org right now: add listings by hand, get the dynamic location pages, the LocalBusiness schema, both sitemaps, your own colours and typography, and no forced "powered by" credit. Bulk import is what the paid plans unlock.

Questions about the demos

Is this real data or filler?
Real business records — names, addresses, phone numbers, hours, ratings and review counts, imported the same way you'd import yours. It's a genuine dataset, which is exactly why the demos are blocked from search engines: they must never outrank the real directories our customers build.
What are the demos hosted on?
Standard $9.99/month cloud hosting — no dedicated server, no exotic stack. That's deliberate: a benchmark that only holds up on hardware you don't have isn't a benchmark. A decent host with object caching and a page cache is all this needs.
Why is the mobile PageSpeed score lower than desktop?
Because Lighthouse's mobile test simulates a throttled mid-range phone on a slow connection, and a listing page carries an interactive map and a street-view viewer. Every JS-rich directory pays that tax. We'd rather show you the real number and explain it than quietly publish only the desktop score.
Why is the SEO score low on the demos?
One reason only: the demo subdomains disallow crawling in robots.txt, and Lighthouse marks that down. Everything it's actually checking for — titles, meta descriptions, crawlable links, structured data — is there in the markup. Your own install ships fully crawlable.
Will every listing have a street view image?
No, and anyone promising otherwise is selling you a Google bill. Imagery comes from Mapillary, which is crowd-sourced and free — coverage is excellent along mapped roads and thin in places nobody has driven with a camera. Listings without coverage fall back gracefully. Browse the demos and you'll see the real hit rate rather than a curated one.
Will it work with my existing theme and plugins?
Yes. The directory renders its own templates on its own URL tree, so it doesn't inherit theme layout problems and doesn't need a specific theme. Keep your blog, keep WooCommerce, keep your existing pages — add the directory to a site that already exists, or start a new one.
How long does an import this size actually take?
Minutes, not an afternoon — and you don't have to sit and watch it. The importer streams XLSX files rather than loading them into memory, writes rows in batches, and keeps running in the background if you close the tab. If a request gets interrupted, a cron watchdog picks the job back up.
Which plan do the demos correspond to?
10K is Starter, 30K is Growth, 50K is Pro — those are the bulk-import ceilings per site. Agency runs the 50,000 ceiling across unlimited sites. Full breakdown in the pricing table.

You've seen it at 50,000.
Now build yours.

Install the free plugin, add a few listings by hand, and watch the whole structure appear on your own domain. Upgrade when you're ready to import in bulk.

Free version on WordPress.org One-time or annual Works on any theme