AI-Only Pages
AI-Only Pages gives you granular control over which search engine bots can index each page on your WordPress site — while simultaneously making those pages more discoverable and useful for AI crawlers like ChatGPT, Claude, and Perplexity. The core idea: you have content that is perfect for AI training pipelines and retrieval-augmented generation (RAG) systems, but you do not want that content competing for rankings in Google, Bing, or Yahoo. AI-Only Pages lets you mark those pages as AI-only: they disappear from traditional search engine indexes while becoming first-class citizens in the AI ecosystem. What it does Per-bot noindex — Block individual bots (Googlebot, Bingbot, Yandexbot, etc.) with a checkbox per bot per page. Checking one bot blocks it; the others still index normally. “Block All” master toggle — One click blocks all 10 supported search engine bots simultaneously. tags and HTTP headers — Both HTML meta tags and X-Robots-Tag HTTP headers are emitted, covering all crawling contexts. Works correctly on all public post types including Pages and custom post types. SEO plugin integration — Suppresses Yoast SEO, WP Core, and RankMath’s global tag on AI-only pages so there is no conflict between the global tag and your per-bot tags. Sitemap exclusion — AI-Only pages are automatically removed from all XML sitemaps (Yoast SEO and WP Core sitemaps are both supported). /llms-index.txt — A plain-text AI discovery file served at yoursite.com/llms-index.txt listing all AI-only pages with their titles and last-modified dates. AI crawlers can use this file to find your AI-optimised content directly. Can be toggled on/off from the settings page. Token Diet — clean AI output — When an AI crawler visits an AI-only page, the plugin serves a cleaned version of the HTML with navigation, sidebars, footers, cookie banners, inline styles, SVGs, and iframes stripped out. AI models receive pure content with minimal noise. Global Settings Page — A top-level “AI-Only Pages” menu in the WordPress admin sidebar lets you configure Token Diet and LLM Index behaviour globally, without touching code. Caching plugin notice — If WP Rocket, LiteSpeed Cache, or another full-page caching plugin is detected, an admin notice explains how to configure it to work alongside this plugin. The Settings Page A full settings page is available under AI-Only Pages in the WordPress admin sidebar. It provides: Section 1 — Instructions & Status: A “How It Works” guide covering the meta box, Token Diet, and LLM Index. A live, clickable URL to your /llms-index.txt file with a green/red status indicator showing whether the index is active. Section 2 — LLM Index Settings: A toggle to enable or disable /llms-index.txt globally. When disabled, the endpoint returns a 404. Section 3 — Token Diet Master Control: A master toggle to enable or disable Token Diet entirely. When off, AI bots receive raw, full HTML — identical to what human visitors see. Section 4 — Granular Token Diet Stripping: Individual toggles for each category of content stripped: Strip structural layout (headers, footers, sidebars, navigation, cookie banners) Strip tags and embedded CSS Strip elements (major token bloaters) Strip elements (maps, embeds, social widgets) Strip elements (Warning: removes WooCommerce Add to Cart buttons) Strip tags (Note: application/ld+json schema is always preserved) Supported Search Engine Bots Googlebot (Web), Googlebot-Image, Googlebot-News, Googlebot-Video, AdsBot-Google, Bingbot, Slurp (Yahoo), DuckDuckBot, Baiduspider, YandexBot. AI Bots Welcomed GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, YouBot, Meta-ExternalAgent, Amazonbot, Bytespider, Diffbot, cohere-ai, anthropic-ai, AI2Bot, OAI-SearchBot, and more. These bots are detected automatically and served cleaned content when they visit an AI-only page. Developer-Friendly Every major behaviour is extensible via WordPress filters. See the Developer Reference section below. The Settings class hooks into filters at priority 5, leaving priorities 10 and above free for developer overrides — so your custom add_filter() calls always win. Using the Plugin Per-page control Open any post or page in the WordPress editor. Find the AI-Only Pages meta box in the right sidebar. Check individual bots to block them, or use Block from ALL search engine bots to check all at once. Click Publish or Update to save. The noindex tags take effect immediately. Visit yoursite.com/llms-index.txt to confirm your page appears in the AI content index. Note: The master toggle requires JavaScript. The individual checkboxes always work regardless of JS state. Global settings Go to AI-Only Pages in the WordPress admin sidebar. Review the “How It Works” section and confirm your /llms-index.txt URL is live. Use the LLM Index Settings card to enable or disable the discovery file. Use the Token Diet — Master Control card to enable or disable all output cleaning. Use the Token Diet — Granular Stripping card to select exactly which HTML elements are stripped from AI output. Click Save Settings. Developer Reference All filters are applied inside AIOnly\Pages\Plugin. The Settings class hooks at priority 5; standard developer priority is 10+. aionly_ai_crawler_signatures Array of User-Agent substrings used for Layer 1 bot detection. @param string[] $signatures @return string[] aionly_strip_selectors CSS-style selector strings passed to Pass 1 of Token Diet (structural removal). Supports element tag, #id, and .class (one class, no combinators). @param string[] $selectors @return string[] aionly_strip_token_bloat_tags XPath query strings passed to Pass 2 of Token Diet (tag removal). @param string[] $queries @return string[] aionly_allowed_attributes HTML attribute names kept on every element by Pass 3 of Token Diet. Everything else is stripped. @param string[] $attributes @return string[] aionly_should_clean_output Boolean. Return false to disable Token Diet entirely for a specific post. @param bool $enabled Default: true. @param \WP_Post $post @return bool aionly_enable_xrobots_headers Boolean. Return false to suppress X-Robots-Tag HTTP headers. @param bool $enabled Default: true. @param \WP_Post $post @return bool aionly_cache_ttl Filter the transient TTL in seconds. @param int $ttl Default: 600 (10 minutes). @return int aionly_llms_index_lines Filter the array of text lines that make up llms-index.txt before output. @param string[] $lines Array of lines (including comment lines). @param int[] $active_ids Post IDs included in the index. @return string[] aionly_supported_post_types Array of public post type slugs the plugin should support. @param string[] $post_types @return string[] aionly_use_heuristic_bot_detection Boolean. Return false to disable Layer 2 heuristic bot detection. @param bool $enabled Default: true. @return bool Code Examples Disable heuristic bot detection (uptime monitors): add_filter( 'aionly_use_heuristic_bot_detection', '__return_false' ); Preserve WooCommerce forms (developer override — wins over settings page): add_filter( 'aionly_strip_token_bloat_tags', function( $queries ) { return array_filter( $queries, function( $q ) { return $q !== '//form'; } ); } ); Add a custom strip selector: add_filter( 'aionly_strip_selectors', function( $selectors ) { $selectors[] = '.advertisement'; $selectors[] = '#newsletter-popup'; return $selectors; } ); Keep class attributes in AI output: add_filter( 'aionly_allowed_attributes', function( $attrs ) { $attrs[] = 'class'; return $attrs; } ); Add a custom AI crawler signature: add_filter( 'aionly_ai_crawler_signatures', function( $sigs ) { $sigs[] = 'FutureBot'; return $sigs; } ); Restrict to specific post types: add_filter( 'aionly_supported_post_types', function( $types ) { return [ 'post', 'page' ]; // Only posts and pages. } ); Disable Token Diet on a specific post (always wins, priority 10 > settings priority 5): add_filter( 'aionly_should_clean_output', function( $enabled, $post ) { if ( 42 === $post->ID ) { return false; // Post 42 serves full HTML to AI bots. } return $enabled; }, 10, 2 ); Read a single setting value in custom code: $token_diet_on = '1' === \AIOnly\Pages\Settings::get( 'token_diet_enabled' ); $all_settings = \AIOnly\Pages\Settings::get_settings(); // Full array.
Top keywords
- return22×1.79%
- ai17×1.38%
- post17×1.38%
- token17×1.38%
- pages16×1.30%
- settings16×1.30%
- diet15×1.22%
- token diet14×1.14%
- aionly13×1.06%
- param13×1.06%
- ai-only12×0.98%
- string12×0.98%
Code Engine – PHP Snippets, AI Functions & Automation for WordPress
Code Engine is a snippets manager that doesn’t stop at snippets. Yes, it runs your PHP and JavaScript exactly where and when you want: frontend, backend, on a schedule, or inside your content. But its real magic is what happens after you write a function: the same little piece of code instantly becomes a tool your AI chatbots can call, a step you can drag into a visual workflow, and an endpoint the outside world can trigger. One function, three superpowers. Most “code snippets” plugins stop at a textarea and a toggle. Code Engine treats your functions as first-class building blocks for the whole Meow Apps ecosystem, and for anything that can speak REST. Think out of the box, let your creativity flow, because the possibilities really are endless! ✨ For more, check the official website and come say hi on the Discord. Quick Intro Hello! ☀️ I built Code Engine because I was tired of pasting mystery snippets into functions.php and praying. I wanted a place where small bits of code are organized, safe, AI-assisted, and reusable everywhere. Here’s the idea. You write a function (or let the AI write it for you from a plain-English description). That function immediately shows up in three places: AI Engine: your chatbots and MCP clients (Claude, ChatGPT, Claude Code) can call it as a tool, with real arguments. Ask “how many orders shipped today?” and your chatbot runs your function to answer. Workflow Engine: your function appears in the step picker as its very own block. Drag it onto the canvas, wire it between an AI step and a Slack step, done. No glue code. REST / External tools: give it a secure endpoint and a token, then trigger it from Make.com, n8n, Zapier, a cron job, or a webhook. You never wrote an “integration.” You just wrote a function. Code Engine did the rest. 🤝 Core Modules 🧩 Snippets Manager Backend, Frontend, Persistent, Scheduled, Functions, and in-content (PHP/JS) snippets, all in one clean dashboard with tags, search, scope filters, and priorities. 🪄 AI-Assisted Coding Describe what you want in plain English and let AI Engine write the snippet: code, name, arguments, and scope included. Refine existing code or implement it straight from your comments. 🤖 Functions as AI Tools Every Function snippet becomes a function-calling tool and an MCP tool, so your AI Engine chatbots (and external AI agents) can actually do things on your site, not just talk. 🔀 Functions as Workflow Steps Workflow Engine surfaces each of your functions as its own draggable step. Your custom logic becomes a first-class citizen on the automation canvas. 🌐 External Access (REST) Expose any runnable snippet through a secured REST endpoint with a bearer token. Perfect for Make.com, n8n, webhooks, and scheduled external jobs. 🛡️ Safe Mode A snippet that throws a fatal error is automatically caught and disabled before it can take your site down. Code with confidence. ⏰ Scheduling Run a snippet daily at a chosen time via WP-Cron (reports, cleanups, syncs) without touching the server crontab. 🧱 Code Blocks & Shortcodes (Pro) Drop PHP or JS straight into a post or page with a Gutenberg block or the [code-engine] shortcode, with safety guards. 🧩 Snippets, the way they should be Code Engine organizes your code by scope, so each snippet runs exactly where it belongs: Persistent: runs everywhere (frontend and backend). Your everyday “add this to functions.php” code, but managed. Frontend: runs only on the public site. Backend: runs only in the admin. Function: a named, callable function with typed arguments and defaults. This is the reusable building block (see below). Scheduled: runs on a WP-Cron schedule, at the hour and minute you pick. Content (PHP / JS): runs inside a specific post or page, via a Gutenberg Code Block or the [code-engine] shortcode (Pro). Everything is searchable, taggable, sortable by priority, and importable/exportable. The CodeMirror editor gives you proper syntax highlighting and keyboard shortcuts (Cmd+S to save, Cmd+Enter to run). A nikic/php-parser pass validates your PHP before it ever runs. 🪄 Let AI write it for you Don’t feel like writing the boilerplate? Describe the snippet in plain language and Code Engine, powered by AI Engine, generates the whole thing: the code, a sensible name, a description, the right scope, and, for functions, the argument list with names, types, and defaults. Already have code? Ask the AI to modify it from a prompt, or write a few comments describing what you want and let it fill in the implementation. It’s pair programming, right inside your dashboard. ✨ The big idea: write once, use everywhere This is what makes Code Engine different. A Function snippet is not just code you call from other code. It’s a reusable capability that the rest of your stack can plug into. The moment you save it, the same function is available in three places at once: 1. As an AI tool, for chatbots and AI agents With AI Engine active, your functions are exposed through function calling and over MCP (Model Context Protocol). Your on-site chatbot can run them mid-conversation, and external AI agents (Claude, Claude Code, ChatGPT, OpenClaw) can call them too. Want a chatbot that checks stock, looks up a booking, or kicks off a process? Write the function; the chatbot gains the skill. 2. As a workflow step, for automation With Workflow Engine, every active function shows up in the Add-step picker as its own block, named after your snippet, with one input per argument. Drag it onto the canvas and wire it between other steps: an AI step that summarizes, your function that saves, a Social Engine step that posts. There’s also a generic “Execute snippet (by ID / by name)” step when you want to call one dynamically. You never write integration code; your function is the integration. 3. As a REST endpoint, for the outside world Give a snippet a custom endpoint name and a bearer token, and it’s instantly callable from anywhere: POST /wp-json/code-engine/v1/snippets-endpoint/your-endpoint Pass arguments as JSON in the body, secure it with a token, and trigger it from Make.com, n8n, Zapier, GitHub Actions, or a humble cron job. Automation without a middleware bill. 🛡️ Safe by default Running arbitrary code is powerful, so Code Engine takes safety seriously: Safe Mode catches fatal errors and auto-disables the offending snippet, so a typo never white-screens your site. REST whitelisting means global snippets only run on trusted REST routes by default, so you choose what to open up. Per-snippet tokens secure your external endpoints. Validation with a real PHP parser before code is saved. For developers who want fewer guardrails, there’s a “Bypass REST Security” option and filters (mwcode_rest_authorized, mwcode_rest_whitelist) to tailor exactly what’s allowed. Works beautifully with the Meow Apps family Code Engine is one engine in a connected set, each one useful alone, magical together: AI Engine: chatbots, content generation, and MCP. Turns your functions into AI tools. Workflow Engine: visual automation. Turns your functions into draggable steps. SEO Engine: smart, lightweight AI SEO. Social Engine: schedule and automate social posts. Why Code Engine? Reusable, not throwaway Other snippet plugins give you a place to paste code. Code Engine gives you a place to build capabilities that your AI, your workflows, and your external tools can all use. Native to WordPress Clean, fast, and built the WordPress way. No clunky external dashboards, no bloat. AI-native Write snippets with AI, expose them to AI. The whole loop lives in your wp-admin. Developer friendly REST API, MCP tools, function calling, scheduling, import/export, and plenty of filters to hook into. Cared for Part of the Meow Apps family, with regular updates and a real human behind it. 💕