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%
OpenStation
wp-admin forgets. OpenStation doesn’t. You know the moment. You’re deep in a post and you need one image from the Media Library. You click over, find it, click back, and everything you had going is gone. Your scroll position, your half-typed thought, the three other things you had queued up in your head. That’s not a bug you hit. That’s the design. wp-admin shows you one screen at a time, and every navigation throws the last one away. It has worked this way since 2003, like a fridge that empties itself every time you close the door. WordPress has rebuilt almost everything else. The editor, the site editor, the patterns, the styles. The admin’s one-screen-at-a-time model is the layer nobody touched. OpenStation touches it. Install it and admin screens become draggable, resizable windows. Edit a post while the Media Library sits open next to it. Drag an image from one window straight into the other. Keep comments open in the corner. Reload the browser and your window layout — open pages, positions, sizes, and window states — comes back where you left it. OpenStation itself is free, GPL, and opt-in per user. One click in the admin bar turns it on for you. One click turns it off. Nobody else on your site sees anything change, and deactivating the plugin restores the classic admin exactly. No Core patches and no lock-in. Optional AI providers may charge for their service. Built and maintained by Automattic, the company behind WordPress.com, Jetpack, WooCommerce, and Tumblr. Work on more than one thing at once Admin pages open as windows, including pages added by most other plugins. Drag them, resize them, snap them, tile them, minimize them to a taskbar. The admin menu becomes a dock of icons. Two editors open at once is one click away. Never lose your place Moving between open windows leaves each page in place. Across reloads, OpenStation remembers your open pages, window positions, sizes and states, virtual desktops, and focus. Closing a window with unsaved changes warns you first. A desk you can actually put things on Drop posts, media, and links right onto the wallpaper. Sort them into folders. Trash them to a Trash that actually holds things. The stuff you’re working on this week can just sit out where you can see it. One desktop per job Virtual desktops, the way your operating system does them. One for writing. One for the store. One for comment triage. One for that redesign you keep poking at. Switch between them without closing anything. Find anything with Cmd+K The full WordPress command palette, plus slash commands from your plugins, all under one keystroke. Turn on the optional AI assistant and you can ask it things like “which post had the comment asking for the recipe?” and it searches your own content to answer. (Requires an AI provider configured in Settings → Connectors on WordPress 7.0+. Details under “External services” below.) See how your site fits together The Corkboard is an interactive, zoomable map of how your posts, pages, and products link to each other. Pan around it. Find the orphans. Find the hubs. Running a store? Orders, Products, Coupons, and Customers become browsable folders with stock and sale ribbons. Open a customer to see their lifetime spend and what they buy most. Follow a product to its buyers, or a coupon to who redeemed it. Make it yours Wallpapers, from color presets to animated scenes to your own photo. Live widgets pinned to the desktop: drafts, stats, recent comments, a focus timer. Uploadable desktop themes, including a built-in Legacy theme that brings the old WordPress blue back in one click. And Mio, a soft-body desk companion that drifts across your wallpaper and gets bumped around by your windows. Off by default. You’ll turn it on. For developers Extend OpenStation through documented PHP and JavaScript APIs. Register windows, icons, wallpapers, widgets, commands, and settings tabs through stable openstation_register_* PHP APIs and a typed JavaScript API; customize dock items through documented hooks; add AI tools with the WordPress Abilities API. Copy-paste examples live in the developer docs on GitHub. External services No external service is required for OpenStation’s desktop interface. The optional AI Assistant and two user-initiated enrichment features make the external requests described below. AI Assistant The optional AI Assistant sends data to the AI provider you configure in WordPress’s Settings → Connectors (for example OpenAI, Anthropic, or Google). Generation is routed through WordPress 7.0’s built-in AI Client, which supplies the credentials stored in Connectors. The plugin never handles an API key itself. With no provider configured in Connectors, no external AI requests are made. When the AI Assistant is enabled and a user invokes it (via Cmd+K or the slash-command palette): What is sent: the user’s prompt, the conversation history for the active session, and tool-call metadata. The plugin’s built-in tools (search_posts, search_pages, search_comments) run WordPress’s native keyword search and may include excerpts of the matching posts/pages/comments in tool results, which are then sent back to the provider as part of the agentic loop. When it is sent: on user-initiated AI requests, and (if an administrator enables “Score new comments with AI”) on comment-save hooks for spam analysis. Posts, pages, and taxonomy terms are not sent automatically. Why it is sent: to obtain model completions and tool-call decisions that drive the AI Assistant. Who provides the service: whichever provider you configured in Settings → Connectors. Which provider (and endpoint) receives the data depends entirely on that configuration. Review the chosen provider’s own terms and privacy policy (e.g. OpenAI, Anthropic, or Google). URL shortcut favicons When an authorized user creates a desktop shortcut to an external URL, OpenStation asks that URL for its page HTML and favicon so the shortcut can display the site’s icon. The request is made from your WordPress server and sends the requested URL, the server’s IP address, an OpenStation user-agent string, and normal HTTP request metadata to the operator of that site. This happens only when a user creates the shortcut. The destination site’s terms and privacy policy apply. WordPress.org plugin information When an authorized user opens or refreshes parts of OpenStation’s Plugins window, OpenStation may request public plugin details, update metadata, and review excerpts from WordPress.org. These requests send plugin slugs, the site’s locale, and normal HTTP request metadata to WordPress.org. This information is used only to display and manage plugins. Review the WordPress.org Privacy Policy. OpenStation’s OAuth relay does not contact a service by itself. Third-party plugins that configure the relay may contact their own providers and are responsible for disclosing those services. Credits OpenStation is brought to you by Automattic. The plugin is open source under GPLv2-or-later; contributions are welcome on GitHub. Third-party libraries The plugin bundles the following third-party JavaScript library, loaded on demand only when a feature that needs it is in use: PixiJS (MIT License) — used by the Corkboard window, built-in canvas wallpapers (e.g. the animated WordPress logo), the Mio desk companion, and the Inkfall typing game. PixiJS is loaded from the plugin’s own assets/vendor/ directory; no CDN requests are made. Data files The Inkfall game’s word list (assets/games/inkfall/words.txt) is generated from the following sources (attribution also ships in the file’s header): FrequencyWords by Hermit Dave (CC-BY-SA 4.0) — English word-frequency ranking derived from the OpenSubtitles corpus. english-words by dwyl (Unlicense) — used as a validity filter. LDNOOBW English list (CC-BY 4.0) — used as an exclusion filter.