Author Archive

AI Chat 🤖

PurioChat is our AI chatbot plugin that works with any theme but has dedicated module for Listeo allowing it to search deeply through listings.

Listeo brings AI assistant to your directory site, letting visitors find listings using natural conversation.

OpenAI
OpenAI
Gemini
Gemini
Claude
Claude
Mistral
Mistral
Grok
Grok
DeepSeek
DeepSeek
Llama
Llama

PurioChat combines semantic understanding with real-time database search making your directory easier to use and increasing visitor engagement. AI searches through listings and filters them by ✅location, ✅price, ✅rating and ✅booking availability. Supported AI Providers: ChatGPT, Gemini and Mistral AI


⚙️Installation

Plugin is automatically installed with Listeo. However if you can’t see it or have older theme version you can download it manually:

  1. Go to https://purethemes.net/license/ and download  PurioChat plugin
    You’ll need purchase key: How to find my license key?
  2. Install and activate ai-chat-search.zip in WP Dashboard → Plugin → Add New 

Configuration

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

  2. Then go to Data Training tab and click “🚀 Start Training“.

    For the listing search feature, only “Listings” data is required. Other post types are available in the Pro version and can be used by the chatbot.


    If you don’t want the chatbot to search your site content
    , skip data training and uncheck “Listings.” It will then respond only using your Custom System Prompt (see FAQ).

Features

Feature Free Pro
Search through listings
Search analytics
Gemini and ChatGPT
Custom Instructions for AI
(based on system prompt)
Chat history ✅ Access to chat stats & conversation history
Chat Insights ✅ AI analyzes conversations and highlights summaries, gaps, weaknesses, and sentiment
Posts & pages search ✅ AI can search through content from posts and pages
PDF Files as Training Source ✅ Upload PDF files and train chatbot on them
WooCommerce products ✅ Search products
✅ Filter by price, stock, sale, rating / Check order status
Custom post types ✅ Search through custom post types
Customizable Design ✅ Minimal bar, image, or animated silk wave effect. Dark and light mode.
Quick Action Buttons ✅ Buttons with link, predefined question, or contact form popup
AI Lead Capture ✅ Collect visitor data like email or phone and get notified
Image and Voice Messages ✅ Visitors can attach images or record voice messages
Telegram & WhatsApp ✅ Let users chat with your AI assistant via Telegram or WhatsApp
n8n, Zapier & Make ✅ Connect with external apps via webhooks
Remove “Powered by” Label

Pricing: https://purethemes.net/ai-chat-search-pro/


FAQ

  • 🤖 Improving chatbot replies with a Custom System Prompt

    You can add there specific instructions about your website’s focus, target audience, or special features to help the AI provide more relevant and personalized answers to your visitors.

    Example:

    IMPORTANT:
    – This is a city-wide business directory for Austin, Texas, featuring restaurants, hotels, services, and entertainment venues. We help locals and tourists discover the best spots in town.
    – If users ask how to add their business, explain that they need to click “Add Listing” in the top menu, create a free account, and fill out the listing form with their business details, photos, and contact information.
    – Paid packages offer featured placement and priority in search results.CONTACT INFO:
    – If someone asks you about how to contact us provide him [email protected] and phone +1 123 345 789
    – Our business opening hours are 9am-15pm Monday to Friday

    Another example – if your website is multilingual but listing location/names are in english language you can tell him to always translate user query before searching

    CRITICAL:
    If the user query is in another language, translate it to English before searching.
    For example: French: ‘trouve un restaurant à New York’ → translate to ‘find a restaurant in New York’

     To improve the AI chatbot’s replies to generic questions like “recommend something in New York” you need to give him an idea what your website is about

    IMPORTANT:
    This is a directory for discovering places in New York City. We help users find the best spots in the city. When asked generic questions like “what you recommend” or “what to do in NY” search for restaurants, attractions or shops or services listings from our directory.”

    In general, prompting is an art – the quality of an AIs answer depends on the prompt or instructions. Sometimes too many examples can confuse the model, but too few can also lead to poor results.

    If a user asks for “good Italian restaurant” or “good headphones,” the AI may auto-apply a rating filter (e.g. 4.5+). If items have no ratings, it may return no results. That’s why you need to tweak prompt on your own and e.g. add: “Don’t apply a rating filter unless the user asks for it.”

  • 🔍 How to fix chatbot giving irrelevant responses despite having indexed content?

    This is usually a custom instructions (system prompt) issue. The AI needs clear guidance on when to search your site content and which tool use (for listings, products or general site content).

    Add decision logic to clarify your content types. Universal decision logic is already added in built-in system prompt but you might want to extend it with samples from your website content.

    DECISION LOGIC:
    - Question about listings such as [examples] → use search_listings()
    - Generic products such as [examples] → use search_products()
    - Generic questions about website content such → use search_universal_content()

    Use GPT-5.4  instead of GPT-X-mini for better quality if you have long custom instructions. Small prompt changes can significantly impact behavior.

  • 🔍 How AI searches through site content?

  • 💰 How much does it cost in OpenAI API fees?

  • 🎯 Why search results are decent but not perfect?

  • 📄 Can I add PDF files to training data?

  • ✅ Is this right fit for my website?


Elementor Widget and Shortcode

Chatbot can be used also via shortcode [ai-chat] or Elementor Widget AI Chat (elementor widget has 2 visual settings including the one below). You can download pre-made elementor section from our demo here (upload to elementor templates).

Point of Interests

The Listeo POI plugin displays nearby points of interest (restaurants, transport, healthcare, shopping, etc.) on listing pages using Google Places API, helping visitors discover amenities around each property.

It features configurable categories with customizable search radius and result limits, intelligent caching to minimize API costs, and flexible display options for seamless integration with your listings

Points of interest can be displayed as a tabs

or toggle accordions


Installation

  1. Make sure you set your language in Dashboard → Settings → General
  2. Go to https://purethemes.net/license/ and download Listeo Points of Interest plugin
    You’ll need purchase key: How to find my license key?
  3. Upload listeo-po.zip in WP Dashboard → Plugin → Add New 

Configuration

Navigate to Listeo POI in your WordPress sidebar,. Add Google API key and configure settings to your needs

The plugin caches Google Places API responses in the database for 180 days (configurable) to minimize API costs and improve performance. Cached POI data is served on repeat visits instead of making new API calls, with options to clear or refresh cache through the admin panel.


API Rate Limit

Although the plugin itself has a “Max API Requests (24h)” setting, it’s always wise to configure quota limits directly in Google Cloud.

https://developers.google.com/maps/billing-and-pricing/manage-costs#set-caps
✅ SELECT the API in the drop-down menu (All Google Maps Platform APIs).
✅ SET requests/map loads/elements per day parameter according to what you are willing to pay each month.
✅ Click SAVE and repeat this process for any API you want to use.

Please set these limits to stay charge-free:
✅ Geocoding API → 320 requests per day
✅ Maps JavaScript API → 320 map loads per day
✅ Places API → 50 requests per day

AI Smart Search ✨

AI Search feature in PurioChat is dedicated for Listeo and brings natural language search to your directory website with OpenAI OpenAI or Gemini Gemini or Mistral AI. 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

Plugin is automatically installed with Listeo. However, if you can’t see it or have an older theme version, you can download it manually:

  1. Go to https://purethemes.net/license/ and download the PurioChat plugin.
    You’ll need your purchase key:
    How to find my license key?
  2. Install and activate ai-chat-search.zip in WP Dashboard → Plugins → Add New

Configuration

  1. Navigate to PurioChat in your WordPress sidebar, then go to the AI Search tab. Add your OpenAI, Gemini, or Mistral AI API key and configure the plugin to your needs.How to create OpenAI API key? →
    How to create Gemini API key? →
    How to create Mistral API key? →
  2. Then go to the Data Training tab and click 🚀 Start Training.

    For the listing search feature, you only need Listings as training data. Other post types that are locked are available in the Pro version and can be used by the chatbot feature.


    Data Training tab in PurioChat
  3. Once the database is ready, go to Listeo Editor → Search Forms and add the AI Field to your search forms.
    Adding AI Field to Listeo search form
  4. And that’s it. AI Quick Picks allows visitors to quickly get the best 3 matching listings. This is optional.
    AI Quick Picks setting in Listeo
  5. The Statistics tab provides comprehensive analytics and insights. Chat history is available in the Pro version if you use the AI chatbot.
    PurioChat statistics tab
  6. It is recommended to set Best Match as the default sorting method. With this setting, listings with the highest match score will appear first.
    Listeo Core → Browse/Search Options → By default sort listings by
    Best Match sorting option in Listeo

FAQ

  • I see not enough or no search results at all

  • Why are search results decent but not perfect?

  • What does 'Minimum Match Percentage' control?

  • Should I enable 'Query Expansion'?

  • What data is processed by OpenAI/Gemini/Mistral in AI Search?


Listings Manager

⚠️ This extension is created by community (a fellow Listeo user) and we are not authors of it.

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

Listeo Listings Manager is a WordPress plugin that allow quick listing edits and if needed uses AI and Google Places to automatically create business listings with SEO optimization. It pulls in business data like hours and contact info, and lets you manage everything through a customizable, multilingual dashboard. Perfect for directories and business sites. Works only with Listeo.

Unlimited Listing Types

Create unlimited listing types beyond the built-in Service, Rental, Event, Classifieds.

Where to Find It: WordPress Admin → Listeo Editor → Listing Types 
✅ Visual editor: Drag-and-drop interface with conflict detection
✅ Auto-integration: Works with Forms & Fields Editor, Elementor widgets, and Custom Permalinks
✅Specialized add listing forms: Each listing type submit form can be individually modified in Listeo Editor
✅Custom booking: Different booking methods per business type

P.S. You can change order of listing types by dragging and dropping them.

🏷️ Basic Information
– Name: Display name (e.g., “Restaurant”) Required
– Plural Name: Plural form (e.g., “Restaurants”) Required
– Slug: URL-friendly identifier (auto-generated, unique) Required
– Description: Optional text description
– Icon: Upload icon/image from media library (supports SVG)

📅 Booking Configuration
– Booking Type: Choose preset (None, Single Day, Date Range, Event Tickets)
– Booking Features: Mix-and-match checkboxes:
– Time Slots Selection
– Date Range Selection
– Start/End Time Picker
– Ticket System
– Add-on Services
– Availability Calendar

⚙️ Business Settings
– Enable business hours: Toggle for opening/closing hours display
Register dedicated taxonomy: Auto-create category taxonomy (e.g., “restaurant_category”) – when checked  listing type  will be displayed in categories page and you will be able to add listing-type specific categories.

👁️ Display Settings
– Active: Make available for new listings (inactive types hidden from submission)

This is how you can hide default listing types – simply uncheck “active” state and they won’t be displayed in submit listing form.

One added you will see new listing type available during listing submission, in this example – “Test”.


Categories for listing types

Categories and Sub Categories

 

Listeo Health Check

The Listeo Site Health (click Listeo Health in admin toolbar) page provides a diagnostic dashboard for monitoring your WordPress site’s technical status and resolving issues quickly.

Quick Stats & Plugin Versions

Shows version information for PHP, WordPress, and Listeo theme with color-coded status indicators (green = good, yellow = warning, red = critical).

Monitors essential Listeo plugins and flags version mismatches. Keep all plugins updated to maintain compatibility.


Memory Usage

Tracks server resource consumption including WordPress memory, PHP memory, execution time, and upload limits. Visual bars show usage percentages.
Common issues with too low memory limit:

  • Fatal error: Allowed memory size exhausted – The classic white screen with memory error message
  • Plugin activation failures – Plugins won’t activate or suddenly deactivate themselves
  • Admin dashboard won’t load – Blank pages or incomplete loading in wp-admin area
  • Media upload failures – Can’t upload images or files, especially larger ones
  • White screen of death – Completely blank pages on frontend or backend
  • Elementor not loading and asking for safe mode


WordPress Heartbeat API

WordPress Heartbeat API runs frequent admin-ajax.php requests that can cause server overload and high CPU usage. The API performs tasks on a “tick” interval utilizing admin-ajax.php across the dashboard, post editor, and frontend areas.


Debug & Error Management

Controls debugging features and displays recent error logs. Quick action buttons:

  • Enable Full Debug Mode – For troubleshooting
  • Turn Off All Debug – For production sites
  • Log Errors Only – Records errors without public display
  • Hide Frontend Errors – Prevents visitor-facing error messages


Email Configuration

Monitors email delivery method and provides testing tools. PHP Mail method is unreliable – install an SMTP plugin for better delivery.


Transient Cache


Post Revision


Pages & Database tables

 

Conditional search filters for categories

In Listeo each custom field added to a taxonomy (category or region) can be also a search filter.

How to use?

First, navigate to Listeo Editor and add custom fields to categories or regions as described in article below.

Adding custom fields and displaying them on listing page

Then check “add to search form” option. This will make field appear below category filter as an additional filter.

On search results page additional filters will be displayed after selecting category

 

P.S. If you single checkbox filter/field you can specify displayed value (by defaulty: yes), check screenshot:

SEO / Custom Permalinks

Listeo has SEO optimized permalink settings.

  1. Custom listing permalinks

    Navigate to Settings → Permalinks

    Default WordPres: listing/amazing-restaurant
    Category + Name: restaurants/amazing-restaurant
    Region + Name: new-york/amazing-restaurant
    Category + Region + Name: restaurants/new-york/amazing-restaurant
    Date-based: 2025/01/amazing-restaurant
    Type + Name service/amazing-restaurant
    Author + Name john-smith/amazing-restaurant
    ID-based 123/amazing-restaurant

    Safe Mode – It is highly recommended to use Safe Mode option if you experience issues with your pages leading to 404. Safe mode keeps the /listing/ prefix in URLs to prevent conflicts with pages and posts.

  2. Combined region and feature

    Enables URLs like /region/feature/ to show listings filtered by both region and feature.
    Examples: /huntsville/alcohol/ or /new-york/parking/
    After enabling this go to Settings → Permalinks and click  ‘Save Changes

 

If you’re not seeing these settings ensure you have latest theme and Listeo Core plugin.

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