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.
Free plugin live on WordPress.org · no signup to browse the demos
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.
A working roofing contractors directory. Every page real, every listing schema-marked, every search filtered.
Open the demoMulti-state coverage. Test the search, the filters, the map, the load times at three times the scale.
Open the demoFull-scale benchmark. 50,000 businesses, full search, full schema, full speed — the ceiling of a single install.
Open the demoEvery button below opens PageSpeed Insights with a real demo listing pre-loaded. The test runs on Google's servers, not ours.
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.
Every roofing contractor in the country, grouped by state, with counts.
State-level directory, broken down by city — its own title, description and schema.
The page that actually ranks for "roofing contractor myrtle beach" — local businesses, map, filters.
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.
Open All Things Roofing in another tab and look for these six things. Each is a real business record, not a template placeholder.
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.
Resolves against the business's local time, so it reads correctly whichever country you're browsing from. Full weekly schedule underneath.
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.
Call, visit website, get directions — the three things a visitor actually came to do, above the fold and tappable on a phone.
View source and search for application/ld+json: LocalBusiness plus BreadcrumbList on every listing, with consistent name, address and phone.
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.
Faceted search over the whole dataset, with a live map beside the results. These are the actual controls on the demo — go break them:
Distance slider, 0–100 miles. Allow location in the browser and results re-sort around you; the radius is a live filter, not a page reload.
Nearby / Country / State / City tabs. Jump between zoom levels without losing the filters you already set.
Removable filter pills. Everything you've applied stays visible, and each one comes off individually.
Fast at 50,000 rows. The 50K demo runs the same search UI as the 10K one. Same responsiveness — that's the whole test.
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.
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.
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.
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.
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.
Readable slugs at every level, an XML sitemap for crawlers and an HTML sitemap for people. Both are in the free version.
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.
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.
Welcome → Google services → Mapillary → data import → done. The demos above were each built by running exactly this.
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.
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.
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.
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.
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.
A full walkthrough series covering every tab, recorded on a real install — including the 50,000-listing import that produced the flagship demo above.
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.
10,000 listings, 1 site. Reviews, claims, customer portal, Stripe, ad zones, Google Indexing API.
Everything in Starter, at 30,000 listings — plus the Network Hub, keyword tracker, IndexNow, Outscraper and sponsored placement.
Everything in Growth, at 50,000 listings — plus advanced keyword opportunities, cannibalization analysis and direct Discord access.
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.
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.