Level up your store with a seamless and customizable checkout for a cart-to-checkout experience that converts more shoppers.
Follow same process for cart and checkout pages.
Level up your store with a seamless and customizable checkout for a cart-to-checkout experience that converts more shoppers.
Follow same process for cart and checkout pages.
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.
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
Plugin is automatically installed with Listeo. However if you can’t see it or have older theme version you can download it manually:

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.

| 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/
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:
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
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
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.”
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.
The chatbot makes tool selection based on what you’re asking for. It analyzes your question and automatically picks the right search tool. The AI automatically understands user intent and applies relevant filters working in tandem with semantic search. For example, asking “find restaurants in New York rated 4.5+” uses semantic understanding to identify “restaurants” from description, while simultaneously applying location and rating filter when searching through database.
🔍 Tool Selection Logic:
1. Search Listings (Included in Free)
– For listings/places/businesses/venues
– Examples: “find coffee shops”, “restaurants in New York”, “hotels under $100”
– Searches: Business directory listings
2. Search Products (Included in Pro)
– For products to BUY/SHOP (if WooCommerce active)
– Examples: “wireless headphones under $100”, “on-sale laptops”
– Searches: E-commerce products
3. Search Universal Content (Included in Pro)
– For general website content
– Searches: Blog posts, pages, documentation, policies, guides
4. Follow-up questions
– Answers from conversation context
– The chatbot remembers previous search results
Additional tools:
5. Listing Details (Included in Free)
AI asked about specific listing can call “get listing details” tool to extract following data from the listing:
a. Listing title and description
b. Category and Listing type
c. Location (address, city, region)
d. Amenities & features
e. Operating hours
f. Pricing & menu items
g. Contact info (phone, email, website)
h. FAQs (questions & answers)
j. Reviews
6. Product Details (Included in Pro)
AI asked about specific listing can call “get product details” tool to extract following data from the listing:
a. Product name and description
b. Price (regular + sale)
c. SKU
d. Categories
e. Attributes (color, size, etc.)
f. Stock status
What filters AI can apply when searching?
For Listings (search_listings):
– location – City, address, region (“New York”, “Downtown LA”)
– price_min / price_max – Price range filtering
– rating – Minimum star rating (1-5)
– date_start / date_end – Date filtering (both for rentals and events)
For Products (search_products):
– price_min / price_max – Price range
– in_stock – Only available products
– on_sale – Only discounted products
– category – Product category filter
– rating – Minimum rating (1-5)
With OpenAI’s $5 credit balance (that’s minimal amount), you can expect approximately following amount of conversations before needing to add more credits.
~ 3000 with GPT-5 Mini
~ 1000 with GPT-5.1
Note: These numbers are approximate.
AI search understands meaning, so it finds relevant results even when the exact words aren’t in your listings. That’s why it can match “romantic dinner spot” with fine dining restaurants or “dog grooming” with pet salons.
But it’s not magic — it works from the text in your listings. If a listing has almost no description, or uses very unusual wording, the AI may miss it. Also, in rare cases, it might return a result that feels related but isn’t exactly what you meant.
In short: it’s far better than keyword search, but like any search, it depends on good, descriptive content.
Yes! That’s available in Pro version.
✅ Runs directly on your WordPress website
✅ You control your OpenAI/Gemini API costs
✅ Your database stays on your server
Note: MySQL database which WordPress uses, lacks native vector search – all similarity calculations run in PHP so search speed depends on your server CPU and number of indexed items.
✅ Optimized for up to a few thousand items/pages/products
✅ No external database indexing. Fast setup. Predictable performance.
Further reading: Learn more about building an AI chatbot for WordPress with RAG and how site content retrieval improves AI support answers.
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).
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
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.
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 Search feature in PurioChat is dedicated for Listeo and brings natural language search to your directory website with OpenAI or
Gemini or Mistral AI. Users can search using everyday phrases instead of just keywords.
Try it yourself on our demo: https://listeo.pro/
| 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.
Plugin is automatically installed with Listeo. However, if you can’t see it or have an older theme version, you can download it manually:

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.





Follow this checklist:
AI search understands meaning, so it finds relevant results even when the exact words aren’t in your listings. That’s why it can match “romantic dinner spot” with fine dining restaurants or “dog grooming” with pet salons.
But it’s not magic — it works from the text in your listings. If a listing has almost no description, or uses very unusual wording, the AI may miss it. Also, in rare cases, it might return a result that feels related but isn’t exactly what the user meant.
In short: it’s far better than keyword search, but like any search, it depends on good, descriptive content.
This setting determines how closely a listing must match the search query to appear in results.
Setting range: 0–100
Default: 65
Impact on search results:
Example:
Query expansion uses AI to understand and broaden search terms for better results.
Example:
Trade-offs:
After installing the plugin, adding your OpenAI, Gemini, or Mistral API key, and clicking Start Training, the plugin sends structured listing data to the selected embeddings model to create vector embeddings.
Processed listing data may include:
When this happens:
What happens when a user searches?
⚠️ 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 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.
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”.
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.
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.
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:
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.
Controls debugging features and displays recent error logs. Quick action buttons:
Monitors email delivery method and provides testing tools. PHP Mail method is unreliable – install an SMTP plugin for better delivery.
You can display all user fields in widgets on single listing page. First, add custom field as described in this article then go to Appearance → Widgets → Single listing sidebar and select fields to be displayed on front-end
P.S. Social links in Listeo Editor cannot be individually enabled/disabled – they are controlled by “Social Sites” checkbox.
In Listeo each custom field added to a taxonomy (category or region) can be also a search filter.
First, navigate to Listeo Editor and add custom fields to categories or regions as described in article below.
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:
Listeo has SEO optimized permalink settings.
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.
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.