Directory / plugin
Acid AEO — AI Readiness, Citations & Rich Data
v1.0.5 · by Acid Studios
Help ChatGPT, Perplexity and Google AI cite you: llms.txt, one AI crawler policy, rich data, IndexNow and a readiness score, set up in two minutes.
About this plugin
Search is turning into answering. ChatGPT, Perplexity, Claude, Gemini and Google AI Overviews read your site, summarise it and decide whether to cite you. Acid AEO gives them exactly what they need to understand and quote you, and gives you the controls, the score and the proof.
Two minutes, no code. Install, answer a short wizard, read your AI readiness score. Watch the whole run, from the directory install to the first audit:
Documentation, from install to the developer reference: https://acidstudios.ro/acid-aeo/docs/
What you get in two minutes
- A site AI assistants can read in one request.
llms.txtwith your key pages, offerings and FAQ, plusllms-full.txtwith the full text: the files answer engines look for first. - One AI crawler policy, applied everywhere. Pick a preset from “citable” to “closed” or decide per crawler; the same policy is written to
robots.txt,ai.txt, theContent-Signalheader andllms.txt, so they can never disagree. - Rich data that does not fight your SEO plugin. One JSON-LD graph (Organization, WebSite, WebPage, BreadcrumbList, Article, Person, FAQPage, Speakable). Yoast, Rank Math, SEOPress, AIOSEO, The SEO Framework and Slim SEO are detected, and the plugin steps aside for what they already emit.
- Found faster. IndexNow tells Bing and its partners the moment you publish.
- Proof it works. A readiness score from 0 to 100, the fixes that matter (most of them one click), and AI citation tracking: which crawlers fetched what, and which answer engines sent you visitors. No cookies, no stored IP addresses.
Who it is for
Site owners and agencies who want the AI-readiness stack done right without reading the specs. Developers who want every output filterable, a REST API and WP-CLI commands for the same operations.
Why people trust it
- One source of truth: identity and policy are set once in the wizard, and every file and every schema node is generated from it.
- Nothing leaves your server except IndexNow pings (on by default, one switch to turn off). No analytics, no phone-home, no external fonts.
- Honest by design: the audit reports what is actually served, not what is configured, and never overwrites a file you placed yourself.
- Free and open source (GPL), listed in the WordPress.org directory, with public documentation.
Everything it generates
AI readiness files
llms.txt— a curated map of your site for language models, plusllms-full.txtwith the full text.humans.txt— the people behind the site, with roles and profiles.ai.txt— machine readable usage terms for AI crawlers.ai-context.json— a compact JSON brief: who you are, what you offer, how to cite you..well-known/security.txt— the RFC 9116 security contact.
One AI crawler policy
- Presets from “citable” to “closed”, or per-bot control over every known AI crawler.
- Emitted consistently to
robots.txt,ai.txt, theContent-Signalheader and the policy section ofllms.txt. - Optional licence and permissions contact so publishers can find you.
Rich data
- A single JSON-LD
@graph: Organization, WebSite, WebPage, BreadcrumbList, Article, Person, FAQPage, Speakable and image metadata. - Detects Yoast, Rank Math, SEOPress, AIOSEO, The SEO Framework and Slim SEO, and steps aside for the pieces they already emit.
Reach and measurement
- IndexNow: a key, the key endpoint and automatic submission when you publish.
- AI citation tracking: which AI crawlers fetched what, and which answer engines sent you visitors — without cookies and without storing personal data.
- Content tools: TL;DR, FAQ and key-takeaway blocks, per-post summaries, “last updated” and Markdown for agents.
- An audit score that tells you exactly what is missing and fixes most of it for you.
External services
The plugin talks to one third-party service. IndexNow is on by default; switch it off in the setup wizard’s Discovery step or on the settings screen, and nothing is sent, not even by an explicit wp acid-aeo indexnow submit or POST /indexnow/submit.
IndexNow (https://www.indexnow.org/). When the IndexNow module is enabled, the plugin sends an HTTPS POST to https://api.indexnow.org/indexnow containing your site’s host name, the IndexNow key the plugin generated for your site, the URL of the key file and the list of URLs that were just published, updated, deleted, or that you chose to submit. It is sent when content changes (if automatic submission is on), when you press Submit in the admin or the CLI, and when you finish the setup wizard with Submit every URL ticked. Nothing else is transmitted — no visitor data, no content. IndexNow terms of use: https://www.indexnow.org/terms. IndexNow is operated by Microsoft; privacy statement: https://privacy.microsoft.com/privacystatement. The endpoint can be changed with the acid_aeo_indexnow_endpoint filter. Turn the IndexNow module off and no request is made, whoever asks: automatic submission stops, and the CLI command and the REST route refuse with a message.
Everything else stays on your own server:
- The readiness audit fetches your own site’s URLs (home page,
robots.txt,llms.txtand the other generated files) withwp_remote_get(), as a crawler would, to check they are served correctly. These are loopback requests to your own domain. - The optional citation beacon is a first-party script that posts to your own site’s REST API, as described in the FAQ.
- The plugin does not contact Acid Studios, does not phone home, does not check for updates outside wordpress.org and does not load any remote script, font or image.
Two kinds of URL appear in the source without ever being requested. They are named here explicitly, because an automated scan reads the constant and not the paragraph:
AiContextGenerator::SCHEMA_URL=https://acidstudios.ro/schemas/ai-context/1.0.json. This string is written into the$schemakey of theai-context.jsonthe plugin generates, the way any JSON document names the schema it follows. It is never fetched, at generation time or later.- The
docsURLs inincludes/Bots/Registry.php(23 of them, for examplehttps://developer.amazon.com/amazonbotandhttps://platform.openai.com/docs/bots). These are link targets printed in the per-crawler settings table, for you to open in your own browser if you want to read what a crawler does. The plugin never requests them, and no crawler documentation is fetched, parsed or cached.
Fonts
The admin screens use Inter (https://github.com/rsms/inter, v4.1) and Space Mono (https://github.com/googlefonts/spacemono), both under the SIL Open Font License 1.1. The files and their licences are in assets/fonts/. They are served from your own site and load only on Acid AEO’s admin screens.