Plugin comparison · Source-verified
Two free AEO plugins. What does the crawler actually get?
Both promise the same outcome — being cited by ChatGPT, Perplexity, Claude, Gemini and Google AI Overviews. Both are free, both are GPL, and both are open source, so neither has to be taken at its word. We installed them on the same clean site, fetched what an AI crawler would fetch, and read both codebases in full.
Jump to the comparisonInstall free
Answer Engine Optimization 1.0.1TWT AEO Ultimate 2.16.0clean WP install
LIVE HTTP
Fetched from the test site. What a crawler receives, not what a dashboard reports.
GPL SOURCE
Read in the publicly distributed source of the stated version.
DIRECTORY
As published on WordPress.org, August 2026.
Start with the unflattering facts
A feature table can hide the things that actually decide whether a plugin is safe to install. These are straight off each directory listing, and one of them does not favour us.
◐ 1.0.1 · 11 modules
Answer Engine Optimization
100+ active installs. Last updated two months ago. Requires WordPress 6.5, tested up to 6.8.7 — so it has not been tested against the WordPress 7 line at all. PHP 7.2+. Multisite compatible, with custom database tables for schema cache, audit log and citations.
● 2.16.0 · 23 modules
TWT AEO Ultimate
Fewer than 10 active installs — barely anyone is running this yet, and that is the honest counterweight to everything below. Last updated two days ago, across eight releases since 2.9.0. Requires WordPress 6.2, tested up to 7.1. PHP 7.4+, 8.0+ recommended.
More installs means more people have hit the bugs before you do. That is a real advantage, and it isn’t ours.
Dashboards don’t get you cited. Responses do.
The same blog post, on the same clean install, served by each plugin. The question an answer engine is trying to settle is simple: who published this, and can that publisher be identified?
Three valid but disconnected blocks tell an engine three unrelated facts. One graph tells it that this article, on this site, was published by this organization.
Plus response headers the other plugin doesn’t attempt
Content-Signal: ai-train=no, search=yes, ai-input=no
Link: </llms.txt>; rel="describedby",
</.well-known/api-catalog>; rel="api-catalog",
</.well-known/agent-skills/index.json>; rel="…agent-skills"
Request the post with Accept: text/markdown and clean Markdown comes back — no HTML parsing, no token waste. Beyond that: llms.txt, llms-full.txt, ai.txt, an Agent Skills Index at /.well-known/agent-skills/, an Agent Search REST API, MCP and WebMCP discovery, OAuth/OIDC discovery, an RFC 9727 API catalog, RFC 8288 Link headers and semantic breadcrumb signals. Each toggles independently. You can verify the agent-discovery layer from outside with a third-party checker like isitagentready.com rather than taking the admin screen’s word for it.
One honest caveat: automatic /.well-known/ file creation needs server write access. Where the host doesn’t allow it, you get copy-and-paste instructions instead of files, and the plugin says so rather than silently failing.
Will every one of those emerging standards matter? Nobody knows, and that’s the honest state of AEO in 2026. One plugin’s bet is to implement all of them so it can’t be blindsided by whichever ones win. The other’s bet is that llms.txt plus robots.txt directives for four bots is enough. Time will judge. Today, one gives crawlers strictly more to work with.
Both ship a 0–100 score. They mean different things.
This is the closest head-to-head in the comparison, because both plugins lead with the same number.
Fixed weighting
AEO Score
Content structure 20%, schema coverage 25%, FAQ presence 15%, semantic clarity 20%, citation signals 20%, recalculated on publish. It’s real, it’s documented, and the weights are the same for every page.
Page-type aware
Answer Readiness
Adapts to what each page is — a blog post is never docked for missing Product schema. Clicking the number opens the breakdown: every line names what was checked, why an answer engine cares, and links to the screen that fixes it.
A site-wide panel also shows which categories lose points across the whole site, a setup checklist, and the score over time. Where one tells you the number, the other tells you where the number came from.
And both ship a one-click fixer
Answer Engine Optimization’s auto-fix is real but thin in this version: missing schema is repaired by writing an Article block containing only a headline, and a missing FAQ by inserting the template question “What is [post title]?” The readme’s claim of fixing 80% of issues in one click is true only in the sense that the checkmark turns green.
TWT AEO Ultimate’s Auto-Fill Missing Schema builds from things your site already knows — page titles, author profiles, your company profile, business info, detected FAQ content, WooCommerce product data — across every scanned page in one run. Anything that would require guessing, like event dates or prices outside WooCommerce, is listed by name for you to fill in rather than invented. Nothing you already saved is overwritten. A fixed checkmark is not the same as a strong signal, and the difference between these two implementations is exactly that distinction.
One click per page doesn’t scale. Neither does a 200-item cap.
Bulk is where a schema plugin either works on a real site or quietly doesn’t. Answer Engine Optimization offers bulk schema operations across 100+ posts. TWT AEO Ultimate has a bulk action on effectively every screen that used to need one click per item: Generate All on the FAQ, Service and Contact detector tabs, fill-all-missing on Image SEO and product images, bulk social descriptions across the Social Graph, Generate Schema for All on the WooCommerce catalogue, and site-wide Auto-Fill from the Dashboard.
Two details matter more than the button count. Scale: these screens page through your entire catalogue in blocks with live progress, and every table states which items that page scanned, so a clean first screen is never mistaken for a clean site — on a 1,000-product store that’s the difference between seeing your newest products and seeing all of them. Cost: content-based bulk actions are free and labelled as such, while AI-powered ones state the exact number of billed calls, ask you to confirm, show progress, and can be stopped mid-run. Bulk only fills what’s missing — anything you already saved is left alone.
Breadth of schema types vs. depth of one graph
Breadth · wins this one
40+ types in a visual builder
The 1.0.0 changelog says 49 — including Recipe, Course, JobPosting, VideoObject, HowTo and MedicalBusiness, with live preview and real-time validation. If you need a type by hand, it’s probably there.
Depth
13 types, one connected graph
Organization, Article, NewsArticle, Person, FAQPage, Service, Product with Brand and Offer, LocalBusiness, ContactPoint, Event, Review, AggregateRating, BreadcrumbList — generated only where they suit the page and aren’t already present, then woven into one graph with Wikipedia and Wikidata sameAs grounding.
Which matters more depends on the site. A recipe blog or a job board will want the builder. A business that needs an engine to work out who published what, and whether that publisher is credible, wants the graph.
Running alongside Yoast or Rank Math
Both readmes claim compatibility with existing SEO suites. Only one has machinery behind the claim. TWT AEO Ultimate’s Schema Conflict Detector has a “What this plugin writes” panel: nine outputs — site identity schema, Article, Service, contact-page schema, breadcrumbs, llms.txt, the sitemap, the meta description and the crawler log — each with its own on/off switch, and each row tells you whether a plugin you already have installed writes the same thing. Sitemap generation has explicit collision protection against Yoast, Rank Math and AIOSEO, and there’s one-click import of your existing Organization data.
Answer Engine Optimization states that it complements those plugins, but outputs its schema unconditionally — there is no detection step and no per-output switch. On a site already running Yoast, you get two Organization blocks and no setting to stop it.
The citation-tracking problem nobody has solved
No WordPress plugin can count AI citations today. The engines publish no citation data and no APIs, so anyone claiming a citation total is estimating or sampling simulated queries. Two things around the citation are measurable: the crawler requests that precede it, and the referral traffic that follows one when a reader clicks through. Neither approach below is wrong. You should just know which kind of number you’re looking at.
Interface before data
Simulated figures, stated as such
A citation dashboard ships now, with trends, per-engine breakdowns and tracked keywords, populated by simulated numbers — the code is upfront that real integration is planned when the APIs exist. The competitor gap analysis returns the same placeholder for every domain entered in this version, and the AI Answer Opportunity Score is randomly generated.
Measured proxies only
No citation counts claimed
Two measurable things instead: which AI crawlers requested which URLs, from a live per-bot log, and which visits arrived from an AI assistant, via GA4 — the read side and the click-through side of the same question. Search Console adds the queries behind Google traffic, Bing Webmaster the Microsoft equivalent.
Alongside that: PageSpeed with Core Web Vitals, a traffic-leak scan cross-referencing GA4 against slow mobile loads, and a content scan flagging inline scripts, base64 images and iframes.
The fine print in 1.0.1
Reading the source turned up places where the readme runs ahead of the shipping code. Stated plainly, without piling on:
- Speakable markup signals for voice search are claimed twice — in the FAQ module description and again in the FAQ — but appear nowhere in the code.
- The WooCommerce module promises real-time “SKU, GTIN, brand, and variant markup for AI shopping assistants.” No GTIN, MPN or variant handling exists in the source. It outputs one flat Offer, and brand only if you happen to have an attribute named exactly “brand.”
- The competitor gap analysis returns a placeholder result for every domain, and the AI Answer Opportunity Score is randomly generated.
- Auto-fix writes a headline-only Article and a “What is X?” FAQ.
- The local template fallback is documented for when no API key is present, which is fair enough. The problem is that the same fallback fires silently on API failure — so a misconfigured or rate-limited key produces “What is X?”-style FAQs while the screen reports success.
None of this reads like bad faith. It reads like an ambitious v1 shipped ahead of its integrations. But the directory page describes the destination, and 1.0.1 is partway there.
We ran the same test in the other direction
Every TWT AEO Ultimate readme feature we checked — the graph output, all three text endpoints, Markdown negotiation, Content-Signal, the agent-discovery files, the sitemap, per-bot blocking — was live and verifiable on the test site or plainly implemented in source.
Its changelog is also unusually candid about its own past failures: the 2.13.0 entry documents that llms.txt and the Markdown endpoints were being HTML-escaped, serving > where the spec requires >, and that AI generation through WordPress 7’s connected providers never ran at all. Several 2.14–2.15 entries admit that scanning screens silently stopped at the 200 most recent items, hiding 800 products on a 1,000-product store. Those are real defects, disclosed by the vendor, and fixed.
WooCommerce is the widest gap
Answer Engine Optimization outputs a basic Product block: name, description, SKU, one price, availability, aggregate rating, image. The commerce layer on the other side is a different category of thing.
Variable products become a ProductGroup with per-variant offers. Every offer carries priceValidUntil, with validFrom/validThrough for scheduled sales. Shipping publishes as OfferShippingDetails built from your live WooCommerce zones, and your return policy as MerchantReturnPolicy. Identifiers cover GTIN-13/14, MPN and SKU. An AI resolver maps each product to Google’s official Product Taxonomy and publishes it as a CategoryCode, so Shopping and AI shopping agents read the same category your page does. Every FAQ source on a product page is assembled into one FAQPage node. And extension-aware pricing means a Bookings, Subscriptions or Bundles product publishes a “from” price or range rather than a definite price its own page contradicts.
Around the schema: a Products Dashboard that walks the whole catalogue with search and pagination and names exactly what each product is missing; live sync against both Google and Bing Merchant Center surfacing missing products, rejected items, price mismatches, identifier gaps and category disagreements as an integrity score; Smart Collections publishing your “Starter Kit” and “Under $500” categories as real Collections with an ItemList; Promotions publishing quantity breaks and member pricing as conditioned UnitPriceSpecification entries instead of overwriting your offer price, with coupon codes sent to Merchant Center; and bulk AI alt text for product images.
It also asks permission before taking over. WooCommerce’s own Product schema is only replaced with your explicit one-click consent, and can be restored at any time. If you run the standalone AEO Ultimate for WooCommerce alongside it, this plugin stands down automatically so nothing publishes twice. If you run a store, this isn’t a close call.
Identity, indexing and recovery
Three areas where only one plugin competes at all, and they’re the ones most often left out of AEO comparisons.
Who published this, and are they credible?
TWT AEO Ultimate splits article:publisher from article:author, which standard social tags routinely blur — the company identity and the individual writer stay distinct, which is what an engine uses to attribute content and weigh authority. Author profiles output as Person schema with EducationalOccupationalCredential and sameAs: job titles, credentials, expertise areas, years of experience and social links, with an E-E-A-T scorecard for both author and company, completeness scoring across every author, and optional author boxes and hover cards. It also emits a sitewide fb:app_id for Meta Domain Insights, which most SEO plugins skip. Answer Engine Optimization has no E-E-A-T layer.
Getting indexed in the first place
A cached XML sitemap at /aeo-sitemap.xml with per-post-type controls, a Google News sitemap that activates when content qualifies, and IndexNow pinging Bing and Yandex on publish. The Not Indexed report uses the Search Console URL Inspection API to find published pages missing from Google’s index, then flags likely causes — thin content, keyword stuffing, missing heading hierarchy — with Fix buttons that generate FAQ schema or fill alt text without leaving the page. Answer Engine Optimization ships none of this: no sitemap, no IndexNow, no index-coverage reporting.
Recovering what you already had
Smart 404 Rescue matches dead URLs to the closest live page by typo-distance, heals broken internal links at the source with undo, and ignores hostile bot probes rather than logging every 404. Using your Search Console connection, it finds pages Google still ranks that now 404 and auto-creates permanent 301s to the closest live page — applied to crawlers too, so link equity actually transfers. Ambiguous matches wait for one-click approval.
Local
Both do multi-location LocalBusiness schema with NAP, geo coordinates, hours and area served — this is the closest match in the comparison. Answer Engine Optimization adds local FAQ templates for “near me” queries. TWT AEO Ultimate adds a predictive business-type picker, then audits your NAP consistency against Google Knowledge Graph, Google Business Profile and Bing Maps, and returns the directories and citation sites you should be listed on for your industry.
Where Answer Engine Optimization genuinely wins
An honest comparison cuts both ways. Things it does that TWT AEO Ultimate simply doesn’t:
- WP-CLI commands — wp aeo audit, wp aeo score, wp aeo fix. TWT AEO Ultimate has no CLI at all.
- A documented developer REST API at /wp-json/aeo-genius/v1/ with 20+ endpoints covering schema, scores, FAQ generation, audit, analytics, briefs, bulk schema and settings, with Application Passwords and cookie auth. TWT AEO Ultimate exposes an agent-facing Agent Search REST API, but nothing published for developers building against it.
- In-plugin white-label branding — replace the plugin name and logo in admin, for agencies running client dashboards.
- An AI content rewriter with a side-by-side diff, plus semantic keyword suggestions and readability analysis.
- AI content briefs, topic gap analysis and “People Also Ask” clustering for planning new content.
- Wider schema type coverage in a visual builder with live preview and real-time validation.
- Multisite compatibility, which TWT AEO Ultimate doesn’t claim.
- A Gutenberg meta box for target questions and direct answers, working in Classic Editor and alongside page builders.
- More people running it. 100+ installs against fewer than 10.
It’s also a smaller, simpler install — 11 switches instead of 23 modules, with a five-step wizard that genuinely takes under ten minutes. For a blogger who wants FAQ schema, OG tags and an llms.txt file by lunchtime, it delivers that.
The comparison
| Capability | Answer Engine Optimization 1.0.1 | TWT AEO Ultimate 2.16.0 |
|---|---|---|
| Directory facts | ||
| Active installs | 100+ | Fewer than 10 |
| Last updated | 2 months ago | 2 days ago |
| WordPress tested up to | 6.8.7 | 7.1 |
| Minimum PHP | 7.2 | 7.4 (8.0+ recommended) |
| Multisite | ✓ | Not claimed |
| Schema & structured data | ||
| Schema type coverage | 40+ types in a visual builder | 13 types, auto-generated only where missing |
| JSON-LD structure | Flat, disconnected blocks | Connected @graph, @id-linked identity spine |
| Duplicate-schema awareness | — outputs unconditionally | ✓ Detects, defers, 9 per-output switches |
| Sitemap collision protection | n/a — no sitemap | ✓ vs. Yoast, Rank Math, AIOSEO |
| Import from Yoast / Rank Math | — | ✓ One click |
| Knowledge Graph entity manager | — | ✓ Wikipedia / Wikidata sameAs grounding |
| Scoring & automation | ||
| Per-page 0–100 score | ✓ Fixed 5-factor weighting | ✓ Page-type aware, clickable breakdown |
| Site-wide score view | ✓ Dashboard coverage | ✓ Plus category losses, checklist, trend |
| One-click fixer | Headline-only Article; “What is X?” FAQ | Builds from real site data; names what it won’t guess |
| Bulk actions | Bulk schema across 100+ posts | Every screen: schema, FAQ/Service/Contact, alt text, social, products |
| Catalogue scale | Not stated | Pages through the entire site in blocks, live progress |
| Bulk cost control | — | Free actions labelled; AI states billed calls, stoppable |
| Setup wizard | ✓ 5-step, under 10 minutes | ✓ Plus Autopilot, reports what it skipped |
| Agent readiness | ||
| llms.txt | ✓ Page list | ✓ Plus llms-full.txt and ai.txt |
| Markdown content negotiation | — | ✓ |
| Content-Signal headers | — | ✓ |
| RFC 8288 Link headers · semantic breadcrumbs | — | ✓ |
| Agent Skills Index · Agent Search API | — | ✓ |
| MCP / WebMCP discovery | — | ✓ |
| OAuth / OIDC discovery · RFC 9727 API catalog | — | ✓ |
| Crawler control | 4 bots, robots.txt only | 20+ bots, per-bot rate limit + hard 403 |
| Identity & E-E-A-T | ||
| article:publisher / article:author split | — | ✓ |
| Author credentials schema | — | ✓ EducationalOccupationalCredential, sameAs, scorecard |
| Author boxes / hover cards | — | ✓ |
| fb:app_id · Meta Domain Insights | — | ✓ |
| WooCommerce | ||
| Product schema | Flat Offer: price, availability, SKU, rating | ProductGroup with per-variant offers |
| GTIN / MPN identifiers | Claimed; absent in source | ✓ GTIN-13/14, MPN, SKU |
| Shipping / return policy | — | ✓ From live zones; MerchantReturnPolicy |
| priceValidUntil · scheduled sales | — | ✓ |
| Google product taxonomy | — | ✓ AI resolver, published as CategoryCode |
| Merchant Center sync | — | ✓ Google + Bing, rejection codes, integrity score |
| Collections / promotions | — | ✓ ItemList Collections; UnitPriceSpecification |
| Extension-aware pricing (Bookings, Subscriptions) | — | ✓ “From” prices, never a contradicted price |
| Local, indexing & recovery | ||
| LocalBusiness / multi-location NAP | ✓ Plus “near me” FAQ templates | ✓ Plus NAP audit vs. Google KG, GBP, Bing Maps |
| XML sitemap · News sitemap · IndexNow | — | ✓ All three |
| Not-indexed detection | — | ✓ URL Inspection API, cause flags, Fix buttons |
| 404 / redirect recovery | — | ✓ Smart 404 + GSC-driven 301s |
| Analytics | ||
| AI citation figures | Dashboard, simulated until APIs exist | None claimed — no engine publishes them |
| Live AI-crawler log | — | ✓ Per-bot traffic breakdown |
| AI referral traffic (visits from ChatGPT etc.) | — | ✓ Via GA4 integration |
| Search Console · GA4 · Bing Webmaster | — | ✓ All three in one view |
| PageSpeed / Core Web Vitals | — | ✓ Cached 6h |
| Traffic-leak & anti-pattern scans | — | ✓ |
| Competitor gap analysis | ✓ Claimed; placeholder in 1.0.1 | — |
| Developer & agency | ||
| WP-CLI | ✓ | — |
| Documented developer REST API | ✓ 20+ endpoints | — Agent-facing REST only |
| White-label branding | ✓ | — |
| AI rewriter · briefs · PAA clustering | ✓ | — |
| Gutenberg meta box | ✓ | — |
| AI & cost | ||
| AI providers | OpenAI, Anthropic, Gemini | Claude, OpenAI, Gemini, Perplexity |
| Metered credits | None — your own key | None — your own key |
| Billed-call disclosure before bulk runs | — | ✓ States count, confirms, stoppable |
| Behaviour on AI failure | Silent template fallback | Surfaces the provider’s own error |
| Price | Free | Free |
Both plugins were tested on a clean WordPress site. Output claims were verified against live HTTP responses; code claims against the publicly distributed GPL source of the stated versions; directory facts against each plugin’s WordPress.org listing. Feature sets change between releases. TWT AEO Ultimate is our plugin and this is our site — which is why every claim above is one you can re-run yourself.
Which one should you install?
Pick this if
Answer Engine Optimization
You want a lightweight FAQ-and-schema layer with a wide type builder and developer tooling — CLI, REST, white-label, multisite. You’re comfortable that several dashboard numbers are placeholders in this version, you’ll bring your own API key, and you aren’t running WordPress 7 yet.
Pick this if
TWT AEO Ultimate
You want the connected entity graph, the full agent-discovery stack, E-E-A-T machinery, real analytics, indexing and 404 recovery — or you run WooCommerce, where the difference isn’t incremental. You can live with being an early adopter of something almost nobody else is running yet.
They also aren’t mutually exclusive with your existing setup. Both are designed to sit alongside Yoast, Rank Math or AIOSEO rather than replace them — which is why the duplicate-schema question above matters more than any single row in the table.
Common questions
Can either plugin tell me if ChatGPT cited my page?
Not the citation itself — no engine publishes citation data or an API, so nothing can tell you which answer you appeared in or what was quoted. But the gap isn’t total, and it’s worth being precise about what is visible. The GA4 integration surfaces referral traffic from ChatGPT and other assistants, so you can see which of your pages people actually landed on after reading an AI answer, and Search Console supplies the queries behind your Google traffic. Between them you learn which pages and which topics are earning AI-driven visits.
What none of that gives you is a citation count. Referral traffic only captures people who clicked, and most AI answers end without a click — so it’s a floor, not a total, and a page can be cited constantly while sending almost no sessions. Treat any product displaying a citation number as an estimate until the engines open that data up.
Can I run both plugins at once?
You can, but you’d be emitting two sets of schema for the same page. Answer Engine Optimization outputs unconditionally; TWT AEO Ultimate detects existing schema and defers. Running both means duplicate Article and FAQPage nodes with no shared identity — the opposite of what a connected graph is for. Pick one to own structured data.
Does 23 modules mean a slower site?
Every module toggles independently, so you only run what you switch on. Frontend metadata, schema and the virtual text endpoints are served from the Transients API with a one-hour cache; PageSpeed results cache for six hours; heavier work runs on post save or settings change rather than on page load. The crawler rate limiter adds a single transient read per request, and only for known AI user agents — ordinary visitors and Googlebot pass through untouched.
What gets sent to third parties?
Nothing until you configure a feature and trigger it. AI features use your own key with Anthropic, OpenAI, Gemini or Perplexity; other optional integrations cover Google and Microsoft APIs, IndexNow and PR wire services. Each request sends only the data that action needs, and no visitor personal data is transmitted. The complete outbound inventory, with each service’s terms and privacy links, ships as EXTERNAL-SERVICES.md inside the plugin folder. Answer Engine Optimization likewise encrypts API keys and registers GDPR export and deletion hooks.
Does either replace Yoast or Rank Math?
Neither is trying to. These are answer-engine layers — schema, agent discovery, crawler control — not keyword and readability suites. Most sites run one traditional SEO plugin plus one AEO layer.
Is version 1.0.1 worth waiting on?
Possibly. A version 1.0 that ships an honest FAQ generator, a real site audit, a working scoring engine and a genuine developer API has real bones. The placeholder pieces are the kind of thing later releases fill in. Install it for what it does today rather than what the directory page describes — and check whether its WordPress 6.8 ceiling matters for your host.
What single change moves the needle most?
Connecting your schema. Three valid but disconnected JSON-LD blocks tell an engine three unrelated facts. One graph with @id references tells it that this article, on this site, was published by this organization, whose author holds these credentials. Entity resolution is what turns a page into a citable source.
Anything to do right after installing?
For TWT AEO Ultimate, yes: go to Settings → Permalinks and click Save Changes once. That flushes rewrite rules so /llms.txt, /llms-full.txt and /aeo-sitemap.xml actually resolve. Skipping it is the most common reason someone reports the endpoints “not working.”
Don’t take our word for it. Fetch it.
Install whichever fits, then view your page source and fetch /llms.txt. Ask the only question that decides this — what does the crawler actually receive?