Botkibble
AI agents, LLMs, and crawlers have to wade through navigation bars, sidebars, ads, and comment forms to reach the content they want, and every element costs tokens. Cloudflare measured an 80% reduction in token usage when converting a blog post from HTML to Markdown (16,180 tokens down to 3,150). Botkibble adds a Markdown endpoint to every published post and page. Cloudflare offers Markdown for Agents at the CDN edge on Pro, Business, and Enterprise plans. Botkibble does the same thing (for free) at the origin, so it works on any host. GitHub Repository Three ways to request Markdown: .md suffix: append .md to any post or page URL (e.g. example.com/my-post.md) Query parameter: add ?format=markdown to any post or page URL Content negotiation: send Accept: text/markdown in the request header What’s in every response: Structured metadata header with title, date, categories, tags, word count, character count, and estimated token count (in YAML frontmatter format, readable by any AI agent) Clean Markdown converted from fully-rendered post HTML (shortcodes run, filters applied) Content-Type: text/markdown and Vary: Accept response headers Content-Signal header for AI signal declaration — defaults to ai-train=no, search=yes, ai-input=yes — see contentsignals.org X-Markdown-Tokens header with estimated token count Discovery via in the HTML head and Link HTTP header Automatic cache invalidation when a post is updated or deleted Performance: Botkibble writes Markdown to disk on the first request, then serves it as a static file. A built-in Fast-Path serves cached files during WordPress’s init hook, before the main database query runs. No extra configuration needed. Add a web server rewrite rule and Botkibble bypasses PHP entirely, serving .md files the same way a server would serve an image or CSS file: Method Avg. response time Standard HTML 0.97s Markdown (cold, first request) 0.95s Markdown (cached, PHP Fast-Path) 0.87s Markdown (Nginx/Apache direct) 0.11s Serving directly from disk is 88% faster than a full WordPress page load. See the Performance section below for Nginx and Apache configuration. Security: Drafts, private posts, and password-protected content return 403 Forbidden Rate limits cache-miss regenerations (20/min by default) to mitigate DoS abuse X-Robots-Tag: noindex keeps Markdown versions out of search results Link: rel="canonical" points search engines back to the HTML version Cache variants (optional): You can persist alternate cached representations by adding ?botkibble_variant=slim (or any other variant name). Variant caches are stored under: /wp-content/uploads/botkibble/_v/ / .md What it does NOT do: Expose drafts, private posts, or password-protected content Serve non-post/page content types by default Require any configuration. Activate and it works. Why Markdown? HTML is expensive for AI systems to process. Cloudflare measured an 80% reduction in token usage when converting a blog post from HTML to Markdown (16,180 tokens down to 3,150). Cloudflare now offers Markdown for Agents at the CDN edge via the Accept: text/markdown header, available on Pro, Business, and Enterprise plans. This plugin does the same thing at the origin, so it works on any host. It also adds .md suffix URLs, ?format=markdown query parameters, YAML frontmatter, static file caching, and server-level offloading. If you use Cloudflare, both share the same Accept: text/markdown header, Content-Signal headers, and X-Markdown-Tokens response headers. Cloudflare currently defaults to Content-Signal: ai-train=yes, search=yes, ai-input=yes with no way to change it. Botkibble defaults to ai-train=no and lets you override the full signal per site via the botkibble_content_signal filter. Performance & Static Offloading This plugin supports static file offloading by writing Markdown content to /wp-content/uploads/botkibble/. Nginx Configuration To bypass PHP entirely and have Nginx serve the files (including variants) directly: # Variants location ~* ^/(_v/[^/]+/.+)\.md$ { default_type text/markdown; try_files /wp-content/uploads/botkibble/$1.md /index.php?$args; } # Default location ~* ^/(.+)\.md$ { default_type text/markdown; try_files /wp-content/uploads/botkibble/$1.md /index.php?$args; } Apache (.htaccess) Add this to your .htaccess before the WordPress rules: RewriteEngine On # Variants RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads/botkibble/_v/$1/$2.md -f RewriteRule ^_v/([^/]+)/(.+)\.md$ /wp-content/uploads/botkibble/_v/$1/$2.md [L,T=text/markdown] # Default RewriteCond %{DOCUMENT_ROOT}/wp-content/uploads/botkibble/$1.md -f RewriteRule ^(.*)\.md$ /wp-content/uploads/botkibble/$1.md [L,T=text/markdown] Even without these rules, the plugin uses a “Fast-Path” that serves cached files from PHP before the main database query is executed. Credits We thank Cristi Constantin (https://github.com/cristi-constantin) for contributing cache variants, URL and SEO improvements, and fixing important bugs.
Top keywords
- markdown24×3.18%
- md16×2.12%
- botkibble15×1.99%
- text8×1.06%
- text markdown8×1.06%
- uploads8×1.06%
- uploads botkibble8×1.06%
- wp-content8×1.06%
- wp-content uploads8×1.06%
- wp-content uploads botkibble8×1.06%
- content7×0.93%
- header7×0.93%
Havenlytics – Real Estate Plugin with Advanced Search, Maps & Property Builder
Havenlytics is a WordPress real estate plugin for agencies, agents, developers, and property directories. Create and manage listings with visual builders, smart filters, maps, galleries, import tools, and an admin Analytics dashboard — on any theme. Works with any WordPress theme. The free Havenlytics Realty companion theme is optional. 📘 Documentation: https://havenlytics.com/documentation/ 🚀 Live Demo: https://demo.havenlytics.com/ 🌐 Official Website: https://havenlytics.com/ 🎨 Official Theme: https://wordpress.org/themes/havenlytics-realty/ (optional) 💬 Community: https://facebook.com/groups/havenlytics/ 📺 YouTube: https://www.youtube.com/@havenlytics 📧 Support: https://havenlytics.com/support/ Quick Start Install and activate Havenlytics. (Optional) Install the free Havenlytics Realty companion theme from WordPress.org. Run the Property Setup Wizard. Import demo property listings using Quick Property Setup. Review Properties → Analytics for listing and inquiry performance. After import, click View Website to preview the demo site or Return to Dashboard to continue customizing. 🎥 Watch: Build a Complete Real Estate Website in 30 Seconds Who It’s For Real estate agencies and brokerages Property listing websites and directories WordPress developers building client sites Freelancers seeking a complete real estate solution Property management companies Individual real estate agents Why Havenlytics 🏠 Purpose-built for real estate — Listings, agents, agencies, and inquiries in one plugin — not a generic directory tool. 📊 Analytics dashboard — Property stats, view tracking, and inquiry reports in the WordPress admin. 🎨 Visual builders — Drag-and-drop property forms, search filters, and listing cards without code. 🔍 AJAX search & maps — Real-time filters with Leaflet or Google Maps, markers, and clustering. ⚡ Fast performance — Built-in caching, optimized queries, and a cache dashboard for larger catalogs. 👨💻 Developer-ready — REST API, 50+ hooks and filters, template overrides, and extensible architecture. 🌍 Translation-ready — .pot file included; compatible with WPML and Polylang. 🔒 Security-focused — Capability checks, nonces, and WordPress coding standards throughout. Core Features ✅ Analytics Dashboard — Property statistics, view tracking, inquiry analytics, charts, tables, and CSV export. ✅ Property Import Wizard — Guided demo import with media, maps, documents, agents, and custom fields. ✅ Search Builder — Drag-and-drop advanced search forms and sidebar filters. ✅ Property Builder — Visual property form and card layout editor. ✅ Interactive Maps — Leaflet or Google Maps with markers, clustering, and location search. ✅ Contact Agent & Inquiries — Inquiry forms, email notifications, and admin inbox. ✅ Agent & Agency Management — Profiles, taxonomies, availability badges, and archive pages. ✅ Documentation System — In-plugin guides and links to full documentation at havenlytics.com. ✅ Elementor Widgets — Property Archive, Property Agents, and Property Agency. ✅ Performance & Cache — Cache dashboard and optimization tools. ✅ REST API — Extend settings, builders, and integrations for client projects. ✅ Template Overrides — Override templates in your-theme/havenlytics/. ✅ Hooks & Filters — 50+ extension points for agencies and custom workflows. ✅ Translation Ready — Full i18n support with included .pot file. Also includes: 50+ shortcodes; grid, list, and map layouts; property view counter; 160+ currencies; mortgage calculator widget; media galleries, videos, and documents; and responsive single-property templates. 🎥 Search Builder — Complete Tutorial Learn how to build advanced property search forms using the Havenlytics Search Builder. Customize search fields, filters, layouts, and create powerful search experiences without writing code. Email Notifications Go to Havenlytics → Settings → Email Set sender name and email (optional) Customize import success subject and message with merge tags On the Import wizard, keep Email Notifications checked for a completion email Contact Agent emails are configured under Settings → Contact Agent. Elementor Widgets Requires Elementor (Free or Pro). Find widgets under the Havenlytics category or search HVN. Quick steps: Edit a page with Elementor → drag a Havenlytics widget → customize → publish. Tip: Use shortcodes for simple pages, or Elementor widgets when building mixed layouts. HVN: Property Archive Full property listing archive — same system as the property grid/list/search shortcodes. Content controls: * Show/hide filter sidebar and top search bar * Default view — grid, list, or map * Sidebar position (left or right) * Grid columns (1–4) * Properties per page, order by (date, title, price, random) * Featured-only filter * Default filters — department, min/max price, bedrooms, bathrooms Style controls: * Brand and secondary colors (CSS variables) Behavior: * AJAX filtering, pagination, and load more * Inherits global Havenlytics search settings * Multiple widget instances supported per page HVN: Property Agents Agent archive matching the native /property-agents/ page — search, grid/list toggle, pagination, and agent cards with availability badges. Content controls: * Show/hide header, title, and subtitle * Show/hide search and view controls * Agents per page (1–48) * Grid columns (1–4) * Default view — grid or list * Order by name or date added (asc/desc) HVN: Property Agency Agency archive matching the native /property-agencies/ page — same card layout and controls as the agents widget, for agency taxonomy listings. Content controls: * Show/hide header, title, and subtitle * Show/hide search and view controls * Agencies per page (1–48) * Grid columns (1–4) * Default view — grid or list * Order by name or date added (asc/desc) Sidebar Widgets Classic WordPress widgets for single property sidebars (Appearance → Widgets, HAVENLYTICS category): Featured Properties — highlight selected listings Property Agent — agent card for the current property Mortgage Calculator — tax, insurance, HOA, and PMI options Related Properties — similar listings on single property pages Agent Listings Carousel — other listings from the assigned agent Add to the Havenlytics – Single Property Sidebar area (not Elementor widgets). Automatically Created Pages Pages are created only when a matching slug does not already exist. On every activation (including updates): Property Grid (/property-grid/), Property Lists (/property-lists/), Property Search (/property-search/), Agents (/property-agents/), Agency (/property-agencies/). On fresh installations only: Rent (/rent/), Sale (/sale/), Commercial (/commercial/), Let (/let/) — each with a department-filtered property grid shortcode. Each page includes the matching shortcode. Replace with Elementor widgets from the Havenlytics category if preferred. Shortcodes Display listings, agents, and agencies anywhere. Copy-ready examples and 50+ variations: Havenlytics → Settings → Shortcodes. Shortcode tutorial: [hvnly_property_grid] Responsive property grid. See the live demo. [hvnly_property_lists] Vertical property list layout. See the live demo. [hvnly_property_search] Advanced search with filters. See the live demo. Supports department, price, beds, baths, location, status, columns, pagination, default view, and custom CSS class. Agent & Agency Shortcodes [hvnly_property_agents] Display the agents archive (same layout as /property-agents/) with search, grid/list toggle, pagination, and availability badges. Auto-created page slug: property-agents Common attributes: posts_per_page, columns (1–4), orderby (title|date), order (ASC|DESC), show_header, title, subtitle, show_search, show_view_controls, default_view (grid|list), class Examples: * [hvnly_property_agents columns="3"] * [hvnly_property_agents default_view="list" show_search="no"] * [hvnly_property_agents show_header="no" class="my-agents-archive"] Legacy alias: [hvnly_agents] [hvnly_property_agencies] Display the agencies archive (same layout as HVN: Property Agency Elementor widget) with search, grid/list toggle, and pagination. Auto-created page slug: property-agencies Common attributes: same as [hvnly_property_agents] above. Examples: * [hvnly_property_agencies columns="2"] * [hvnly_property_agencies default_view="list"] * [hvnly_property_agencies show_header="no" class="my-agencies-archive"] Legacy alias: [hvnly_agencies] Support Need help? Please use the official support forum: https://wordpress.org/support/plugin/havenlytics/ Contributing We welcome contributions! You can: Report bugs on our GitHub repository Submit feature requests Translate the plugin into your language Write documentation Join our community discussions Privacy Policy Havenlytics – WP Real Estate & Property Listings Directory uses the Appsero SDK to collect limited telemetry data only after user consent. Appsero does not collect any data by default. Data collection starts only when a user opts in via the admin notice. No sensitive data (such as passwords, personal data, or content) is collected. We do not sell or share data with third parties. Users can opt out at any time. Read Appsero Privacy Policy