| 开发者 | mokhaled |
|---|---|
| 更新时间 | 2026年7月13日 16:26 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
/about-us.md) that is 4–8 KB of pure content, and pushes those Markdown versions into your /llms.txt index: every entry links straight to the page's .md form and carries a per-page description, so an agent reading your index gets a curated map of your content AND the readable version of each page in one hop. That pipeline — content → Markdown twin → described llms.txt entry — is what the rest of the plugin audits, scores, and advertises.
Mokhai ships seven coherent modules, all driven by one Context Profile:
.md path, ?format=md query, Accept: text/markdown content negotiation) and uniform 404 on denial. Per-post cache with content-hash invalidation, Gutenberg sidebar preview, WP-CLI command, REST endpoint for admin tooling./llms.txt generator that publishes a discovery surface for AI agents, where every entry links to the page's Markdown version and carries a description — curated by you or drafted by an optional LLM-powered pass from the post content. Conflict detection against robots.txt, plus an editorial entries admin UI for adding non-WordPress URLs.wp mokhai context-score recompute. Includes an optional LLM-generated narrative (with a rule-based fallback) explaining the score and the highest-leverage fixes./llms.txt line side by side, plus an on-demand "sample AI summary" so you can sanity-check what an agent would say about the page./llms.txt regenerate, Markdown preview) through the WordPress Abilities API, and surfaces them to MCP clients via the WordPress MCP adapter. Every ability is manage_options-gated.ai.txt, /.well-known/ declarations, OpenAPI) beyond /llms.txt, so a site running several discovery channels scores higher than one running only one.AI assistants like ChatGPT, Claude, and Perplexity increasingly visit websites to answer questions for their users. Most WordPress themes serve them the same heavy HTML built for humans — menus, sliders, widgets — and the actual content gets lost in the noise. llms.txt is a simple convention: a plain-text file at your site's root (like robots.txt, but for content) that tells AI assistants what your site is about and where to find your best pages. Mokhai generates and maintains it for you, alongside clean Markdown versions of your pages that agents can actually read. If AI assistants are answering questions in your topic area, this determines whether your site is the source they cite — or the one they skip.
No. Every deterministic surface (Markdown Views, /llms.txt floor, rule-based Context Score narrative, gap-fill JSON-LD emission) runs fully locally with no external calls. Modules that benefit from an LLM (the Markdown cleanup pass, /llms.txt entry-description drafting, the LLM-narrated Context Score) require the optional WP AI Client to be configured, but each is independently toggleable and not load-bearing for the core agent-readiness contract.
For JSON-LD: when an SEO plugin (Yoast, Rank Math, AIOSEO, The SEO Framework) is active, Mokhai emits nothing competing — schema is theirs. When no SEO plugin is emitting JSON-LD, you can optionally enable Mokhai's native gap-fill emission from the Context Profile. For noindex: Mokhai auto-detects per-post noindex from Yoast, Rank Math, and AIOSEO and drops the post from agent surfaces. Use the mokhai_post_is_noindexed filter to add support for additional sources.
/llms.txt is one surface among several. Mokhai ships the integrated reading layer (Markdown views), the discovery layer (/llms.txt with editorial entries and LLM-powered descriptions), the audit layer (Context Score across seven sub-scores), and the schema coordination layer as a single coherent unit driven by one Context Profile. Most existing plugins target one of these surfaces in isolation; Mokhai treats them as a coordinated stack.
v0.5.0 is the public-launch baseline: Markdown Views, /llms.txt, the Context Score, the AI Assistant Preview pane, and the WordPress Abilities API + MCP integration. Looking ahead: agent-activity analytics (see which AI agents visit your site, not just optimize for them), a fuller agent-actionable layer (callable tools via WebMCP / navigator.modelContext), and a richer /.well-known/llms-policy.json policy-declaration surface.
wp-content/uploads/mokhai/md/, served statically by any host with no PHP involved. This keeps agent-readable content available on sites behind hard full-page caches or static exports, where the request-time .md route may never reach PHP. Files follow the full content lifecycle: regenerated on save, moved on slug change, deleted on trash or exposure revoke, with a daily backstop sync and full cleanup on deactivation/uninstall. (#283)static_md_mode profile key (auto/on/off, default auto). (#283)<head> alternate links and HTTP Link headers before the model sees the page — an in-content link is the only discovery signal that survives, and because it's part of the page HTML it also survives inside cached copies. Disable with the content_link_enabled profile key (default on). (#283)mokhai scheme. No new features ship in this release.
Mokhai\), WP-CLI root (wp mokhai), REST namespace (mokhai/v1), WordPress Abilities category (mokhai), option/meta/table keys (mokhai_*), and all hook names (mokhai_*) now match the plugin's public name. The previous ai-readiness-kit, agentready, and ai_readiness_kit identifiers are gone.agentready_* or ai_readiness_kit_* names in releases prior to 0.5.0. A pre-0.5.0 install re-initialises its settings on first page-load after upgrade; re-configure the Context Profile under Tools → Context (Exposed CPTs, Exposed statuses, and toggles). The Markdown cache rebuilds on demand from the first request to each .md URL.mokhai-agent-readiness-kit). This release is launch housekeeping — no functional change, no migration:
mokhai-agent-readiness-kit name (Plugin URI, package metadata). REST routes, WP-CLI commands, abilities, option keys, and all stored data are unchanged — existing installs upgrade in place with no action required.mokhai-agent-readiness-kit). wp.org plugin review rejected "Agentable" as colliding with existing third-party projects and required a name and slug that are clearly ours, with a distinctive leading term. "Mokhai" satisfies that. REST, WP-CLI, abilities, option keys, and all stored data are unchanged — existing installs upgrade with no migration. (#259)
Also ships the following changes that landed on main since 0.3.1:
/llms.txt now warns in the admin when a static robots.txt blocks the /llms.txt reference, so the conflict isn't silent. (#245, #250)/llms.txt emits the site header on an otherwise-empty index instead of returning a blank body. (#244, #249)/llms.txt index. (#243, #248)post_title when a filtered title comes back empty, so titled posts no longer render untitled. (#242, #247)agentable). The previous "AgentReady" brand collided with an existing third party (agentready.org), so the plugin is renamed to a distinct, ownable name that also fits the roadmap — sites readable today, actionable next. REST, WP-CLI, abilities, and stored data keys are unchanged, so existing installs upgrade with no migration. Also makes root-served-file detection (llms.txt, ai.txt, .well-known/*) subdirectory-install aware via get_home_path() instead of assuming the install root is the web root. (#230)
0.3.0 — 2026-06-12
Polish release. Refinements surfaced through a full live UX walkthrough of the v0.2.0 admin surfaces — score-narrative correctness, clearer labels, and a more discoverable plugin. Also renamed to "AgentReady – AI Readiness Kit"; REST, WP-CLI, and stored data keys are unchanged. (#224)
Improved
/llms.txt, ai.txt, /.well-known/ai-layer, /.well-known/llms-policy.json) now score 100 on their own; OpenAPI is credited as a bonus channel for API-exposing sites rather than capping the score at 80. (#212)/llms.txt description coverage). Internal key unchanged. (#211)agentready_description_min_content_chars. (#214)multi_channel_discovery key. (#210)_n() plural forms ("1 minute ago" / "5 minutes ago"); excluded posts in the Descriptions table are labelled "excluded" and the intro copy matches. (#215)/llms.txt line, side by side) with an on-demand synchronous "sample AI summary". No cron; degrades gracefully without an AI provider. (#45)manage_options-gated abilities (audit-run, profile-read, profile-set-exposure, llms-txt-regenerate, md-view-preview) exposed via core wp-abilities/v1, and reachable by MCP clients through the WordPress MCP adapter when installed. (#21, #131)/llms.txt (ai.txt, /.well-known/ declarations, OpenAPI), with a filterable sibling-provider registry. Discoverability re-weighted 20 → 10 to fund it; total stays 100. (#22)Engine::WEIGHTS). (#137, #139, #140)esc_html() (angle brackets escaped via JSON_HEX_TAG), so the structured-data payload validates in every standards-compliant validator. (#118)/llms.txt recompute, Context Score recompute, Markdown cleanup, description generation) — fixes "stuck pending forever" on sites where wp-cron sat stale. (#115, #120, #121)/llms.txt entry descriptions via a shared helper. (#145, #147)/llms.txt now recomposes when a post's description changes, and carries a generator-version staleness signal so out-of-date descriptions are detectable. (#149, #151)package.json version now tracks the plugin version (was drifting at 0.1.0). (#113)/llms.txt output.
Fixes
/llms.txt regen now fires reliably after Context Profile saves on sites where wp-cron sits stale (e.g. wp-env without traffic, any site where cron failed for a window). Service::schedule_regen() now clears stale past-timestamp events before scheduling a fresh one. (#103)Schema_Emitter now emits per-content JSON-LD for custom CPTs. Built-in post maps to Article; page and every other CPT (including custom ones like lesson, product, recipe) map to WebPage by default. Adds an agentready_schema_type_for_cpt filter for plugin/theme authors to specialize. Honors 'Article' / 'WebPage' / null (suppress) in v0.1.1; full custom-@type support lands in v0.1.2. (#104)/llms.txt entry links now point at the .md form when Markdown Views is enabled — AI agents fetch a 4–8 KB Markdown body instead of the 50–100 KB HTML page. Pretty permalinks use the <slug>.md shape; plain permalinks fall through to ?format=md. Idempotent: URLs already in either form are returned unchanged. When markdown_views_enabled is false, the canonical permalink is preserved. (#105)’, &, ", —, etc.) no longer leak into the plain-text /llms.txt body. WordPress's wptexturize filter HTML-encodes typographic characters; the composer now decodes them at the bottom of the escape pipeline so every text surface (site name, tagline, section label, entry title, description) is clean. (#106).md, query ?format=md, Accept: text/markdown)wp ai-readiness-kit md preview WP-CLI command with --format=wrapped, --show-meta, --bypass-exposure/wp-json/ai-readiness-kit/v1/markdown-views/preview/llms.txt generator with Context Profile-driven inclusion rulesrobots.txt with admin noticewp ai-readiness-kit llms-txt {status,regen,preview}wp ai-readiness-kit context-score recomputerequires_wp / requires_php runtime gate with admin-notice degradationagentable