{"id":328611,"date":"2026-06-22T15:02:49","date_gmt":"2026-06-22T15:02:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/agentify\/"},"modified":"2026-06-22T15:51:17","modified_gmt":"2026-06-22T15:51:17","slug":"agentimus","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/agentimus\/","author":8853146,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Agentimus","header_author":"Sheikh Heera","header_description":"An AI-discovery layer for your site: a \/.well-known discovery document, machine-readable pages (llms.txt, markdown, JSON-LD), AI-crawl controls, and a first-party agent-activity log. Lightweight, no SEO bloat.","assets_banners_color":"cad4c7","last_updated":"2026-06-22 15:51:17","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/heera\/agentimus","header_author_uri":"https:\/\/heera.it","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"heera","date":"2026-06-22 15:51:17"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3581957,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3581957,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-512x512.png":{"filename":"icon-512x512.png","revision":3581957,"resolution":"512x512","location":"assets","locale":"","width":512,"height":512}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3582241,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3582241,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3581957,"resolution":"1","location":"assets","locale":"","width":1440,"height":1468},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3581957,"resolution":"2","location":"assets","locale":"","width":1440,"height":1967},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3581957,"resolution":"3","location":"assets","locale":"","width":1440,"height":1412},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3581957,"resolution":"4","location":"assets","locale":"","width":1440,"height":1928},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3581957,"resolution":"5","location":"assets","locale":"","width":1440,"height":1258},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3581957,"resolution":"6","location":"assets","locale":"","width":1440,"height":418}},"screenshots":{"1":"Dashboard \u2014 your readiness score plus a first-party log of which AI agents and crawlers fetched your endpoints (no IP logging).","2":"Settings \u2014 your public identity, a security.txt contact, and one toggle per agent-readiness signal.","3":"Readiness report \u2014 a plain-English pass\/warn checklist of what's enabled and what's still missing.","4":"Discovery Hub \u2014 every plugin's capabilities aggregated into one document, with per-item publish\/suppress control.","5":"Crawler policy &amp; scanner blocking \u2014 declare your content-usage signals, block AI-training crawlers by name, and turn away spoofed or scanner traffic.","6":"Activity to review \u2014 a nav-bar alert surfaces new, high-volume or spoofed clients from any screen, with one-click Block or Allow (no IP logging)."}},"plugin_section":[],"plugin_tags":[246305,246479,6645,244604,1117],"plugin_category":[55],"plugin_contributors":[151449],"plugin_business_model":[],"class_list":["post-328611","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-agents","plugin_tags-ai-crawlers","plugin_tags-discovery","plugin_tags-llms-txt","plugin_tags-schema","plugin_category-seo-and-marketing","plugin_contributors-heera","plugin_committers-heera"],"banners":{"banner":"https:\/\/ps.w.org\/agentimus\/assets\/banner-772x250.png?rev=3582241","banner_2x":"https:\/\/ps.w.org\/agentimus\/assets\/banner-1544x500.png?rev=3582241","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/agentimus\/assets\/icon-128x128.png?rev=3581957","icon_2x":"https:\/\/ps.w.org\/agentimus\/assets\/icon-256x256.png?rev=3581957","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/agentimus\/assets\/screenshot-1.png?rev=3581957","caption":"Dashboard \u2014 your readiness score plus a first-party log of which AI agents and crawlers fetched your endpoints (no IP logging)."},{"src":"https:\/\/ps.w.org\/agentimus\/assets\/screenshot-2.png?rev=3581957","caption":"Settings \u2014 your public identity, a security.txt contact, and one toggle per agent-readiness signal."},{"src":"https:\/\/ps.w.org\/agentimus\/assets\/screenshot-3.png?rev=3581957","caption":"Readiness report \u2014 a plain-English pass\/warn checklist of what's enabled and what's still missing."},{"src":"https:\/\/ps.w.org\/agentimus\/assets\/screenshot-4.png?rev=3581957","caption":"Discovery Hub \u2014 every plugin's capabilities aggregated into one document, with per-item publish\/suppress control."},{"src":"https:\/\/ps.w.org\/agentimus\/assets\/screenshot-5.png?rev=3581957","caption":"Crawler policy &amp; scanner blocking \u2014 declare your content-usage signals, block AI-training crawlers by name, and turn away spoofed or scanner traffic."},{"src":"https:\/\/ps.w.org\/agentimus\/assets\/screenshot-6.png?rev=3581957","caption":"Activity to review \u2014 a nav-bar alert surfaces new, high-volume or spoofed clients from any screen, with one-click Block or Allow (no IP logging)."}],"raw_content":"<!--section=description-->\n<p>Agentimus makes your site legible to AI agents and crawlers. At its core it publishes a single, normalized <strong>discovery document<\/strong> at <code>\/.well-known\/discovery.json<\/code> \u2014 an open, standards-aligned map of your site's identity, capabilities and APIs \u2014 and is a reference implementation of that open discovery convention, not a private format. It backs that with the signals agents and search engines read <em>today<\/em>: clean machine-readable pages, JSON-LD, AI-crawl controls, and a first-party log of which agents actually visit. A one-screen readiness report shows how machine-readable your site is and what's still missing.<\/p>\n\n<p>This is more than an llms.txt generator: llms.txt is one signal among several, sitting under a coherent discovery layer rather than being the whole product.<\/p>\n\n<p>It makes no outbound requests, collects no analytics, and logs no IP addresses. Everything runs on your own site.<\/p>\n\n<p><strong>Control \u2014 who may use your content<\/strong><\/p>\n\n<ul>\n<li><strong>robots.txt content-signals + AI-training blocklist<\/strong> \u2014 declare your content-usage policy and block named model-training crawlers (GPTBot, CCBot, ClaudeBot, Google-Extended, Bytespider, \u2026) by name, while leaving read\/cite bots free.<\/li>\n<li><strong>Block scanners &amp; scrapers (opt-in hard block)<\/strong> \u2014 robots rules are a polite request; this enforces them. Turn it on to return 403 to the user-agents on your denylist, and optionally auto-deny agents that disguise themselves as ancient handsets (a classic scanner trick). Protected search engines and anything on your allow-list are never blocked, and <code>\/.well-known\/acme-challenge\/<\/code> (SSL renewal) always stays reachable.<\/li>\n<\/ul>\n\n<p><strong>Visibility \u2014 who is reading you<\/strong><\/p>\n\n<ul>\n<li><strong>Agent activity log<\/strong> \u2014 a dashboard of which AI crawlers and agents actually fetch your content and endpoints (GPTBot, Claude, Perplexity, Googlebot, \u2026), recorded first-party in your own database, with no IP logging.<\/li>\n<li><strong>Activity to review<\/strong> \u2014 a nav-bar queue surfaces the clients worth a second look \u2014 new, unusually high-volume, or spoofing what they are \u2014 names a recognised crawler where it can, and offers one-click <strong>Block<\/strong> or <strong>Allow<\/strong> (trust). Nothing is blocked unless you choose to.<\/li>\n<\/ul>\n\n<p><strong>Content \u2014 clean, machine-readable output<\/strong><\/p>\n\n<ul>\n<li><strong>Markdown delivery<\/strong> \u2014 request any page as clean markdown by appending <code>.md<\/code> to its URL (or, where your server allows it, with an <code>Accept: text\/markdown<\/code> header).<\/li>\n<li><strong>\/llms.txt<\/strong> &amp; <strong>\/llms-full.txt<\/strong> \u2014 an <a href=\"https:\/\/llmstxt.org\">llmstxt.org<\/a> index of your pages, topics and recent posts, plus a full-text edition an agent can ingest in a single request.<\/li>\n<li><strong>JSON-LD<\/strong> \u2014 WebSite + Person\/Organization, plus BlogPosting and BreadcrumbList on posts. Automatically <strong>defers to Yoast, Rank Math, SEOPress, AIOSEO and The SEO Framework<\/strong> so you never ship duplicate schema.<\/li>\n<li><strong>XML sitemap<\/strong> \u2014 an opt-in fallback sitemap (index + paginated sub-sitemaps), generated only when neither WordPress core nor an SEO plugin already provides one, and advertised in robots.txt and llms.txt.<\/li>\n<\/ul>\n\n<p><strong>Identity &amp; contact<\/strong><\/p>\n\n<ul>\n<li><strong>Author \/ site identity<\/strong> \u2014 a profile sentence, expertise topics and linked profiles (<code>sameAs<\/code>) feed llms.txt and JSON-LD \u2014 the highest-signal lines for agent retrieval.<\/li>\n<li><strong>security.txt<\/strong> \u2014 optionally publish an RFC 9116 disclosure contact at <code>\/.well-known\/security.txt<\/code>, so researchers and agents have a machine-readable way to report an issue.<\/li>\n<\/ul>\n\n<p><strong>Readiness report<\/strong><\/p>\n\n<ul>\n<li>A one-screen score of how machine-readable your site is, with a plain-English checklist of what's enabled and what's still missing.<\/li>\n<\/ul>\n\n<p><strong>Machine discovery (forward-looking)<\/strong><\/p>\n\n<p>Agentimus also publishes a single, normalized discovery document, built to the conventions the agent ecosystem is converging on (the <code>.well-known<\/code> convention, A2A agent cards, MCP-shaped tools). It puts a site's identity, capabilities and APIs in one predictable place:<\/p>\n\n<ul>\n<li><strong>\/.well-known\/discovery.json<\/strong> \u2014 an owner-curated document describing the site's identity, capabilities, APIs and agent cards. Other plugins can declare themselves through a single optional hook, so what an agent needs is aggregated in one place.<\/li>\n<li><strong>\/.well-known\/agent-card.json<\/strong> and <strong>\/.well-known\/mcp.json<\/strong> \u2014 an A2A agent card and an MCP manifest, generated automatically.<\/li>\n<li><strong>Standards-aligned <code>.well-known<\/code> endpoints<\/strong> \u2014 an RFC 9727 <code>api-catalog<\/code>, plus \u2014 <em>only when the capability actually exists<\/em> \u2014 an MCP server card and an Agent Skills index. Optional <strong>response signing<\/strong> (Web Bot Auth \/ HTTP Message Signatures, RFC 9421): sign the discovery documents with an Ed25519 key published at <code>\/.well-known\/http-message-signatures-directory<\/code>, so agents can verify they came from you. Off by default.<\/li>\n<li><strong>WordPress Abilities API \u2192 MCP tools<\/strong> \u2014 registered abilities are projected into MCP-shaped tool descriptors, and a running MCP server (if one is installed) is detected and linked. Agentimus advertises tools; it does not execute them.<\/li>\n<li><strong>Zero-config auto-discovery<\/strong> \u2014 reads your registered REST API namespaces, public post types and the WordPress Abilities API, so a site is described even when no plugin declares itself. A <strong>Discovery Hub<\/strong> admin screen shows what an agent can see, and you decide what is published.<\/li>\n<\/ul>\n\n<p><strong>What's read today vs. what it readies you for<\/strong><\/p>\n\n<p>Honest framing: the content signals above (JSON-LD, robots, llms.txt, markdown) are read by search engines and AI tools <strong>today<\/strong>. The discovery document is <strong>forward-looking and standards-aligned<\/strong> \u2014 it prepares your site for AI agents as they adopt these conventions, rather than claiming every agent already reads it. The discovery format is an open, openly-licensed convention with a public reference, not a private one, and the plugin works fully whether or not anything consumes that document.<\/p>\n\n<p><strong>Why it's useful<\/strong><\/p>\n\n<p>Most tools cover one slice \u2014 an llms.txt file, an AI-bot blocker, or structured data. Agentimus brings content control, agent-traffic visibility, clean machine-readable output and a forward-looking discovery document together in one coherent, lightweight package \u2014 and tells you what's still missing.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Agentimus does not use, connect to, or send any data to any external or third-party service. Everything runs on your own site: it makes no outbound HTTP requests, loads no remote scripts, fonts or analytics, and stores the agent-activity log in your own database with no IP addresses.<\/p>\n\n<p>The generated discovery documents contain a <code>$schema<\/code> value that <em>names<\/em> the document format (in the same way a schema.org URL identifies a vocabulary). It is a label inside the output only \u2014 it is never fetched.<\/p>\n\n<p>The example URLs in <code>examples\/integrate-your-plugin.php<\/code> (on <code>example.com<\/code>) are placeholders for documentation; they are not requested by the plugin.<\/p>\n\n<h3>Source &amp; build<\/h3>\n\n<p>There is no minified-only code. The admin interface is built from Vue 3 source in <code>resources\/<\/code> with Vite; the source and <code>vite.config.js<\/code> ship in this package and also live in the public repository at https:\/\/github.com\/heera\/agentimus . Run <code>npm install &amp;&amp; npm run build<\/code> to regenerate <code>assets\/admin\/<\/code> from source.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>agentimus<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via Plugins \u2192 Add New.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Agentimus<\/strong> in the admin menu, fill in your Identity (name, profile sentence, expertise, profile links) and review the readiness report.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20agentimus%20make%20external%20requests%20or%20send%20my%20data%20anywhere%3F\"><h3>Does Agentimus make external requests or send my data anywhere?<\/h3><\/dt>\n<dd><p>No. Agentimus makes no outbound HTTP requests \u2014 nothing is sent to any external service, and no analytics or telemetry are collected. The agent-activity log is stored in your own database with no IP addresses. The discovery document includes a <code>$schema<\/code> value that <em>identifies<\/em> the document format (the same way a schema.org URL identifies a vocabulary); it is a label in the output, never fetched.<\/p><\/dd>\n<dt id=\"does%20this%20conflict%20with%20my%20seo%20plugin%3F\"><h3>Does this conflict with my SEO plugin?<\/h3><\/dt>\n<dd><p>No. JSON-LD output automatically stands down when Yoast, Rank Math, SEOPress, AIOSEO or The SEO Framework is active, so structured data is never duplicated. The other endpoints (llms.txt, markdown) don't overlap with SEO plugins.<\/p><\/dd>\n<dt id=\"my%20robots.txt%20rules%20aren%27t%20showing.\"><h3>My robots.txt rules aren't showing.<\/h3><\/dt>\n<dd><p>If a static <code>robots.txt<\/code> file exists at your site root, or your CDN serves its own, it overrides WordPress's virtual robots.txt. The readiness report flags this. Remove the static file to let Agentimus manage the rules.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20my%20site%20down%3F\"><h3>Will it slow my site down?<\/h3><\/dt>\n<dd><p>No. The text endpoints are cached and CDN-friendly; there is no front-end JavaScript or CSS. The admin app loads only on the plugin's own screen.<\/p><\/dd>\n<dt id=\"does%20it%20expose%20anything%20private%2C%20or%20let%20agents%20change%20my%20site%3F\"><h3>Does it expose anything private, or let agents change my site?<\/h3><\/dt>\n<dd><p>No. Agentimus only describes what your site already makes public; it grants no new access. Removing or suppressing an item changes what is <em>advertised<\/em>, not what is reachable \u2014 the underlying endpoints behave exactly as before, behind their own authentication.<\/p><\/dd>\n<dt id=\"how%20do%20i%20make%20my%20plugin%20appear%20in%20the%20discovery%20document%3F\"><h3>How do I make my plugin appear in the discovery document?<\/h3><\/dt>\n<dd><p>Add a single optional action \u2014 no dependency, no library. If Agentimus isn't installed the hook simply never fires:<\/p>\n\n<pre><code>add_action( 'wpdiscovery_register', function ( $registry ) {\n    $registry-&gt;register( array( 'id' =&gt; 'acme', 'title' =&gt; 'Acme', 'type' =&gt; 'commerce' ) );\n} );\n<\/code><\/pre>\n\n<p>Agentimus also fires the product-aliased <code>agentimus_register<\/code>; you may hook either. See <code>examples\/integrate-your-plugin.php<\/code> for the full resource schema (capabilities, endpoints, auth, agent cards, MCP tools).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>\/llms.txt, \/llms-full.txt, markdown delivery, JSON-LD, robots content-signals, and a readiness report.<\/li>\n<li>Agent-activity log \u2014 first-party, no IP logging.<\/li>\n<li>Machine discovery document at \/.well-known\/discovery.json, with an optional registration hook (<code>wpdiscovery_register<\/code>) for plugins to declare capabilities, APIs and agent cards. You control what is published.<\/li>\n<li>MCP &amp; tools: projects the WordPress Abilities API into MCP-shaped tool descriptors, plus \/.well-known\/mcp.json and agent-card.json. Zero-config auto-discovery of REST namespaces and public post types.<\/li>\n<li>Standards <code>.well-known<\/code> endpoints: api-catalog (RFC 9727); an MCP server card and an Agent Skills index when applicable; optional Ed25519 response signing (Web Bot Auth, RFC 9421) for the discovery documents, off by default.<\/li>\n<li>Admin Discovery Hub for inspecting what agents can see, with per-item publish\/suppress control.<\/li>\n<\/ul>","raw_excerpt":"An AI-discovery layer for your site: a \/.well-known discovery document, machine-readable pages, AI-crawl controls, and an agent-activity log.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/328611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=328611"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/heera"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=328611"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=328611"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=328611"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=328611"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=328611"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=328611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}