Turn any WordPress site into a full business directory: listings with categories, locations, opening hours and galleries, a searchable, filterable directory in grid or list layout, star reviews, private enquiry forms that never expose an email address, claim-your-listing, front-end submissions with an owner dashboard, featured and verified badges, CSV import and LocalBusiness schema on every listing.
v1.0.0 · WordPress 6.2+ · PHP 7.4+ · free
Listings live in their own post type with categories, locations and tags, and each one carries the details a visitor actually wants: phone, website, street address with a get-directions link, seven-day opening hours, price range, year established, social profiles, a video link and a photo gallery. Drop the [dbdir_directory] shortcode on a page and visitors get keyword search, category and location filters, sorting by featured, newest, name or rating, pagination, and a grid / list toggle.
Every listing page prints LocalBusiness JSON-LD - address, opening hours and the aggregate review rating included - so search engines see a proper business entity, not just a page of text.
Visitors or logged-in users (your choice) submit listings from the front end, optionally held for your review. Owners get a dashboard with their listings, view counts, ratings and received enquiries, plus front-end editing. Business owners can claim an unclaimed listing; approving the claim transfers it to them and awards the Verified badge. Star reviews (one per email per listing) and a private enquiry form - relayed by email, address never shown - round it out, and every public form is protected by a nonce, a honeypot and rate limiting.
The visitor surfaces and the settings that control them.




Passes the WordPress Coding Standards with zero errors and zero warnings, clean against the official Plugin Check, and covered by an automated test suite plus real-browser verification of every flow.
Every public form - submissions, reviews, enquiries and claims - is protected by a nonce, a honeypot that silently swallows bots, and per-connection rate limiting.
Nothing loads from third parties and no data leaves your site. The optional get-directions link is a plain link the visitor may click; your pages embed nothing remote.
Create three pages holding the [dbdir_directory], [dbdir_submit] and [dbdir_dashboard] shortcodes, then pick them under Directory, Settings.
Set up the categories and locations your directory filters by - or let the CSV import create them for you.
Create listings in the admin with the full details meta box, or bulk-import a CSV under Directory, Import / Export.
Visitors browse, filter, review and enquire; businesses claim and submit listings; you approve from the admin. Featured badges and expiry keep the directory fresh.

Why a directory. A well-run local or niche directory earns links, ranks for hundreds of long-tail searches and gives businesses a reason to come to you - reviews, enquiries and claims turn a list of names into a destination.
Free, and ready to install today.
Free · WordPress 6.2+ · PHP 7.4+ · on the official WordPress.org plugin directory
Get it on WordPress.orgInstall it from your dashboard under Plugins → Add New by searching for "Demfilz Business Directory", activate, and follow the setup guide.
Yes. The directory renders through shortcodes and the content filter, so it inherits your theme's layout and typography. The cards force readable colours on their own white backgrounds, so it stays legible on dark themes too.
Yes. Set who can submit to guests in the settings. Guest submissions are still protected by a nonce, a honeypot and rate limiting, and can be held for review before anything goes live.
No. The contact email on a listing is stored privately and only used to relay enquiry form messages, so businesses get their leads without their address ever being scraped.
Visitors leave a star rating and a written review - one per email address per listing. Reviews can be held for moderation, and each listing shows its average rating and review count on cards and on the listing page, plus AggregateRating structured data for search engines.
Directories usually launch with listings the site owner created. A logged-in business owner can claim their listing from its page; you approve the claim in the admin and ownership transfers to them, they get the Verified badge, and they can manage the listing from their dashboard.
Mark any listing as Featured in the admin: featured listings get a badge and sort first in the directory. How you charge for that is up to you - and a Pro add-on that sells submissions and featured upgrades through Stripe Checkout is available from demfilz.
Yes. Directory → Import / Export takes a CSV with your listings - name, description, category, location, tags, contact details, price range and flags - and creates the categories, locations and tags for you as it imports. Export produces the same format.
Custom fields, paid listings, integrations, a matching marketplace - this is the kind of thing we build. Tell us what your directory needs and we'll come back with a plan and a fixed quote.