Agentic Engine Optimization (AEO)
This module helps your Drupal site prepare for AI search by auditing and scoring your pages for readiness. It analyzes how your content appears to AI assistants and provides suggestions for improvements before you save.
Most of this module was written by an AI assistant working to a maintainer's plan, with the design calls, the review and the final say staying human. Checks that rest on real research cite it; checks that rest on reasoning admit it. Nothing in the module calls out to an AI service at runtime.
AEO (Agentic Engine Optimization) helps your Drupal site prepare for the next era of search, where AI assistants and "answer engines" summarize content directly.
This module audits and scores your pages against what an answer engine actually receives, and suggests fixes you can review before anything is saved.
Features
Every check runs against the page as it is built for a visitor who is not logged in, in your front-end theme, rather than against stored field values. It sees what your templates, single directory components, field formatters, view modes and paragraph structures produce, including text that never reaches the page at all.
- AEO scoring – Gives every page a clear 0–100 readiness score with category breakdowns (Retrieval, Structure, Substance, E-E-A-T, Media, Schema), and shows the arithmetic: how many checks applied, how many passed, and what each failure cost.
- Evidence behind every finding – Each check states what it rests on, shown beside the finding. Some cite controlled results; others say plainly that they are association only, or that no controlled study exists. Nothing is presented as more certain than it is.
- Fix suggestions – Where a fix is mechanical and safe, you see the text before and after and you can choose whether you want to apply it. Accepting the suggestion changes the value in the form in front of you; nothing is written to the database unless you save the form yourself.
- Content list – Every checked item under Content → AEO, filterable and
sortable, with the usual operations links. - Per-node report tab – Editors see their page's score, what was found, why an answer engine cares, and what to do about it, right beside the content, and on it's individual new AEO tab.
- Guidance before publishing – On the ed what you are writing now, recomputed as you type against an unsaved render. No save required.
- Blocking problems cap the score – Anything that stops a page being retrieved holds the score below a ceiling instead of being averaged away, because good structure on a page nothing can fetch is worth nothing.
- Honest denominators – A check with nothing to examine is excluded from both sides of the calculation.
- Extensible – All AEO checks are plugins. One PHP class with an attribute and an
evaluate()method, and it appears in the reports, the score, the list and the edit form with no further wiring. A worked example submodule ships with it, so you can easily replicate and create new plugins. - Standalone – No dependencies outside Drupal core. No API keys, no external services, no AI calls, and nothing sent anywhere. Every check is deterministic and runs on your Drupal site.
- Built for large sites – Checking runs on cron against a stale-row queue, so saving a page twenty times leaves one item to check, not twenty. Each run stops at a time budget you can set at the settings page. Nothing is checked during a page request.
Use cases
- Content strategists improving how pages appear in AI overviews.
- SEO teams modernizing optimization toward structured, answer-ready content.
- Editors who want guidance on what's missing before publishing.
- Agencies offering clients measurable "AEO readiness" reports.
- Sites with heavily templated output, where what is stored and what is served are not the same thing.
Post-Installation
- Visit Configuration → Content authoring → AEO to choose which content types to check. Nothing is checked until you choose it, because auditing an entire existing site on first run would build thousands of pages (handled in batch).
- The same page shows the checks that apply to the whole installation, such as a robots.txt that turns retrieval crawlers away. Start there: while one of those is unresolved, individual page scores do not mean much.
- Go to Content → AEO to see every checked page, lowest score first.
- Each node now has an AEO tab showing its score, findings and fix options, with a button to check it again.
- Checking otherwise happens on cron. You can also run
drush aeo:audit.
No new content types or text formats are added — AEO works with your existing content, and with any entity type that has a canonical URL.
Similar projects
- /llms.txt publishes an
/llms.txtendpoint telling language models what is on your site and where to find it. It answers "what should a model read?"; AEO answers "is any of it usable once read?" - SEO Checklist provides manual SEO task tracking.
- Schema.org Metatag adds structured data to pages. AEO reports on structured data it finds but does not generate it, so the two work together.
AEO differs by analysing the rendered page rather than field values or a static checklist, by stating the evidence behind each check, and by leaving every change in the editors' hands.
Depends on
Dependencies of the latest stable release
- field Drupal core
- user Drupal core
- views Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 1.0.0 | Stable | 10–11 | Checks whether AI answer engines can read, understand and quote your content, and tells editors how to fix what it finds. | Sep 22, 2026 |