Seven systems, shipped inside one WordPress plugin: the directory engine, the admin console, the front end, the SEO stack, the billing platform, the customer portal and the backlink network. Below is the whole list — with exactly which parts are free, which are paid, and the things we haven't built.
Free version live on WordPress.org · no account, no card, no listing cap
A directory that actually earns needs nine separate things. Almost everybody rents them from nine separate vendors and spends the first month making them talk to each other. Each row below is a subscription that stops being necessary.
Most directory plugins write every listing into wp_posts and start to labour somewhere past 5,000 rows. This one doesn't write them there at all. Listing URLs are rendered from the plugin's own tables at request time, which is the entire reason a 50,000-listing install still behaves like a small site.
Listings live in dedicated tables with proper indexes. Nothing bloats the post table, nothing shows up in the WordPress editor's post list, and a rebuild never means regenerating tens of thousands of posts.
Not a filtered view of one page. Each segment of the hierarchy has its own title, its own meta description, its own structured data and its own place in the sitemap — so each one can rank on its own.
Activation opens a five-step wizard and a summary screen. Every step is skippable and the whole wizard is re-runnable later — useful when you add a niche or connect a service you skipped the first time.
A form, one business at a time, with no cap on how many you add. This is the whole free version's data path and it is genuinely uncapped — build a fifty-listing local directory on it and never pay anything.
Bring your own spreadsheet. The importer streams the file rather than loading it into memory, writes rows in batches, and keeps going in the background if you close the tab — a cron watchdog picks the job back up if a request is cut off. Tens of thousands of rows take minutes, not an afternoon.
Pick a category and an area, and pull real business records with contact enrichment straight into the wizard. You pay Outscraper directly at their rates — we take no markup and never handle the money.
Outscraper's own list pricing, shown live in the wizard. Their rates, not ours.
Every field on every listing is editable — phone, website, description, socials, hours, images.
Change a field across many listings at once instead of re-uploading the spreadsheet.
Fills empty descriptions from the data already on the record. Templated from your fields — there is no AI model involved.
All three are in the free version, for every listing, with no cap.
Two page types carry the whole front end: one search page that doubles as your homepage, and one listing template rendered for every business.
Keyword box, location selector, filter chips, and a full-size Leaflet map drawn from OpenStreetMap — not Google Maps, so there is no per-load map bill. Results paginate with a page-size control, and every card carries its badges, rating, review count, address and a click-to-call button.
The search page is a genuine, editable WordPress page containing one fixed block. Anything you add above it — hero, offer, intro copy — renders above the listings; anything below renders below. Ordinary block editor, no code, no second page builder.
Every block below is optional and independently switchable, so a bare listing and a fully monetized one use the same template.
Imagery comes from Mapillary, which is community-contributed and free. Coverage is good along mapped roads and thin where nobody has driven with a camera; listings without it fall back to a generated image carrying the name and address.
Per-day opening hours with an open-or-closed indicator that reflects the visitor's current time, editable by you or by the business owner in their portal.
Set an accent colour and a typeface once; buttons, links, pagination, the dashboard and the customer portal all inherit them. Semantic colours — call, open, closed, sponsored — stay fixed so they keep meaning what they mean. Both are free.
A directory is a programmatic SEO play or it is nothing. Everything a large URL set needs to get crawled, indexed and measured is in the plugin — no SEO plugin to configure alongside it, and no third-party data subscription.
Emitted by the plugin itself. Nothing to map, no per-page-type template to build.
Publishing 50,000 URLs and waiting for a crawler to find them is how a directory dies quietly. A background job submits a batch of 150 URLs every night at 02:00, with Run now and Queue all listings when you'd rather not wait.
IndexNow is an open protocol, so one submission fans out across every engine that participates in it — currently around ten. Per-URL status is visible in the dashboard: queued, submitted, indexed, or never sent. Google Indexing API unlocks at Starter. IndexNow unlocks at Growth.
Search Console and Analytics 4 rendered inside WordPress, over 7, 28 or 90 days or a custom range — so you stop opening three tabs to answer one question.
A daily snapshot of your Search Console data, kept as history so you can see movement rather than a single day's numbers. Tabs for Overview, Keywords, Pages, Listings and Index Status; position distribution and ranking trend charts over 7, 28 or 90 days.
Opportunities compares each keyword's actual click-through rate against what its position would normally earn, which surfaces page-one and page-two terms that are underperforming. Cannibalization flags one keyword ranking two or more of your own URLs inside the top 50.
The data source is Google Search Console and nothing else. That means it is free to run and it is your real data — and it also means the tracker can only see queries your site already gets impressions for. There is no search volume, no difficulty score and no third-party keyword database, because there is no third-party subscription behind it.
Most directory plugins hand you listings and leave the business model as an exercise. The billing side is built in — and it runs on your Stripe account, so money moves from the business straight to you. We never touch it and we take no percentage.
Three in-content leaderboards and two half-page sidebars, each independently switchable and each accepting your own HTML or JavaScript — an ad network, an affiliate banner, or a house ad for a listing you're selling. Businesses that buy an ad-free listing simply don't see them.
Connect your Stripe keys, build your plans, press sync. The plugin comes with an example set — Free, Professional and Premium — and every name, price, billing interval and feature assignment in it is yours to change.
Starter runs two subscription tiers, counting the free one — so a free listing plus one paid plan. Growth and above are unlimited. The revenue view reports total revenue, MRR, active subscriptions and payment history, alongside how many listings are unclaimed, claimed or sponsored.
Eleven listing capabilities can be attached to a plan or sold one at a time from inside the business owner's own dashboard. Seven arrive pre-priced so there is something to sell on day one; every price and every plan assignment is yours to set.
Every listing on your site is a citation for that business — its name, address and phone number, consistent, on an indexed page. That is a thing local businesses already pay agencies for, and it is a reason to pick up the phone that has nothing to do with advertising.
The moment a business can log in and fix its own phone number, your directory stops being a scrape and starts being a product. Owners get their own authenticated area — with no WordPress account, no access to your admin, and no seat on your site.
Name, description, phone, email, website, per-day hours, seven social links, featured image, drag-reorderable gallery, video, CTA banner, highlight badges, and which reviews to display.
Approve, hold or reject reviews on their own listing, with totals, average rating and the star distribution.
Views, clicks and contact-button taps for their listing. Honest empty state until there is traffic to show.
Your catalogue, at your prices. This is where a free listing turns into a paying one without you sending an invoice.
Current plan, total paid, payment history, and a route to upgrade — handled by Stripe end to end.
Portal accounts live in their own table, not in wp_users. A listed business is never a WordPress user, never appears in your Users screen, and cannot be escalated into one. Sessions are a hashed 30-day token; the forgot-password flow returns the same response whether or not an address exists, so it can't be used to test which businesses have signed up.
The portal inherits the accent colour you set in settings, so the business owner stays inside your brand from the public listing all the way through to the payment screen.
Claims are approved by you. Reviews can be moderated by you. Your dashboard keeps the customer list, the plan filter and the counts of free versus paying accounts — the owner manages their listing, not your directory.
Every directory built on this plugin can publish one curated /partners/ page listing five to twenty directories in the same niche. Roofers link to roofers. The links point partner page to partner page — never homepage to homepage, never into someone's listing.
The reasonable first reaction to "a backlink network" is suspicion, so here is the difference stated plainly rather than buried.
Every row below mirrors the tier map in the plugin's own code. The free version on WordPress.org has no listing cap, no site limit and no locked buttons — it is a complete directory, not a trial. What you buy is scale, monetization, advanced SEO and the network.
| Capability | Free | Starter | Growth | Pro | Agency |
|---|---|---|---|---|---|
| Price | |||||
| One-time | $0On WordPress.org | $299 | $549 | $899 | $1,499 |
| Annual alternative | — | $129/yr | $199/yr | $329/yr | $549/yr |
| Scale & sites | |||||
| Listings | UnlimitedAdded manually | 10,000Bulk import ceiling | 30,000 | 50,000 | 50,000 per site |
| Sites | UnlimitedGPL, no activation system | 1 | 1 | 1 | Unlimited |
| Staging site included | Yes | Yes | Yes | Yes | Per site |
| Setup & data | |||||
| Setup wizard | Yes | Yes | Yes | Yes | Yes |
| Add listings manually | Unlimited | Yes | Yes | Yes | Yes |
| CSV / XLSX bulk import | — | Yes | Yes | Yes | Yes |
| Column mapping | — | Yes | Yes | Yes | Yes |
| Outscraper in-wizard scrape | — | — | YesYou pay Outscraper directly | Yes | Yes |
| Individual + bulk editing | Yes | Yes | Yes | Yes | Yes |
| Frontend | |||||
| Virtual page engine | Yes | Yes | Yes | Yes | Yes |
| Faceted search + map | Yes | Yes | Yes | Yes | Yes |
| Listing page (18 blocks) | Yes | Yes | Yes | Yes | Yes |
| Interactive Street View | Yes | Yes | Yes | Yes | Yes |
| Live working hours | Yes | Yes | Yes | Yes | Yes |
| Reviews (import + on-site) | — | Yes | Yes | Yes | Yes |
| Branding | |||||
| Accent colour | Yes | Yes | Yes | Yes | Yes |
| Typography | Yes | Yes | Yes | Yes | Yes |
| "Powered by" credit | Off by defaultOpt-in for everyone, never forced | Off by default | Off by default | Off by default | Off by default |
| SEO & indexing | |||||
| XML + HTML sitemaps | Yes | Yes | Yes | Yes | Yes |
| Schema on all URL levels | Yes | Yes | Yes | Yes | Yes |
| Google Indexing API | — | Yes | Yes | Yes | Yes |
| IndexNow | — | — | YesBing, Yandex, Seznam, Naver | Yes | Yes |
| Analytics & keywords | |||||
| Search Console + GA4 | Yes | Yes | Yes | Yes | Yes |
| Keyword tracker — base tabs | — | — | YesOverview, Keywords, Pages, Listings | Yes | Yes |
| Opportunities + cannibalization | — | — | — | Yes | Yes |
| Portal & monetization | |||||
| Claimable listings | — | Yes | Yes | Yes | Yes |
| Customer portal (5 tabs) | — | Yes | Yes | Yes | Yes |
| Stripe billing | — | Yes | Yes | Yes | Yes |
| Owner-set subscription tiers | — | 2Counting the free tier | Unlimited | Unlimited | Unlimited |
| 5 display-ad zones | — | Yes | Yes | Yes | Yes |
| Upgrade marketplace | — | — | Yes11 features, 7 pre-priced | Yes | Yes |
| Sponsored placement | — | — | Yes | Yes | Yes |
| The network | |||||
| Network Hub access | — | — | YesOpt-in, verification-gated | Yes | Yes |
| Support | |||||
| Docs + community Discord | Yes | Yes | Yes | Yes | Yes |
| Email support | — | Yes | Priority | Priority | Priority |
| Direct Discord access | — | — | — | Yes | Dedicated queue |
| Roadmap input | — | — | — | Yes | Yes |
You pay the difference, never the full price again. Starting on Starter costs nothing extra if you later need Pro.
A warning appears at 95% of the import ceiling, and new imports stop at 100%. Listings you already have keep serving — the front end never degrades.
Lifetime updates on one-time licenses, and 30 days to change your mind on any paid tier.
A feature page that only lists features is a sales document. These are the real edges of the product as it ships today. If one of them is a dealbreaker for you, we would much rather you found out here than after paying.
The free version is the whole engine. Install it, add a few businesses by hand, and see the URL structure, the schema and the search page appear on your own domain. Upgrade when you have a spreadsheet to import.