requestdesk/magento-aeo

RequestDesk AEO Extension - Scores Magento product pages for answer-engine optimization and ranks the highest-earning pages that need supporting content. Pluggable scoring backends: free local heuristic, direct Claude, or RequestDesk (coming soon).

Maintainers

Package info

github.com/brentwpeterson/requestdesk-magento-aeo

Type:magento2-module

pkg:composer/requestdesk/magento-aeo

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 1

Stars: 0

Open Issues: 0

0.1.0 2026-07-17 14:40 UTC

This package is auto-updated.

Last update: 2026-07-24 17:17:24 UTC


README

Scores Magento product pages for Answer Engine Optimization (AEO) and ranks the highest-earning pages that need supporting content.

requestdesk/magento-aeo · v0.1.0 · OSL-3.0 · PHP ^8.1 · Magento framework ^103.0

Requires the shared requestdesk/magento-qa library — a product's FAQ schema is built from Q&A pairs attached through it. No dependency on RequestDesk_Blog, so this installs and runs without the blog.

What it does

Every product gets a 0–100 AEO score across five dimensions — qa_pairs, product_schema, citation_potential, freshness, content_analysis. The admin grid ranks products by revenue alongside their score, so the highest-earning, lowest-scoring pages surface as the best content targets. Product pages are short by nature, so most score low: that low score is the signal to develop supporting content.

Scoring backends (pluggable)

The backend is chosen in config. All three return the same normalized result, so switching backends never changes the grid or the stored shape.

Backend Status Cost Needs
Local Heuristic shipping free, offline nothing
Claude (direct) shipping your Anthropic usage an Anthropic API key
RequestDesk coming soon bundled in a paid RequestDesk plan a RequestDesk key
  • Local Heuristic ports the RequestDesk WordPress AEO rubric to product pages (description, short description, and spec attributes). Pure PHP.
  • Claude (direct) calls the Anthropic Messages API with the store's own key, defaulting to the cheapest current model (Haiku 4.5).
  • RequestDesk will route scoring through the RequestDesk platform, which picks the model and gates the feature behind a paid plan. Not built yet.

Install

Composer resolves the required requestdesk/magento-qa dependency automatically.

composer require requestdesk/magento-aeo
bin/magento module:enable RequestDesk_Qa RequestDesk_Aeo
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

Configure

Stores → Configuration → RequestDesk → AEO Scoring

  • General → Enable AEO Scoring
  • Scoring Backend → Score Source — Local Heuristic | Claude (direct) | RequestDesk
  • Anthropic API Key — required only for the Claude backend (encrypted at rest)
  • Claude Model — defaults to claude-haiku-4-5-20251001

Use

  1. Sync the catalog (seeds one row per product with a revenue snapshot):
    bin/magento requestdesk:aeo:sync
  2. Score products — highest-revenue unscored first:
    bin/magento requestdesk:aeo:score            # top 50 unscored by revenue
    bin/magento requestdesk:aeo:score --id=42     # one product, prints breakdown
    bin/magento requestdesk:aeo:score --limit=200 --rescore
  3. In the adminContent → RequestDesk AEO → AEO Scores. Sort by revenue or score, select rows, and use Score Selected. The row View link opens the full category breakdown and recommendations.

Scoring rubric (Local Heuristic)

Max 100. Ported from the WordPress plugin, with its two known bugs left out (the HTML-vs-Markdown heading mismatch and the bulk action that ignored its dropdown).

Bucket Max How
qa_pairs 25 5 pts per Q&A pair (question headings, Q: markers)
product_schema 20 FAQ readiness (10) + spec-attribute richness (10)
citation_potential 20 4 pts per distinct statistic (numbers, measures, %, money)
freshness 15 scaled by how recently the product was updated
content_analysis 20 question headings (8) + clear structure (7) + >500 words (5)

Not in this version

  • Product-edit page block. v1 surfaces the per-product breakdown on a grid detail page (row → View), not inside the product edit form. The form-modifier injection is deliberately deferred to build against a running store.
  • Content generation. Turning a low score into a drafted supporting blog post is the next phase, not this one.
  • RequestDesk backend. Needs a thin scoring wrapper on the RequestDesk side first (a Magento-facing endpoint over the existing discoverability engine, plus the paid-tier gate).