Author Archive

AI Smart Search

Listeo AI Search brings natural language search to your directory website with OpenAI. Users can search using everyday phrases instead of just keywords.

Try it yourself on our demo: https://listeo.pro/

Key Benefits:
Natural Language: Users can search like they talk: cozy restaurant with outdoor seating.
AI understands context and finds businesses that meet user needs.
Analytics Insights: Track popular searches to understand your users better
What Users Search For Standard WordPress Search Listeo AI Search
romantic dinner spot
❌ No — “romantic” rarely appears in restaurant listings ✅ Finds fine dining, intimate cafes, date-night restaurants
dog grooming services
Pet care needs
⚠️ Maybe — only if exact words “dog grooming” appear ✅ Finds pet salons, mobile groomers, veterinary services
kids birthday party venue
❌ No — exact phrase not in venue descriptions ✅ Shows party halls, entertainment centers, kid-friendly venues

The plugin creates a vector database by turning each listing into an embedding – a unique numerical representation capturing its meaning. User queries get converted the same way, then matched mathematically to find the closest results.


Installation

  1. Make sure you set your language in Dashboard → Settings → General
  2. Go to https://purethemes.net/license/ and download Listeo AI Search plugin
    You’ll need purchase key: How to find my license key?

  3. Upload listeo-ai-search.zip in WP Dashboard → Plugin → Add New 

Configuration

  1. Navigate to Listeo AI Search in your WordPress sidebar.
    Add your Open AI api key and configure plugin to your needs.
    How to create Open AI API key? →

  2. Then go to Database Management tab and click “🚀 Start Generation“.

    This step is important. It creates embeddings for each of your listings and stores them in a vector database. This might takes couple of minutes.

  3. Once database is ready go to Listeo Editor → Search Forms and add “AI Field” to your search forms
  4. and that’s it 🙂 “AI Quick Picks” allow visitor to quickly get best 3 matching listings , it’s optional setting.
  5. Statistics tab – comprehensive analytics and insights

FAQ

  • I see not enough or no search results at all

  • Why it's good but not perfect?

  • What does 'Minimum Match Percentage' control?

  • What does 'Enable AI Location Filtering' do?

  • Should I enable 'Query Expansion'?

  • What data is processed to OpenAI in Listeo AI Search?


Plugin Changelog
1.1 - Clear cache button, added FAQ and pricing menu to embeddings, test Open AI api key button
1.0 - Initial release

AI Reviews Highlights

AI Review Highlights plugin reads Google Reviews (if enabled in Listeo Core) and regular reviews and uses AI to generate clear summaries of the most common pros and cons.

Visitors get a quick overview instead of scrolling through reviews.

  1. Go to https://purethemes.net/license/ and download AI Review Highlights plugin
    You’ll need purchase key: How to find my license key?
  2. Upload ai-review-highlights.zip in WP Dashboard → Plugin → Add New and install & activate.
  3. Navigate to Listings → AI Reviews Highlights in your WordPress sidebar.
    Configure plugin to your needs and add your Open AI api key
    How to create Open AI API key? →

  4. Then visit Generate & Manage tab. You can generate highlights for all or individual listings.

Google API Limitations

The Google Places API enforces a strict limit of 5 most recent reviews per location from Google Places API so AI an see only 5 latest reviews. This is a hard limitation imposed by Google and cannot be increased through paid plans or special requests.

It some scenarios it could generate misleading review highlights, for an example:
If there are no native Listeo reviews and last 5 Google Reviews are negative while overall rating of a place is e.g. 4.8 AI review highlight might show mostly negative highlights


Elementor Widget

If you modified single listing page using elementor you will need to add AI Review Highlights widget manually:


Plugin Changelog
1.3 - Added Elementor "AI Review Highlights" widget
1.2 - Added AI Model Selection
      Added option to hide highlights for a listing if there are more than X negative points
1.1 - Improved handling negative reviews
1.0 - Initial release

Listing Data Scraper


Launch a directory that looks alive from day one!
The Listeo Data Scraper fills your site with real listings and rich content in minutes.

It uses the Google Places API to fetch places and the OpenAI API to generate SEO‑friendly descriptions based on Google Reviews.

Just type what you want to import – e.g. “coffee shop in New York” – and let the magic happen.

Data available via Google Places API:
1. Business Name
2. Full Address
3. Geolocation (Latitude & Longitude for Map Pin)
4. Phone Number
5. Website
6. Google Reviews
7. Daily Opening Hours
8. Photos
9. Google Place ID
10. Google Business Types

💰 Cost Example: Importing 100 businesses typically costs $2-4 in Google API fees. Start with small batches and monitor your Google Cloud billing closely.

💡 Text Search costs vary – Finding 50 new listings might require searching through 100+ results due to duplicates. Google returns the same results for repeated searches, so use different queries to find more listings.

📊 Monitor usage – Set up Google Cloud billing alerts at $5, $25, and $50 thresholds

📌 You can find detailed usage here:
Quotas & System Limits
Google Maps Platform Core Services Pricing


How to use?

⚠️ Heads up! This is a community-made plugin adapted for Listeo. It uses Google Places data and storing that data in WordPress might go against Google’s Terms.

Use it responsibly – heavy or improper use could lead to API limits or account suspension. We do not take responsibility for any issues that come up. 🙂

  1. Go to https://purethemes.net/license/ and download Listeo Data Scraper plugin
    You’ll need purchase key: How to find my license key?
  2. Upload listeo-data-scraper.zip in WP Dashboard → Plugin → Add New and install & activate.
  3. Find Listeo Scraper in your WordPress sidebar go directly to Settings page where you can tweak some settings. We will not describe each setting here because they are well explained on plugin’s page. 🙂
    You’ll need two API keys – one for Google Places and one for OpenAI (optional). Follow the instructions below to set them up:
    Creating Google Maps API Key → – key should be restricted to your domain
    How to create Open AI API key? →

    We do not take responsibility for any charges from Google related to your usage. Please monitor your API usage regularly. 🙂

  4. Then go to “Import” page, specify business type/service you’d like to import and where.

    Hit “Run Import” and let the magic happen. For an example, we imported 10 “gym&fitness” places with AI generated description and 1 photo per listing.
    If you selected “Let me manually select places to be imported” you will need to confirm listings to be imported

  5. Once done you should see imported listings

    and here’s sample listing after import with all necessary data including AI-generated SEO friendly description
  6. Missing Google Reviews after import? You need to enable them in theme settings. How to enable Google Reviews?

FAQ
  • How much does it cost to import listings?

  • How can I import more listings?

  • Why can't I import all listings in my city at once?

  • Why does finding 20 new listings may require more than 20 API calls?

  • Photo storage and compliance with Google’s Terms of Service

  • How do 'Google scraping services' advertise openly on Google Ads if Google terms are so strict?

  • Why Google reviews are cached and not stored in database?

Plugin Changelog
2.0 - Added "regenerate images" option
1.9 - Added GPT-5-Mini model and description length setting 
1.8 - Fixed Google Reviews language and 24h opening hours format 
1.7 - Duplicated listing detection fix
1.6 - Option to manually select listings to be imported
1.5 - Added "Test Key" button to test google api key
1.3 - Added option to display pictures from Google servers
1.2 - Added "assign to region" dropdown
1.1 - Added "assign to category" dropdown
1.0 - Initial release

Listings Manager

If you want to extend listing management and AI features even further, check Listeo Listings Manager plugin developed by a fellow Listeo user  🙂 This is extra paid extension (but has free tier too) and we are not authors of it. ⬇️

Listeo Listings Manager

How to create Open AI API key?

  1. Create an OpenAI Account

    Go to https://openai.com
    – Click the “Log In” button (top right corner) and select API Platform.
    – Register using your email, Google, or Microsoft account.

    After signing up, navigate to API Keys https://platform.openai.com/api-keys
    – Click the “Create new secret key” button.
    – This begins the setup process for your API key.

  2. Generate Your API Key

    In the “Create new secret key” dialog:
    – Enter a name for your key (e.g., demo API key) to identify it later.
    – Choose the project (default is fine unless you have multiple projects).
    – Click “Create secret key”

    Your new key will be shown only once — copy it immediately.

    This key is what you’ll use in our data scraper and other tools that are coming soon

  3. Top up balance

    Minimal amount is $5 – rest assured it $5 will lasts forver in case of our listing scraper + AI review highlights 😉

    Go to Billing and click Add credits to balance

Regions Importer

This tool automatically adds all regions and major cities for any country in one click. It uses AI to fetch and create the full list—no manual input needed.

How to use?

  1. Navigate to Listings →  Regions Importer plugin
  2. Pick Your Country & What to Import

    Select Country: Don’t see your country? Just add its language pack in Settings → General

    Choose Import Level:
    Regions → 5 Cities: This is the default. It gives you states with their 5 biggest cities nested underneath.
    Regions Only: This just gives you the states.

    Click Import Regions, wait a minute or two and done.

  3.  The page will refresh with a success message. You can now find all your new regions and cities under your ‘Regions’ taxonomy in Listings → Regions).
    And this is how regions look like in front-end with drilldown dropdown, nicely nested list.
Plugin Changelog
1.0 - Initial release

Do I need Dokan & multi-vendor marketplace feature?

You only need Dokan if you want to enable the multi-vendor marketplace feature, which allows multiple sellers to list and manage their own products or services.

If you’re only interested in the listings and booking functionality, these are already built into the theme and do not require Dokan. You can simply disable the Dokan plugin if you don’t need the multi-vendor marketplace.


Use Case

For example, in this listing: https://listeo.pro/listing/georges-barber-shop/ the owner not only advertises their local business but can also run a store with barber accessories: https://listeo.pro/store/barbershop/

How to Translate a Theme Manually

We’ve got ready to use translation files however if you’d like to do it precisely on your own here’s guide

We assume that your WordPress is already in your language. If not, go to Dashboard → Settings → General and change the Site language.


Before you start!

To achieve 100% translation you have to translate Listeo Theme and following plugins: Listeo Core and Listeo Elementor

Loco Translate is for translating website from english to another language. If you’d like to have multi-language switcher consider using TranslatePress or Weglot plugin.


Let’s Start

Install plugin  Loco Translate.

Loco Translate

After successful installation go to Loco Translate → Themes you should see this screen:

Click Listeo (not Listeo ChildTheme) and in next step click New Language

Choose your language and select a location, makes sure it’s either System or Custom location, avoid Author location, this way you won’t lose translations if you update theme/plugins (more about it)

Click Start Translating. You should see that screen where you can translate each string that is used in theme

When you’re done, click Save, and it’s also recommended to click both “Po” and “Mo” buttons to save them on your PC as a backup.


Do I need to translate every word manually?

You can either translate each string manually (best accuracy) or use the Loco Auto Translate plugin. Some translations may need correction, but they also offer pro version which provides access to Google, DeepL, ChatGPT, and Gemini for more accurate translations.

Automatic Translate Addon For Loco Translate


Translate Plugins

To achieve 100% translation you also need to translate Listeo Core and Listeo Elementor plugins. The process is the same as translating theme. Go to Loco Translate → Plugins and start there.

How to disable time-picker for services?

Generally each booking for service listing type requires time to be set for a booking, this is either set by selecting available time-slot or picking time from time-picker.

If for some reason you don’t want users to be able to see/select the time picker option, here’s a small snippet that will get rid of it.

You can add code into your functions.php file in child-theme or use WP Code plugin:

How to add PHP snippets?

 

add_filter('listeo_core_service_timepicker_value', 'default_time');
function default_time($time)
{
	//return current time	
	return date('H:i');

}

Then go to Appearance -> Customize -> Additional CSS add this

.col-lg-12.listeo-service-timepicker {
display: none;
}

Flag / Report Listing

Listeo features a ‘Flag / Report Listing‘ option that allows users to report listings that violate the website’s terms. You can enable this feature in Listeo Core → Single Listing → Enable Flag/Report Listing. Once activated, a ‘Flag Listing’ button will appear in the sidebar of each listing.”

Admin can review each report in WordPress dashboard

No listings on map, location search doesn’t work

A listing will be shown on the map only if it includes geographical coordinates (specifically latitude and longitude).


How to make sure listings are geocoded (have lat/long)?

When adding listing in front-end you have to select address from dropdown, then lat/long fields will be autoamtically populated

Same principle applies in WordPress editor. Type address, hit “enter” and select address from the list. Lat/long will be automatically populated.


What indicates that listing is not geocoded?

Well, first of all you won’t see map widget on single listing page. Secondly when you edit it using WordPress editor lat/long fields will be blank

How does search by location works?