AJ Agent Crawl Optimizer is a thin compatibility layer that teaches your site to speak the languages AI agents already use to discover and consume web content. It publishes machine-readable manifests at well-known URLs, serves clean Markdown when an AI requests it, and declares your AI-usage preferences — all without changing anything for human visitors.
Each capability is a separate toggle under Settings AJ Agent Crawl Optimizer and ships opt-in (everything starts off). On first activation, a one-time Quick Setup wizard suggests sensible defaults based on your environment (for example, it skips JSON-LD when an SEO plugin is detected so you don’t get duplicate structured data).
/.well-known/api-catalog linkset advertising your REST API, plus a Link: rel="api-catalog" header on every response so agents discover it from any URL./.well-known/mcp/server-card.json describing the site to MCP-aware agents./.well-known/agent-skills/index.json listing six skills (search, posts, pages, media, categories, tags) plus per-skill SKILL.md artifacts with verifiable sha256 digests./llms.txt curated, LLM-readable index of your top pages and recent posts, with a Discovery section auto-linking every other plugin endpoint.Accept: text/markdown, the page is served as clean Markdown with X-Markdown-Tokens for context budgeting. Browsers (which send text/html) are completely unaffected./?format=openapi returns a complete spec generated dynamically from rest_get_server(), including plugin-registered REST routes.navigator.modelContext.provideContext() for browsers that support the W3C WebMCP draft.Content-Signal: ai-train=no, search=yes, ai-input=no directive to robots.txt declaring your AI-usage preferences (per contentsignals.org). Composes with Yoast/Rank Math/AIOSEO — their additions are preserved, our line lands at the very end./{subsite}/... paths automatically.PHP_INT_MAX priority so it doesn’t break object-cache flushes or Query Monitor. IndexNow pings are non-blocking.aria-label, copy buttons announce success via aria-live, decorative arrows hidden from screen readers via CSS pseudo-elements.The plugin exposes nine filter hooks for extension. Examples:
add_filter( 'ajaco_required_capability', function () { return 'edit_posts'; } );
Delegate plugin access to a non-admin role.
add_filter( 'ajaco_skill_definitions', function ( $skills ) { return $skills + [ 'products' => [ 'type' => 'information-retrieval', 'description' => 'WooCommerce products', 'endpoint' => rest_url( 'wc/v3/products' ) ] ]; } );
Register custom skills that ship in the Agent Skills Index and are served as SKILL.md artifacts with verifiable sha256 digests.
add_filter( 'ajaco_content_signal', function () { return 'ai-train=yes, search=yes, ai-input=yes'; } );
Customize the Content-Signal directive (e.g. permit AI training).
Other hooks: ajaco_api_catalog_linkset, ajaco_mcp_server_card, ajaco_json_ld_graph, ajaco_openapi_spec, ajaco_llms_txt_content, ajaco_active_seo_plugin. The settings page’s Help tab For Developers lists all of them with descriptions.
This plugin connects to one external service, and only when the corresponding feature is explicitly enabled by the site administrator.
What it is and what it’s used for: IndexNow is an open protocol (originally from Microsoft Bing and Yandex) that lets sites notify search engines the moment a URL is published or updated, so search engines can re-crawl within minutes instead of days.
When data is sent: only when the IndexNow feature toggle is turned on AND an IndexNow API Key is configured on the settings page. In that case, every time a post of a public post type transitions to the publish status, the plugin fires a single non-blocking HTTPS POST to https://api.indexnow.org/indexnow.
What data is sent: the request body is a JSON document containing exactly three fields — your site’s host (e.g. example.com), your IndexNow API key (which you generated yourself at Bing Webmaster Tools), and the permalink URL of the post that was just published. No visitor information, IP addresses, user-agents, or post content is sent.
If the IndexNow feature toggle is off (the default), the plugin makes no outbound network requests of any kind.
This service is provided by Microsoft (Bing) and the IndexNow project. Their terms and privacy policies apply:
AJ Agent Crawl Optimizer stores data only on your own server — there is no telemetry, no analytics, and no third-party logging. Specifically:
The plugin makes exactly one outbound HTTP request, and only when explicitly enabled:
https://api.indexnow.org/indexnow on every post publish. The payload contains the site host, the IndexNow key, and the URL of the published post (no visitor data).If the IndexNow toggle is off (the default), the plugin makes zero outbound network requests. All other features (manifests, JSON-LD, robots.txt) only respond to incoming HTTP requests; they never call out.
The plugin does not set any cookies.
When the plugin is deleted (not just deactivated), all plugin options, the IndexNow key, and all transients are removed from the database. Multisite networks have every site cleaned in turn.