etechflow / module-ai-seo

etechflow/module-ai-seo

AI-generated SEO meta titles and descriptions for Magento 2 products and categories.

magento2-module Compatibility: Not yet tested Code Quality: N/A Tests: N/A Security: Pending proprietary

Etechflow_AiSeo

AI-generated SEO meta titles & descriptions for Magento 2 / Adobe Commerce products.
Part of the Etechflow SEO Suite. Supports Anthropic (Claude) and OpenAI (GPT).

Features

  • Bulk generate AI meta titles + descriptions straight from the catalog product grid
    — select products → Generate AI Meta (Etechflow).
  • Review before publish — suggestions land in an admin grid (current vs AI), where you
    Apply individually, mass-apply, or delete. Or flip Auto-apply to write them immediately.
  • Provider-agnostic — Anthropic Messages API or OpenAI Chat Completions; pick the model.
  • Length-aware — clamps to your configured meta title / description limits.
  • Brand voice — a configurable tone/instruction is injected into every prompt.
  • Encrypted API key, flag-gated master switch (off by default), CLI command for testing.

How it works

Service\AiClient calls the LLM → Service\MetaGenerator builds the prompt from the product
(name, SKU, description) and parses the JSON {title, description}Service\SuggestionProcessor
stores a reviewable suggestion and, on approval, writes meta_title / meta_description back to
the product.

Where it lives

  • Catalog → Products → mass action "Generate AI Meta (Etechflow)"
  • Marketing → AI SEO → AI SEO Suggestions — review & apply
  • Stores → Configuration → Etechflow → AI SEO — provider, key, model, lengths, tone

Configuration

Path Default Notes
etechflow_aiseo/general/enabled 0 Master switch
etechflow_aiseo/general/provider anthropic anthropic or openai
etechflow_aiseo/general/model claude-sonnet-4-6 e.g. gpt-4o-mini for OpenAI
etechflow_aiseo/general/api_key Encrypted
etechflow_aiseo/general/auto_apply 0 Write straight to product vs review queue
etechflow_aiseo/output/title_max 60 Meta title char limit
etechflow_aiseo/output/description_max 160 Meta description char limit
etechflow_aiseo/output/brand_tone Tone/voice added to the prompt

CLI

bin/magento etechflow:aiseo:generate --product-id=135

Notes

Grid mass-generation runs synchronously and is capped at 25 products per run (LLM calls take
a few seconds each). For large catalogs, run in smaller batches (a queue/cron worker is on the
roadmap).

Install

bin/magento module:enable Etechflow_AiSeo
bin/magento setup:upgrade
bin/magento setup:static-content:deploy <locale> -f --area frontend   # prod: setup:upgrade clears var/view_preprocessed
rm -rf generated/code/* generated/metadata/*
bin/magento setup:di:compile
bin/magento cache:flush

Tests

vendor/bin/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/Etechflow/AiSeo/Test/Unit

Changelog

All notable changes to this module are documented here.

v1.0.0 — 2026-06-05

Initial public release.

AI-generated meta titles/descriptions (Anthropic/OpenAI). Admin grid of pending suggestions, apply/reject, CLI generate command, configurable provider + prompts.

Versions
Version Stability QA Status Compatibility Released
1.2.1 stable Running Not yet tested Details 2026-06-22 15:12:41
1.2.0 stable Not tested Not yet tested Details 2026-06-20 14:46:25
1.1.2 stable Not tested Not yet tested Details 2026-06-15 10:46:45
1.1.1 stable Not tested Not yet tested Details 2026-06-15 09:28:13
1.1.0 stable Not tested Not yet tested Details 2026-06-12 12:23:51
1.0.0 stable Not tested Not yet tested Details 2026-06-05 10:28:14

Requires 6

Package Constraint
magento/framework >=103.0
magento/module-backend >=102.0
magento/module-catalog >=104.0
magento/module-cms >=104.0
magento/module-store >=101.0
php ~8.1.0||~8.2.0||~8.3.0||~8.4.0

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 not tested not tested
2.4.8 not tested not tested
2.4.9 not tested not tested

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge — a phpcs finding can't make a module incompatible.

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases. Cell → details modal.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Unknown Unknown
2.4.8 Unknown Unknown
2.4.9 Unknown not tested
License
proprietary

More from etechflow

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.