Title: Web Directory Free &#8211; AI powered
Author: Shamalli
Published: <strong>మే 23, 2018</strong>
Last modified: సెప్టెంబర్ 28, 2026

---

Search plugins

![](https://ps.w.org/web-directory-free/assets/banner-772x250.png?rev=3630060)

![](https://ps.w.org/web-directory-free/assets/icon-256x256.gif?rev=3631968)

# Web Directory Free – AI powered

 By [Shamalli](https://profiles.wordpress.org/mihail-chepovskiy/)

[Download](https://downloads.wordpress.org/plugin/web-directory-free.2.3.2.zip)

 * [Details](https://te.wordpress.org/plugins/web-directory-free/#description)
 * [Reviews](https://te.wordpress.org/plugins/web-directory-free/#reviews)
 *  [Installation](https://te.wordpress.org/plugins/web-directory-free/#installation)
 * [Development](https://te.wordpress.org/plugins/web-directory-free/#developers)

 [Support](https://wordpress.org/support/plugin/web-directory-free/)

## Description

Web Directory Free is a WordPress directory plugin that turns your site into a searchable
business directory. Sort listings into categories and locations, build your own 
listing form, drop the directory onto any page with a shortcode, and let visitors
search and browse – as a list, as cards, or on an interactive map.

In the free edition you add and edit listings from the WordPress admin, and visitors
browse, search and view them on the front end.

#### AI that writes the listing, and search by sentence

Add a key for a free AI service and a Write button appears beside the listing description:
it reads the entry name, its categories and its location, and drafts the text. Nothing
is sent anywhere until you enter that key, and the fields a person has to state 
as fact – prices, phone numbers, dates, opening hours – are never generated, because
a plausible invented price is worse than an empty one.

The free edition ships with Groq, which has a free tier that needs no payment card.
The separate **AI Assistant Add-on** widens it: OpenAI, DeepSeek, Mistral, OpenRouter
and Google Gemini as further services, a Write button on every text field on the
form instead of the description alone, and one control that fills every empty field
in a single request so the texts agree with each other.

The add-on also brings assisted search. A visitor writes what they are after as 
a sentence, “a cheap place open on Sunday that takes cards”, and it is read into
the search form’s own filters rather than into the keyword box: the category, the
location and the distance, the sliders and the dropdowns your form carries. Only
values the form actually offers are set, every one of them is shown above the results
as a chip the visitor can drop, and a filter they set or cleared themselves is left
exactly as they left it. A one-word search is answered the way it always was, without
asking the model at all. The add-on is a plugin of its own and is managed from the
same AI settings tab.

**Live demo:** [directory.salephpscripts.com](https://directory.salephpscripts.com/)

#### What you can build

A local business directory, a member or staff directory, a property or vehicle catalogue,
a venue or event guide, a service-provider index, a classifieds board. Anything 
that is a list of places or things with fields, categories and a map.

#### Organise your listings

 * **Categories and locations** are hierarchical, so Country, Region, City nests
   the way you expect, and each level gets its own page.
 * Each category can carry its own **marker icon and colour**, so the map reads 
   at a glance.
 * Every category and location page is a real URL with its own listings, search 
   and map.

#### Build the listing form yourself

The form builder is drag and drop: arrange fields in rows and columns, and add your
own on top of the built-in ones. Field types included:

 * Title, Content, Excerpt
 * Categories
 * Address and Map
 * Images & Videos – photos plus YouTube or Vimeo links, shown in one gallery with
   a lightbox
 * Contact info, Phone, Email, Website URL
 * Text/string, Number, Price
 * List – as a dropdown, radio buttons or checkboxes
 * Date-Time
 * Opening hours
 * File upload

Every field can be placed independently on the listing card, the listing page, the
search form and the map popup, so a field can be searchable without cluttering the
card.

#### Put the directory anywhere

Each directory has a page builder: choose which elements appear on the home, category,
location and listing pages, and in what order – search form, map, categories block,
listings grid, slider, breadcrumbs, page title, buttons.

If you would rather place things by hand, every element is also a shortcode: [webdirectory],[
webdirectory-search], [webdirectory-map], [webdirectory-listings], [webdirectory-
categories], [webdirectory-locations], [webdirectory-slider], [webdirectory-breadcrumbs],[
webdirectory-listing-page] and more. They work in the block editor, in Elementor
and in WPBakery.

#### Maps

 * Three engines: **Google Maps**, **Mapbox** and **MapLibre** with MapTiler tiles.
   Pick per site.
 * Marker **clustering**, so thousands of listings stay usable.
 * Per-category and per-listing **marker icons**.
 * Rich **popups** built from the fields you chose, with the listing photo.
 * A **map sidebar** that lists what is currently in view, and follows as the visitor
   pans.
 * **Radius search** from an address, in miles or kilometres.
 * Several layouts, including a full-width hero map and a sticky map beside the 
   listings.

#### Search that finds things

The search form is built the same way as the listing form: drag in the elements 
you want.

 * Keyword, categories, locations, address plus radius, rating.
 * Any custom field you added becomes a filter – a price range, a number range, 
   a date, a dropdown.
 * A “More filters” separator to keep the visible form short.
 * Sorting by newest, oldest, title, rating, random, or any numeric or date field
   you defined.
 * Grid and list views, with the visitor’s choice remembered.
 * With the AI Assistant Add-on, a whole sentence instead of a form: the filters
   above set themselves from it, and the visitor can drop any of them.

#### Ratings

Built in, no add-on: visitors rate a listing, the average shows on the card, the
listing page and the map popup, and rating becomes a search filter and a sort option.
Ratings can be switched off entirely.

#### Bulk work

 * **CSV import and export** for listings, including categories, locations, custom
   fields, images and video links. Import creates or updates; export round-trips.
 * **Demo content**: 5 ready-made directories with their maps and pages, and a listing
   form template, imported in one click.
 * A **thumbnail regeneration** tool for when you change image sizes.

#### Housekeeping

 * **Colour palette** controls so the directory matches your theme, with several
   presets.
 * **Email notifications** with editable subjects, each one switchable.
 * **Google reCAPTCHA** (v2 or v3) on the listing contact form.
 * A **diagnostics page** that checks the directory is wired up correctly and tells
   you what to fix if it is not.
 * An **install wizard** that creates the pages and the first directory for you.
 * **Translation ready**: ships a POT file for any standard gettext or PO editor.
 * Built for **large directories**: a dedicated search index and sort index keep
   tens of thousands of listings responsive, and both rebuild in the background.

This plugin uses external services (map providers and, if you enable it, Google 
reCAPTCHA). See the **External Services** section below.

#### What is not in the free edition

Front-end submission. In the free edition listings are created and edited in the
WordPress admin; visitors browse and search. The paid version adds front-end submission
with membership plans, listing expiry and renewals, and WooCommerce checkout for
paid, featured and upgraded listings.

**Get the full version:** [Web 2.0 Directory on CodeCanyon](https://codecanyon.net/item/web-20-directory-plugin-for-wordpress/6463373)

### External Services

Web Directory Free uses the following third-party services. Nothing is sent until
you use the matching feature:

 * Map providers (Google Maps, Mapbox, MapTiler / MapLibre) – when a map loads or
   an address is geocoded, the request (coordinates, the address being searched,
   and your API key/token) is sent to the provider you chose. See that provider’s
   terms and privacy policy.
 * Google reCAPTCHA – when you turn it on for the contact form, the visitor’s interaction
   is checked with Google. See Google’s terms and privacy policy.
 * Groq (AI writing) – only when you have entered a Groq API key and pressed a Write
   button. What is sent is the text the draft is built from: the entry name, its
   categories, its location and the fields already filled in. Nothing is sent without
   a key, and no key ships with the plugin. See Groq’s terms (https://groq.com/terms-
   of-use/) and privacy policy (https://groq.com/privacy-policy/).

The free edition does not contact the author’s servers: it gets updates through 
WordPress.org and does no license or “phone-home” checks.

## Screenshots

[⌊With the AI Assistant Add-on, a visitor types one sentence and the search form
fills itself: location, radius, category, price range and filters.⌉⌊With the AI 
Assistant Add-on, a visitor types one sentence and the search form fills itself:
location, radius, category, price range and filters.⌉[

With the AI Assistant Add-on, a visitor types one sentence and the search form fills
itself: location, radius, category, price range and filters.

[⌊Several directories on one site, such as restaurants, hotels and classifieds, 
each with its own address, labels, categories, layout and plans; a listing can appear
in one, several or all of them.⌉⌊Several directories on one site, such as restaurants,
hotels and classifieds, each with its own address, labels, categories, layout and
plans; a listing can appear in one, several or all of them.⌉[

Several directories on one site, such as restaurants, hotels and classifieds, each
with its own address, labels, categories, layout and plans; a listing can appear
in one, several or all of them.

[⌊The directory page builder: drag search, map, listings, categories, slider and
other blocks into rows, with a separate layout for each page and for tablet and 
mobile.⌉⌊The directory page builder: drag search, map, listings, categories, slider
and other blocks into rows, with a separate layout for each page and for tablet 
and mobile.⌉[

The directory page builder: drag search, map, listings, categories, slider and other
blocks into rows, with a separate layout for each page and for tablet and mobile.

[⌊Listing plans in wp-admin: how long a listing stays live, how many categories,
images and videos it gets, a sticky badge, and whether it has a map, claims and 
ratings.⌉⌊Listing plans in wp-admin: how long a listing stays live, how many categories,
images and videos it gets, a sticky badge, and whether it has a map, claims and 
ratings.⌉[

Listing plans in wp-admin: how long a listing stays live, how many categories, images
and videos it gets, a sticky badge, and whether it has a map, claims and ratings.

[⌊Google Maps, Mapbox or MapLibre, switchable at any time: icon, rating, price, 
photo or dot markers, and popups that show the fields you tick.⌉⌊Google Maps, Mapbox
or MapLibre, switchable at any time: icon, rating, price, photo or dot markers, 
and popups that show the fields you tick.⌉[

Google Maps, Mapbox or MapLibre, switchable at any time: icon, rating, price, photo
or dot markers, and popups that show the fields you tick.

[⌊The search form builder: drag in keyword, address, radius, categories and any 
custom field; every active filter shows above the results as a chip.⌉⌊The search
form builder: drag in keyword, address, radius, categories and any custom field;
every active filter shows above the results as a chip.⌉[

The search form builder: drag in keyword, address, radius, categories and any custom
field; every active filter shows above the results as a chip.

[⌊Listings as a grid or a list, sorted the way the visitor picks; the settings set
the columns per device, the card image and the fields each card shows.⌉⌊Listings
as a grid or a list, sorted the way the visitor picks; the settings set the columns
per device, the card image and the fields each card shows.⌉[

Listings as a grid or a list, sorted the way the visitor picks; the settings set
the columns per device, the card image and the fields each card shows.

[⌊A listing page with its custom fields: phone, WhatsApp and Telegram links, opening
hours, price, lists and files, and a group only logged-in users can see.⌉⌊A listing
page with its custom fields: phone, WhatsApp and Telegram links, opening hours, 
price, lists and files, and a group only logged-in users can see.⌉[

A listing page with its custom fields: phone, WhatsApp and Telegram links, opening
hours, price, lists and files, and a group only logged-in users can see.

[⌊The drag-and-drop listing form builder: add fields by type, arrange them in groups,
and show a group only for the categories you pick.⌉⌊The drag-and-drop listing form
builder: add fields by type, arrange them in groups, and show a group only for the
categories you pick.⌉[

The drag-and-drop listing form builder: add fields by type, arrange them in groups,
and show a group only for the categories you pick.

[⌊Adding a listing in wp-admin with the listing form you built; with the AI Assistant
Add-on, one click fills every empty field.⌉⌊Adding a listing in wp-admin with the
listing form you built; with the AI Assistant Add-on, one click fills every empty
field.⌉[

Adding a listing in wp-admin with the listing form you built; with the AI Assistant
Add-on, one click fills every empty field.

[⌊Star ratings in one click, shown on cards, popups and map markers, and listing
claims: approve one and the listing passes to its owner.⌉⌊Star ratings in one click,
shown on cards, popups and map markers, and listing claims: approve one and the 
listing passes to its owner.⌉[

Star ratings in one click, shown on cards, popups and map markers, and listing claims:
approve one and the listing passes to its owner.

[⌊Categories with their own icons and marker colours, and locations as a Country,
State, City tree; the primary location builds the listing URL.⌉⌊Categories with 
their own icons and marker colours, and locations as a Country, State, City tree;
the primary location builds the listing URL.⌉[

Categories with their own icons and marker colours, and locations as a Country, 
State, City tree; the primary location builds the listing URL.

[⌊Address input with autocomplete, a Get my location button and a map pin you can
drag, plus an address format you arrange yourself.⌉⌊Address input with autocomplete,
a Get my location button and a map pin you can drag, plus an address format you 
arrange yourself.⌉[

Address input with autocomplete, a Get my location button and a map pin you can 
drag, plus an address format you arrange yourself.

[⌊CSV import with column mapping and a resumable progress bar, full export, and 
demo content: 5 directories with their maps and pages, and demo listings for the
countries you pick.⌉⌊CSV import with column mapping and a resumable progress bar,
full export, and demo content: 5 directories with their maps and pages, and demo
listings for the countries you pick.⌉[

CSV import with column mapping and a resumable progress bar, full export, and demo
content: 5 directories with their maps and pages, and demo listings for the countries
you pick.

[⌊Email notifications you can switch off or reword, a test-email button, and a contact
form on every listing, protected by reCAPTCHA.⌉⌊Email notifications you can switch
off or reword, a test-email button, and a contact form on every listing, protected
by reCAPTCHA.⌉[

Email notifications you can switch off or reword, a test-email button, and a contact
form on every listing, protected by reCAPTCHA.

[⌊WPML and Polylang, with settings per language, and right-to-left languages: the
same listing card in English, French and Arabic.⌉⌊WPML and Polylang, with settings
per language, and right-to-left languages: the same listing card in English, French
and Arabic.⌉[

WPML and Polylang, with settings per language, and right-to-left languages: the 
same listing card in English, French and Arabic.

[⌊Every listing and category page gets its own title, description, share image and
structured data, alongside Yoast, Rank Math, All in One SEO, SEOPress or The SEO
Framework.⌉⌊Every listing and category page gets its own title, description, share
image and structured data, alongside Yoast, Rank Math, All in One SEO, SEOPress 
or The SEO Framework.⌉[

Every listing and category page gets its own title, description, share image and
structured data, alongside Yoast, Rank Math, All in One SEO, SEOPress or The SEO
Framework.

[⌊Seven colour palettes or your own colours, applied to every button, link and badge,
and an image lightbox.⌉⌊Seven colour palettes or your own colours, applied to every
button, link and badge, and an image lightbox.⌉[

Seven colour palettes or your own colours, applied to every button, link and badge,
and an image lightbox.

[⌊The setup wizard, migration from the previous version in resumable batches, and
one-click diagnostics.⌉⌊The setup wizard, migration from the previous version in
resumable batches, and one-click diagnostics.⌉[

The setup wizard, migration from the previous version in resumable batches, and 
one-click diagnostics.

## Installation

 1. Upload the plugin folder to /wp-content/plugins/, or install the ZIP via Plugins-
    > Add New -> Upload Plugin.
 2. Activate **Web Directory Free** from the Plugins menu.
 3. Open the settings page, pick your map engine and enter its API key/token (Google
    Maps API key, Mapbox token, or MapTiler key).
 4. Create your categories and locations, build the listing form, add listings, and
    place the directory on any page with the shortcode.

## FAQ

### Who can add listings in the free edition?

Listings are created and edited from the WordPress admin. Front-end submission (
with optional moderation, expiration and renewal) is part of the full version.

### Do I need API keys?

For maps, yes – each map provider needs its own key/token, entered on the settings
page. Keys are stored on your site and are never sent to us.

### Which map providers are supported?

Google Maps, Mapbox, and MapLibre with MapTiler tiles. You pick one on the settings
page.

### Is it translation ready?

Yes. A languages/w2dc.pot template is included; translate it with any standard gettext/
PO editor.

### How do paid listings and membership plans work?

Paid submission, membership plans and WooCommerce checkout come with the full version
of Web 2.0 Directory, not the free edition.

## Reviews

![](https://secure.gravatar.com/avatar/9f5e40f5d24b22391f05e84bc04bea51c978712d69b183438524fa9c6b603271?
s=60&d=retro&r=g)

### 󠀁[My Expectations](https://wordpress.org/support/topic/my-expectations/)󠁿

 [charlesluck59](https://profiles.wordpress.org/charlesluck59/) డిసెంబర్ 6, 2024

Whenever I’m faced with a paid version of a free plugin, my expectations usually
circle the drain. And when I’m dealing with free plugins, knowing that this is an
ecosystem of people that includes needy users who don’t really know what they’re
doing, it can spawn very frustrated and “rude” support, especially when corners 
were cut on the documentation.

![](https://secure.gravatar.com/avatar/bb37c58f69356bab5ee38ec4f2fdef4c369ad84b1e90e6c5fbf12c7b3cdde6d9?
s=60&d=retro&r=g)

### 󠀁[Very good support](https://wordpress.org/support/topic/very-good-support-349/)󠁿

 [Daniel](https://profiles.wordpress.org/danielschwarz/) మే 16, 2024

The plugin works well and does what it's supposed to. The support from the author
is very good, with a quick response.

![](https://secure.gravatar.com/avatar/fd6fb73c82efc1ef2d97ede96977596fa0e1ca468a77e4e419f42e376e37bdc9?
s=60&d=retro&r=g)

### 󠀁[Good plugin, Rude support](https://wordpress.org/support/topic/good-plugin-rude-support/)󠁿

 [shemakeswebsites](https://profiles.wordpress.org/shemakeswebsites/) ఫిబ్రవరి 19,
2024

The plugin itself isn't bad. Dated compared to the competition but robust. Rated
low for the developers conduct. He is very rude, arrogant, unprofessional and impatient.
This is the first time I've encountered a developer who gets "annoyed" when you 
reach out for support. What a shame – thanks a lot Mihail! EDIT: Because this author
did not like my review they contacted my client publicly on Facebook with half-truths
and also left me a bad review on my Google business profile. This has been a truly
disappointing experience – do not deal with unethical people, it's not worth your
time!

![](https://secure.gravatar.com/avatar/dc42a6814c5410c020a86a1d6b7739e9043663bf81f56eaa26afa8c62537c34e?
s=60&d=retro&r=g)

### 󠀁[Can not mobile responsive Custom Home1](https://wordpress.org/support/topic/can-not-mobile-responsive-custom-home1/)󠁿

 [anybooking](https://profiles.wordpress.org/anybooking/) సెప్టెంబర్ 28, 2023 1 
reply

Plugins is very good for directories, but there is responsive issue, please solve
the issue asap.When I see in mobile or in Tablet view the Map placed below the search
form which I can not reverse.

![](https://secure.gravatar.com/avatar/a6c22d678a3017f663aba4f37b481bfb722a030f1fbc5f32dfa20cc74cd64d36?
s=60&d=retro&r=g)

### 󠀁[Used as a Database](https://wordpress.org/support/topic/used-as-a-database/)󠁿

 [jayrtfm](https://profiles.wordpress.org/jayrtfm/) సెప్టెంబర్ 18, 2023

I am using the free version to make a database of social VR platforms (metaverse).
I am also using it as a database for places in the metaverse, and for various software.
There's over a hundred aspects that need to be searchable. The categories are allowing
me to easily separate out the types of databases, and the search forms are allowing
me to make clear searches. With a few tiny tweaks this could easily be marketed 
as a general database plugin. So far I have not run into any show-stopping bugs 
or lack of features.

![](https://secure.gravatar.com/avatar/8e5abc1cc164d132cdff1e4d65cc6ac15a56c7ca0d0dbb052f2e2bbfa3dd8fb6?
s=60&d=retro&r=g)

### 󠀁[The plugin is good and not difficult to set up.](https://wordpress.org/support/topic/the-plugin-is-good-and-not-difficult-to-set-up/)󠁿

 [vitos313](https://profiles.wordpress.org/vitos313/) డిసెంబర్ 23, 2022 2 replies

The plugin is good and not difficult to set up. But I can't figure out how to make
the photo upload field required. Can someone help me?

 [ Read all 20 reviews ](https://wordpress.org/support/plugin/web-directory-free/reviews/)

## Contributors & Developers

“Web Directory Free – AI powered” is open source software. The following people 
have contributed to this plugin.

Contributors

 *   [ Shamalli ](https://profiles.wordpress.org/mihail-chepovskiy/)

[Translate “Web Directory Free – AI powered” into your language.](https://translate.wordpress.org/projects/wp-plugins/web-directory-free)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/web-directory-free/),
check out the [SVN repository](https://plugins.svn.wordpress.org/web-directory-free/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/web-directory-free/)
by [RSS](https://plugins.trac.wordpress.org/log/web-directory-free/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.3.2 – 2026-09-28

 * New: three ways to choose categories on the listing form, set per form: a checkbox
   list, dropdowns level by level, or type-to-search where you can also add a category
   that does not exist yet, the way tags work. Existing forms keep what they had.
 * New: the form builder places fields on the same grid as the directory builder.
   Every field and group carries its own width buttons – full, 2/3, 1/2, 1/3 – so
   a field can be made wide where it sits instead of only as the first slot of a
   two-thirds row, and arrow buttons stretch a field down over the empty space below
   it, which keeps the column beside it from sliding under. Templates saved before
   this open and save unchanged.
 * New: the plan option “Enable map” is a real switch. Off, a listing of that plan
   gets no map on its page and no map field on the listing form; the address still
   places it. Existing plans keep their map: the option is stamped on as it was.
 * Improvement: with no Map field on the listing form, no map is drawn anywhere –
   there is nothing behind it. A listing with no plan follows the form.
 * Improvement: the price on a listing page can be styled the way it already could
   on cards – its own size, a badge, a rule above and below, an accent bar, a smaller
   currency sign. Set per element, in the Listing body element’s field list.
 * Improvement: a field stretched down in the builder fills that space on the form
   too – a tall category list, map or text box instead of a gap under a short field.
 * Improvement: the AI buttons all look alike and say why they are not ready yet:
   the “fill in the title and choose a category” note is now in one place, on the
   Write-all bar, instead of under every field.
 * Improvement: field groups on the listing form open and close smoothly instead
   of blinking out.
 * Improvement: the listing form is easier to read: field names are bold, fields
   side by side start at the same height, and the video link box is as tall as every
   other input.
 * Improvement: renewing a listing adds the plan’s period to the time it still has,
   instead of starting from the day of renewal. Renewing early no longer costs the
   remaining days; a listing renewed after it expired still gets a full period from
   that day.
 * Improvement: the price caption on a plan card follows the plan’s own active period
   when it is left empty, so a card cannot promise “per year” on a plan whose listings
   live a month. Your own wording still wins if you set it.
 * Improvement: every number on a plan is a limit now, and the limit a listing gets.
   0 means none – no images, no videos, no address, no categories, no tags – as 
   it did in the earlier version and as the plan card already said, instead of quietly
   handing the listing form’s own limit back; a listing shows at most as many images
   and videos as its plan allows, the form’s own limits apply only to a listing 
   with no plan, and plans that never carried a number keep exactly what they had.
 * Improvement: the listing form in wp-admin is wider, up to 1100px instead of 768px,
   so the fields use the box rather than a narrow column down the middle of it. 
   Most noticeable on a screen set to one column, where the box is the full width
   of the page.
 * Improvement: ticking Closed or 24h in Opening hours no longer loses the day’s
   times while the form is open. Unticking puts them back, so a day switched on 
   and off again does not have to be entered twice.
 * Improvement: reloading a listing form, or saving one in wp-admin, no longer throws
   the page back to the top. The form remembers how tall it was and how far down
   the page stood, and puts both back as the fields arrive, instead of leaving the
   view to be restored against a page that is still empty.
 * Fix: “N listings included” is shown only on plans that can actually grant the
   package, which needs the full version’s payments. In the free version the line
   is no longer printed; the setting itself is kept.
 * Fix: a listing shows only the fields its plan includes – on its page, in map 
   popups, the sidebar, cards and marker labels. A listing moved to a smaller plan,
   by hand or when a paid period ran out, went on showing the fields it no longer
   paid for; they come back if it returns to the plan.
 * Fix: a listing can no longer be saved with a field its plan does not include.
   The form already hid such fields, but the server accepted them.
 * Fix: the plan’s Logo enabled switch, now next to Images number, works. Turned
   off, that plan’s listings show no logo on cards, in map popups, the map sidebar
   or on image markers, and the listing form stops offering a logo choice; plans
   migrated from the earlier version get back the setting their level had.
 * Fix: on Settings, Plans the “show as feature” checkboxes sit on the field’s label
   line again instead of on top of the input below.
 * Fix: the plan option “Who can view listings” works. A visitor the plan shuts 
   out opens the listing page and sees its title with a note instead of the content;
   the listing itself stays in the directory, the search and the map. Before, the
   setting was saved but never applied.
 * Fix: a plan’s “Certain locations” is enforced when a listing is saved, not only
   in the form. A location outside the plan’s list is dropped from the address instead
   of being stored; the address itself is kept.
 * Fix: the plan groups in the plans constructor are shaded again, so each group
   reads as a block.
 * Fix: a plan’s limits on categories and tags now hold on every save, not only 
   in the listing form: quick edit, bulk edit, a CSV import and a programmatic save
   are clamped too, and the “Certain categories” subset with them.
 * Fix: a plan with “Logo enabled” off no longer shows the logo in the map’s info
   window or as the page’s share image; every other surface already honoured it.
 * Fix: on WPML and Polylang sites a translated listing follows its plan’s limits.
   The plan is stored on the main version, so a translation read as having no plan
   at all.
 * Fix: a plan with “Listings have own pages” off really leaves its listings without
   one: the listing URL answers 404 instead of opening the page, and the slider 
   stops linking to it. Before, only the title on a card was unlinked while the 
   page stayed open to anyone with the link.
 * Fix: the plans box on Edit Directory fits a narrow column. Each plan keeps its
   whole name on the first line, next to Expand, and its summary moves to a line
   of its own, instead of the name shrinking to three letters and the summary standing
   in a column. On Settings, Plans the plan changes table scrolls inside the page
   instead of pushing the plans past its right edge.
 * Fix: the “Use gradient on buttons” option works again: the main buttons fade 
   from the button primary color to the button secondary color, reversed on hover,
   and keep their icons.
 * Fix: importing the demo listing form no longer empties your listing form, which
   left listing cards showing only the image and imported listings without their
   custom fields. A form already emptied this way gets the default fields back.
 * Fix: demo directories keep their card fields and other element settings after
   import.
 * Fix: “Geocode addresses” in the CSV import now puts listings on the map from 
   their address, with Google, Mapbox or MapTiler. Addresses it cannot place are
   listed in the import results.

#### 2.3.1 – 2026-09-22

 * New: the price can stand out in map popups, the sidebar and cards: badge, divider,
   accent colour, smaller currency sign and font size. On cards, a price placed 
   last sits on the bottom edge, so prices line up.
 * New: “Hide from anonymous users” for field groups. Logged-out visitors see the
   group title and a login prompt instead. Migrated groups keep this setting.
 * New: WPML and Polylang support. Maps, listings, search and counts show the page’s
   language. Each listing keeps one set of markers and one search-index entry for
   all its languages. Listing fields are copied to translations.
 * New: settings per language on WPML and Polylang sites. Emails, AI prompts, the
   address format, the map language and a few more can differ per language. Emails
   go out in the listing’s language.
 * New: form templates per language on WPML and Polylang sites. Field names, help
   texts and option labels can be translated.
 * New: plans per language on WPML and Polylang sites. Plan names, descriptions,
   badges and feature lines can be translated.
 * New: directories per language on WPML and Polylang sites. The directory name,
   URL segments and form labels can be translated. Each language gets its own URLs.
 * New: map search forms per language on WPML and Polylang sites.
 * New: CSV import and export on WPML and Polylang sites. Translations go in the
   same row, in columns like title:fr or categories_list:fr.
 * New: image and video captions per language on WPML and Polylang sites.
 * New: the Submit button reads “Submit new …” with the directory’s singular label,
   as in earlier versions.
 * New: right-to-left languages (Arabic, Hebrew, Persian). Directory pages, cards,
   popups, the sidebar, forms and the lightbox read from the right.
 * New: “No maps” map engine, first in the list and the default on new installs.
   The directory then shows nothing about maps. Saved maps are kept for later. Legacy
   sites without maps migrate to it.
 * Improvement: the migration keeps how listing images looked: logo fit, ratio, 
   list width and gallery crop.
 * Improvement: the demo export works on WPML and Polylang sites.
 * Improvement: CSV category, location and tag columns also accept term IDs.
 * Improvement: on WPML and Polylang sites, a new listing is saved in the language
   of its form.
 * Improvement: on a listing page built from elements, category and directory links
   open without a full reload.
 * Improvement: form builder: a group’s categories are picked like a field’s, with“
   Show for all categories”.
 * Improvement: the setup wizard now ends by creating the directory page (“My First
   Directory” with [webdirectory]), or opens it if it exists. No map step.
 * Improvement: the plugin’s admin menu items stay together.
 * Improvement: a new Buttons element has all buttons on.
 * Improvement: the Reset page also deletes directories, plans, claims and terms,
   and trashes the directory pages. “Everything” also removes hidden and per-user
   data. Settings of the old version are kept until it is migrated.
 * Improvement: sticky listings now come first in every sort except Random, Distance
   and Relevance.
 * Performance: a directory page without a map runs one search instead of two.
 * Fix: sorting by date is correct on sites not in UTC.
 * Fix: the CSV import reads the image captions column.
 * Fix: map popups no longer indent fields without an icon.
 * Fix: a field with its icon turned off no longer leaves a gap.
 * Fix: the “Get directions” button looks right again.
 * Fix: fields line up with icons in the map sidebar and on cards.
 * Fix: other plugins’ links on a listing page keep their own colours.
 * Fix: Card image fit also works in list view.
 * Fix: a site migrated from Web 2.0 Directory keeps its maps. Sites already migrated
   get them back once.
 * Fix: a bold or italic directory shortcode no longer breaks the listing page.
 * Fix: a field group shows only when one of its fields does. The listing page hides
   fields meant for other categories.
 * Fix: the two handles of a price or number slider can no longer meet.
 * Fix: the REST SQL profile (?w2dc_sql_debug=1) works after redirects and can be
   turned on from an admin page.
 * Fix: sorting by title is fast on large directories.
 * Fix: an untouched price or number slider no longer filters out listings without
   a price.
 * Fix: no broken Purchase code row in the free edition’s settings.
 * Fix: the free edition no longer offers front-end submission. Its settings are
   dimmed and marked as full-version features.
 * Fix: the form template editor no longer shows a duplicate “Edit Template” heading.
 * Fix: no grey gap under the wizard bar on the Form Builder step.
 * Fix: the wizard bar stays visible above the block editor.
 * Fix: the Submit button is hidden when the directory’s “Allow submission” is off.
 * Developer: the sidebar and cards now use `w2dc-listing-content__*` classes instead
   of `w2dc-popup__*`. Update custom CSS that targets them.
 * Developer: the `popup` field formatters are renamed to `listing_content`. The
   old names still work.

#### 2.3.0 – 2026-09-16

 * New: the plugin is now Web Directory Free – AI powered. AI writes your listing
   text. Add a key for an AI service – Groq ships with the plugin and its free tier
   needs no payment card – and a Write button appears beside the description: it
   reads the entry name, its categories and its location, and drafts the text. Nothing
   leaves the site until a key is entered, and the fields a person has to state 
   as fact – prices, phone numbers, dates, opening hours, web addresses – are never
   generated, because a plausible invented price is worse than an empty one. Settings,
   AI is where the keys, the per-field switches and the per-visitor limits live.
 * New: the AI tab says whether the AI Assistant Add-on is installed, installs and
   activates it for you when it is not, and tells you when a newer one has been 
   published. One button on that tab, with no trip to the Plugins screen; the zip
   is still there to download if your server will not let WordPress write to its
   own plugins folder. The add-on brings OpenAI, DeepSeek, Mistral, OpenRouter and
   Google Gemini, a Write button on every text field on the form rather than the
   description alone, one control that fills every empty field in a single request
   so the drafts agree with each other.
 * New: assisted search. With the AI Assistant Add-on installed, a visitor can write
   what they are after as a sentence – “a cheap place open on Sunday that takes 
   cards” – and it is read into the search form’s own filters: the category, the
   location and the distance, the sliders and the choice fields your form carries.
   Nothing is invented; only values the form actually offers are set, and every 
   one of them appears above the results as a chip the visitor can drop. A filter
   they set or cleared themselves is left exactly as they left it, so the sentence
   fills in the rest rather than overruling them. A one-word search is answered 
   the way it always was, without asking the model at all, and the form can mark
   the fields the AI filled in if you want it to.
 * Improvement: a price is shown in bold and in the primary colour, so the number
   a visitor is looking for stands out from the rest of the card.
 * Improvement: a position found with “Find my location” is kept to about a metre
   rather than to eleven centimetres, everywhere it is kept – in the browser, and
   in what the search sends on. The link you can share still blurs it to roughly
   a hundred metres.
 * Fix: a field carries an icon only when you chose one for it. Several field types
   drew a built-in icon of their own on the listing card and in the map popups, 
   so switching the icon off in the form builder changed nothing, and fields you
   had never given an icon to had one anyway.
 * Fix: the icon you picked for a map marker is drawn again. A marker saved by name
   rather than by its full class came out as an empty pin, on the map and in the
   small preview beside it.
 * Fix: fields line up down one edge whenever any field in the block has an icon,
   so a field without one no longer sits half a character to the left of its neighbours.
   Categories, tags and rating are laid out on their own and keep their full width.
 * Fix: an icon is stored by its name rather than under the plugin’s own prefix,
   so a form template exported from one site carries its icons into another. Templates
   already saved are converted once, on an admin page load.
 * Fix: the start position you pick for a map in the form builder is stored to about
   a metre, rather than with the fifteen digits the map engine hands over. An existing
   position is shown at that precision the moment the form builder opens.
 * Fix: a new map starts at the zoom the form builder’s start position was framed
   at. The fraction was being dropped rather than rounded, so a preview framed at
   7.66 handed the new map a 7, half a level wider than what you set up.

#### 2.2.2 – 2026-09-14

 * New: the search can be kept in the page address. Turn it on for a search form
   and whatever the visitor searched for is added to the address, so a filtered 
   result can be bookmarked, sent to someone, or opened in a new tab and come back
   exactly as it was. Off by default, so a form meant to start clean every time 
   is unchanged. A position found with “Find my location” is rounded to about a 
   hundred metres before it goes anywhere near a shareable link, and a filtered 
   address is marked as one search engines should follow but not index, so one page
   does not turn into thousands of near-duplicates.
 * New: the filters currently in force are shown above the results, one chip each,
   and a click on a chip drops that filter and searches again. Every filter appears
   there whatever set it: a dropdown, a slider, a saved draft, or a link somebody
   sent you. Several categories give several chips, so dropping one does not drop
   the rest. The chips describe the search that actually ran, not whatever is typed
   into the form at that moment.
 * New: the search element of a directory carries the same “keep the search in the
   address” switch as the search form of a map, set per element in the directory
   builder.
 * New: a phone number and an email address on a listing are now links: the number
   dials, the address opens a mail window, and a number whose mode is set to WhatsApp,
   Viber or Telegram opens that app instead. This works everywhere a field is shown–
   the cards in a list or a grid, the map popups and the listing page. The three
   messenger links are only built from a number written in international form, one
   that starts with + or 00, because none of those services checks what it is handed:
   a number missing its country code is not refused, it is read as belonging to 
   another country, and the visitor is put through to a stranger. Such a number 
   is left as plain text in those three modes; as an ordinary phone number it still
   dials.
 * New: a Relevance order in the sort list. When a phrase is searched the results
   are ranked by how well they match it, which they always were, but the dropdown
   went on saying “Newest first” while showing something else. Relevance now appears
   as its own row while a phrase is being searched, is selected on its own when 
   a new phrase arrives, and disappears when the phrase does. Where an address is
   searched too, distance still wins: a named place is the more specific request.
 * Improvement: Tools, Site Health now answers “can this server reach the services
   this site uses”. Every key on a WordPress site is checked by a request made FROM
   the server, so when those requests cannot leave the building – most often because
   wp-config.php blocks them – every key test fails in a way that looks like a rejected
   key. The new check names the exact cause instead: the setting doing the blocking,
   the address to allow, a missing or ancient connection library, or a name that
   does not resolve.
 * Improvement: the key tests on the settings screens say the same thing before 
   they blame a key. Testing a map-engine key or the reCAPTCHA keys now starts by
   checking that this server can reach the service at all, so a blocked host is 
   reported as a blocked host rather than as a key that does not work.
 * Improvement: a keyword search now matches ANY of its words, closest matches first.
   Every word used to be required, so a single word no business writes about itself
   emptied the page: “shopping up to 100 dollars” asked for listings containing “
   dollars” and returned nothing, out of a hundred that matched the rest of it. 
   Listings matching the whole phrase come first, then those matching part of it.
   The suggestion lists that appear as you type still require every word, or they
   would grow while you type instead of narrowing.
 * Improvement: pressing Enter in the keyword or address box runs the search. The
   form carried no submit control, so the key most visitors try first did nothing
   at all.
 * Fix: a radius search no longer loses its circle or jumps the zoom. After a successful
   search the map was put back to the zoom saved with it whenever the two were more
   than two levels apart, and a wide radius at that zoom is several screens across,
   so the ring sat off-screen and read as gone; for a related reason the centre 
   moved on some searches and not on others. The map now frames the searched circle,
   and only when that circle has actually moved, so running the same search again
   with another filter changed leaves the view where you put it.
 * Fix: the expiration emails are being sent again, and listings past their date
   are being expired again. The hourly check looked for the expiration date under
   the key the plugin used to write and stopped seeing the one it writes now, so
   a listing submitted, imported or edited after the update dropped out of it entirely:
   no pre-expiration notice, no expiration notice, and no change of status. It now
   reads both, so listings of either vintage are found.
 * Fix: a listing the hourly check expires is now recorded as expired everywhere
   the plugin looks, rather than under one of the two status keys, so the badge 
   and the front-end filtering agree about it.

#### Earlier versions

 * The full version history is in changelog.txt, included with the plugin.

## Meta

 *  Version **2.3.2**
 *  Last updated **1 రోజు ago**
 *  Active installations **300+**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/web-directory-free/)
 * Tags
 * [AI](https://te.wordpress.org/plugins/tags/ai/)[directory](https://te.wordpress.org/plugins/tags/directory/)
   [listings](https://te.wordpress.org/plugins/tags/listings/)[maps](https://te.wordpress.org/plugins/tags/maps/)
 *  [Advanced View](https://te.wordpress.org/plugins/web-directory-free/advanced/)

## Ratings

 4.1 out of 5 stars.

 *  [  13 5-star reviews     ](https://wordpress.org/support/plugin/web-directory-free/reviews/?filter=5)
 *  [  2 4-star reviews     ](https://wordpress.org/support/plugin/web-directory-free/reviews/?filter=4)
 *  [  1 3-star review     ](https://wordpress.org/support/plugin/web-directory-free/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/web-directory-free/reviews/?filter=2)
 *  [  3 1-star reviews     ](https://wordpress.org/support/plugin/web-directory-free/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/web-directory-free/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/web-directory-free/reviews/)

## Contributors

 *   [ Shamalli ](https://profiles.wordpress.org/mihail-chepovskiy/)

## Support

Issues resolved in last two months:

     9 out of 9

 [View support forum](https://wordpress.org/support/plugin/web-directory-free/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.salephpscripts.com/)