01 · Measure · Open source

Magento 2 AEO Audit

angeo/module-aeo-audit

A read-only CLI audit that scores 20 AI-visibility signals for every store view and prints the exact command to fix each failure. Nothing is written to your database and nothing changes on the storefront.

v4.2.3PHP 8.2–8.5Magento 2.4.xMIT
# install $ composer require angeo/module-aeo-audit $ bin/magento setup:upgrade # audit every store view $ bin/magento angeo:aeo:audit # gate a deploy on findings at or above a level $ bin/magento angeo:aeo:audit –fail-on-severity=critical

Free and MIT-licensed. No licence key, no account, no telemetry.

What it does

Four things worth knowing before you install.

Twenty signals, one command

robots.txt, llms.txt, sitemap, Product JSON-LD, canonical and Open Graph tags, AI product feed and the well-known endpoints — checked in a single pass and scored 0–100.

Severity, not just pass or fail

Each finding carries a severity. --fail-on-severity makes the audit exit non-zero when a check of that severity fails, and --fail-on=80 when the score drops below 80%, so it can gate a deploy pipeline instead of being a report nobody reads.

Real field performance

Optional CrUX API integration pulls actual Core Web Vitals for the domain rather than a lab score. The API key is stored encrypted and sent as a request header.

Scoped to what you care about

--category narrows the run to one signal group, and each signal can be disabled in configuration when it does not apply to your setup.

Start here. Installing the whole suite before you know what is failing wastes time. Run this first; most stores turn out to fail two or three signals, not twenty.

Requirements

MagentoOpen Source / Adobe Commerce 2.4.x
PHP8.2, 8.3, 8.4, 8.5
LicenceMIT — no key, no limits
Writes to DBNo — read-only
Runs onCLI and cron

Questions

Does the audit change anything on my store?

No. It reads configuration and public endpoints and prints a report. It creates no tables, writes no files to pub/ and touches no storefront output.

Can I run it in CI?

Yes. Use –fail-on-severity=critical to exit non-zero when a critical check fails, or –fail-on=80 to exit non-zero when the score drops below 80%, and the build fails instead of silently passing.

Does it work with multiple store views?

Yes. Signals are evaluated per store view, because robots.txt, llms.txt and schema output can legitimately differ between them.

Is a CrUX API key required?

No. Without a key the Core Web Vitals signal returns a warning and counts half; switch it off for the store view if you do not use CrUX. The rest of the audit runs normally.

Works with

Each module is independent, but these three are the ones most often installed alongside it.

Not sure whether you need this one?

Run the free scanner on your domain, or install the CLI audit. Both report which signals your store currently fails, so you install only what closes a real gap.

More on this topic