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%
Tiny Talk
Tiny Talk is a powerful AI agent platform that helps you engage with your audience 24/7. This official WordPress plugin makes it easy to integrate Tiny Talk agents into your WordPress site. 💬 Why Use Tiny Talk? ✅ Real-Time Help Desk: Chat instantly with visitors and customers to solve their issues and answer questions whether from web or WhatsApp (more coming soon) ✅ Knowledge Base: Create knowledge base from your documents using formats like PDF, DOCX, XLSX, PPTX, MD, TXT, CSV. ✅ Web Crawler: Use our web crawler to scrape your website content to enrich your knowledge base. ✅ Conversation History: Access previous conversations and do follow-ups. ✅ Customized Messenger: Brand your messenger to match your colors, avatars, and copy. ✅ Workspaces & Members: Create workspaces to isolate agents from each other and invite members to each workspace to help you manage your workload. ✅ Latest AI Models: Use leading AI models from OpenAI, OpenRouter, and Groq. ✅ Custom Domains: Associate an agent with your custom domain like chat.example.com to complete your branding. ✅ Welcome Messages: Use welcome and suggested messages to inspire your visitors for quick start. ✅ Lead Generation: Define form fields and capture leads from your messenger. ✅ Integrations: Make use of Zapier, Pabbly, Google Drive, Slack, Notion, WhatsApp and Webhook integrations to build workflows of your own and collaborate with your teams. ✅ Push Notifications: Receive push notifications on web browsers and stay alerted on every new conversation or message. ✅ Analytics – See how your agents are doing, where your visitors are from and how deep the conversations are. 🌍 Multi-Language Live Chat for Global Support While AI models support dozens of languages, our messenger interface supports 10 languages: Arabic, Dutch, English, French, German, Hungarian, Italian, Japanese, Portuguese, and Spanish to deliver a personalized experience to users in their native language automatically. Key Plugin Features Easy Setup – Just paste your Agent ID and you’re ready to go Multiple Agents – Configure different agents for different purposes (sales, support, etc.) Smart Rules – Automatically show the right agent based on page type, category, URL, or user role Page Override – Manually select which agent appears on specific pages Shortcode Support – Embed chat interfaces anywhere using [tinytalk] WooCommerce Ready – Show product-specific agents on your shop pages Lightweight – Minimal impact on page load times Rule-Based Assignment: Set up intelligent rules to automatically show the right agent: By Post Type (e.g., all WooCommerce products) By Category/Taxonomy (e.g., specific product categories) By URL Pattern (e.g., /pricing/*, /help/*) By Page Template By User Role (logged in vs guest) Shortcodes: [tinytalk] – Display default/rule-matched agent [tinytalk agent="Sales Agent"] – Display specific agent by name [tinytalk agent_id="550e8400-e29b-41d4-a716-446655440000"] – Display specific agent by ID [tinytalk width="100%" height="500" type="iframe" styled="yes"] – Embed as styled iframe with custom dimensions [tinytalk width="100%" height="500" type="iframe" styled="no"] – Embed as plain iframe with custom dimensions Third-Party Services This plugin connects to the Tiny Talk external service to provide AI agent chat functionality on your website. What is Tiny Talk? Tiny Talk is an AI agent platform that powers the chat widget displayed on your site. A Tiny Talk account is required to use this plugin. When does the plugin connect to Tiny Talk? When the plugin is enabled and an Agent ID is configured, a JavaScript file is loaded from the Tiny Talk CDN (cdn.tinytalk.ai) on your site’s frontend pages. This script renders the chat widget and handles communication between your visitors and the Tiny Talk service. What data is transmitted? When a visitor interacts with the chat widget, their messages and the current page URL are sent to Tiny Talk’s servers for processing. No data is collected or transmitted until a visitor actively engages with the chat widget. Service links Tiny Talk AI Terms of Service Privacy Policy