Author Archive

Migrate to Listeo from HivePress, Directorist and ListingPro

Switching from HivePress, ListingPro or Directorist? Bring your data with you!
The free Listeo Migration migrates your listings, categories, custom fields, images, reviews and users to Listeo — no CSV exports, no manual re-entry.

Moving a directory between platforms usually means rebuilding every listing by hand. Not anymore. The Listeo Migration plugin automates the entire transformation directly in your WordPress database, in one guided process. Type mapping, attribute mapping and a read-only preview let you verify everything before a single row is changed.

If you’ve been running your directory on HivePress, ListingPro or Directorist and want Listeo’s built-in bookings, marketplace and AI-powered search (see why users switch from HivePress →), this guide walks you through the whole migration step by step.

Listeo Migration plugin settings

✅ FREE add-on converts directly in your database (NO export/import round-trip):
1. Listings (published, draft, pending & private — titles, descriptions, slugs, authors)
2. Categories (mirrored to Listeo, missing ones created automatically)
3. Custom Fields / Attributes (mapped to existing Listeo fields, new fields or amenities)
4. Geolocation (Latitude & Longitude for Map Pin + Address)
5. Gallery Images (featured image kept separate — no duplicated covers)
6. Reviews & Star Ratings (with recalculated average rating per listing)
7. Listing Types (service / rental / event / classifieds — manual map or auto-detect)
8. User Roles (listing authors get Listeo’s “owner” role for dashboard access)
9. Featured & Verified badges
10. Contact Details (phone, website, email & socials pre-mapped out of the box)

💡 Smart mapping included: price ranges like “$25–$40” are split automatically into Listeo’s min/max price fields, URLs and emails are sanitized, and only approved reviews are counted so pending or spam reviews won’t distort your ratings.

🔁 Safe to re-run – converted listings are flagged and skipped on subsequent runs, so an interrupted conversion can simply be restarted.

⚠️ Back up your database before converting. The migration modifies your data in place — a full backup takes minutes and makes the whole process risk-free. Also make sure the Listeo Core plugin is installed and activated first: the converter needs Listeo’s categories, features and the “owner” role to exist, and will warn you if they don’t.


Installation & How to use?
  1. Download .zip https://purethemes.net/listeo-migration.zip with Listeo Migration plugin
  2. Upload listeo-migration.zip in WP Dashboard → Plugins → Add New and install & activate. Do this on the site that still contains your HivePress, ListingPro or Directorist data — you switch the theme after conversion, not before.
  3. Go to Tools → Listeo Migration. The converter automatically scans your site and shows how many HivePress, ListingPro or Directorist listings were found and how many listing authors still need the Listeo owner role. If no data is detected, there’s nothing to migrate. 🙂
  4. Preview before you convert. Click “Preview 5 Listings” to see a read-only, field-by-field breakdown — each field, its current value, and the Listeo field it maps to. Nothing is written to the database at this stage.
  5. Configure the mapping. Assign a Listeo listing type (service, rental, event or classifieds) to each HivePress, ListingPro or Directorist category — or leave it on Auto-detect (a “Hotels” category becomes a rental, “Workshops” becomes an event, and so on). Then review the attribute table and decide where each custom field should go:
    – map it to an existing Listeo field,
    – create a brand-new custom field (added automatically to Listeo’s Forms & Fields Editor),
    – merge it into the amenities/features taxonomy,
    – or skip it entirely.Common attributes — phone, website, email, socials, price — are pre-mapped out of the box. You can also enable stripping of Gutenberg block markup from descriptions, since Listeo uses the classic editor for listings. Hit Save Settings when you’re happy with the mapping.
  6. Migrate user roles. Click “Migrate Roles” to grant the Listeo owner role to every user who authored a listing, so your vendors can log into the Listeo dashboard right away. Existing accounts, passwords and profiles are untouched.
  7. Hit “Start Conversion” and let the magic happen. Listings are processed in small batches with a live progress bar and per-listing log, so even directories with thousands of listings convert reliably without server timeouts. When it finishes, a summary shows how many listings were converted, skipped or had errors — with direct edit links for anything that needs attention.
  8. Switch to the Listeo theme. Activate Listeo, run the setup wizard and open a few migrated listings to verify categories, map pins, galleries and reviews. That’s it — your directory is now running on Listeo with bookings, listing packages and all other built-in features →

FAQ
  • Is the Listeo Migration free?

  • Will I lose my reviews and ratings?

  • Do my users need to re-register?

  • What happens to my custom attributes?

  • Can I re-run the conversion?

  • Do I need WP All Import or a CSV export?

  • What about my listing photos?


Markdown for AI Agents

This plugin serves a clean Markdown version of your public pages to AI agents, crawlers, and any tool that would rather read structured text than a full HTML page.

Markdown is easier for AI to work with: it keeps your headings, lists, and links but drops the navigation, scripts, styles, and forms. Less noise, and the agent understands the page more reliably.

Note The plugin requires Listeo Core. It doesn’t touch Cloudflare – no Worker, no paid plan, and no custom server config on a standard WordPress host.


Is it better than llms.txt?

Certainly. There is still no convincing evidence that llms.txt works. Ahrefs’ analysis of 137,000 websites found that 97% of llms.txt files were never accessed.

Serving Markdown to AI agents via HTTP content negotiation (Accept: text/markdown) is a different approach. It’s already supported by major infrastructure like Cloudflare, and AI search agents such as Claude/ChatGPT/Perplexity request Markdown directly when available. More at The Cloudflare Blog: Introducing Markdown for Agents

On our own site we use the same solutions and we see the Markdown versions being requested hundreds of times per day.


Install and preload the cache

  1. Download plugin from Customer Portal →
  2. In the WordPress admin, go to Plugins > Add New and upload the plugin ZIP.
  3. Activate Listeo Markdown for Agents (Listeo Core needs to be active first).
  4. Open Listeo Core > Listeo Markdown.
  5. Go to the Preload Cache tab and click Start / preload missing.

Preloading runs in small background batches via Action Scheduler (or WP-Cron if that’s not available). It’s worth doing right after activation, especially on directories with hundreds or thousands of listings.

The same screen has a content browser where you can search and filter by post type or cache status to see what’s cached, generated on demand, or excluded. It loads a few items at a time so it stays light on shared hosting.

Plugin “Preload Cache” Page

Tip Use Rebuild all after a big site-wide design or visibility change. Everyday edits are handled for you and don’t need a rebuild.


How it works

Every supported public page gets a Markdown twin at the same URL with .md on the end:

https://example.com/about/
https://example.com/about.md

https://example.com/listing/example-listing/
https://example.com/listing/example-listing.md

https://example.com/product/example-product/
https://example.com/product/example-product.md

Agents can also just ask the normal page URL for Markdown using a standard HTTP header:

curl https://example.com/about/ \
  -H "Accept: text/markdown"

Either way the response comes back as Content-Type: text/markdown. The .md URLs are cacheable by browsers and CDNs; responses negotiated through the HTML URL are marked private and no-store so they never mix with your regular page cache.


Disk cache and automatic updates

Generated documents live in a protected, non-public cache inside your WordPress uploads folder.

  • If a cached file exists, the plugin serves it straight from disk.
  • If it’s missing, WordPress builds the Markdown on the spot, returns it, and saves it for next time.
  • When a post, page, listing, product, testimonial, taxonomy, or relevant public field changes, its Markdown is refreshed automatically.

There’s no “pending” page and no Worker in the way. The very first request can be a little slower than a cache hit, but the agent still gets the finished document in that same request.


Supported content

  • WordPress posts and pages, including Gutenberg content.
  • Published Elementor pages rendered through the normal public pipeline.
  • Listeo listings — details, taxonomies, opening hours, images, and contact fields your visibility settings allow.
  • WooCommerce products — descriptions, price, availability, attributes, categories, and images.
  • Testimonials.

Only published, publicly viewable, password-free content qualifies, and common SEO noindex settings are respected. Cart, checkout, My Account, shop archives, attachments, Elementor templates, and private Listeo data are all left out.


Like Cloudflare Markdown for Agents – minus the Worker

The idea mirrors Cloudflare Markdown for Agents: send Accept: text/markdown, get structured Markdown back instead of HTML.

The difference is where the work happens. Cloudflare converts HTML to Markdown on its network for enabled zones. This plugin does it inside WordPress, so it understands Listeo and WooCommerce content directly and caches the result on your own disk. It works with or without Cloudflare, and there’s no Worker to deploy or maintain.

Listeo Pay Per Lead

Turn every inquiry into revenue. Bookings and contact messages become leads with masked guest details; listing owners pay per lead to unlock them, using prepaid credit packs or checkout.

AI Skills for Coding Agents

Codex and Claude Code

The Listeo AI Agent Toolkit is a downloadable package for Claude Code, Cursor, Codex, and other AI coding agents. It helps agents customize Listeo in an update-safe way, without editing core theme or plugin files directly.

The toolkit includes:

  • AI agent instructions for working with Listeo safely
  • Listeo runtime 130+ hooks and extension points
  • Common customization recipes
  • Example add-on plugin code
  • Example Elementor widget add-on code
  • WordPress security, escaping, i18n, and update-safe development rules

To use the toolkit properly, make sure your site is running the at least 2.0.51 version of Listeo and latest plugins versions because old version do not have large amount of hooks.


How to Use It

  1. Go to purethemes.net/customer-portal/ and enter your Listeo license key.
  2. Download the Skills for AI Coding Agents package.
  3. Add the folder to your Claude Code, Cursor, or Codex project context.
    We recommend adding Listeo theme and two plugins (Listeo Core and Listeo Elementor) to the project to give AI better context.
  4. Ask your AI coding agent to read the toolkit before making changes.
  5. Coding agent will create a separated plugin or MU plugin with your customizations.
  6. Do not edit Listeo theme, Listeo Core, or Listeo Elementor files directly. This keeps your custom features separate from Listeo itself, so future theme and plugin updates do not overwrite your changes.

Troubleshooting & Tools

When something does not go to plan, the plugin gives you a few built-in tools to spot the problem and fix it fast. This page walks through each one.

Polar Setup

Connect Polar so your customers can pay for listing packages. This page walks you through every field, the webhook, and product mapping, step by step.

Stripe Setup

Connect Stripe to start charging recurring subscriptions, by adding your API keys and a webhook so the plugin knows when a payment succeeds.