CLI commands
Six commands. All are registered via Magento\Framework\Console\CommandList in etc/di.xml and run from the Magento root.
seosuite:meta:generate
Bulk AI meta generation. See AI Meta Generator → CLI bulk for recipes.
bin/magento seosuite:meta:generate
-e <product|category|cms_page> # required, default: product
[-i <comma-separated-ids>] # default: all entities
[-s <store_id>] # default: 0 (admin)
[-l <limit>] # default: no limit
[--dry-run] # list IDs and exit, no API calls
[-b <batch_id>] # default: cli-YYYYMMDD-HHMMSS
Exit code: 0 if at least one row succeeded; 1 if every row failed.
seosuite:hreflang:validate
Hreflang health audit. See Hreflang → Validator.
bin/magento seosuite:hreflang:validate
[-l <limit>] # entities per type per store
[-f <table|json>] # default: table
Exit code: 1 if any errors detected; 0 otherwise.
seosuite:hreflang:match
Auto-discover and persist cross-store hreflang pairs. See Hreflang → Auto-matcher.
bin/magento seosuite:hreflang:match
[-e <product|category|both>] # default: both
[-l <limit>] # entities per store
[--dry-run] # report what would be added without writing
Exit code: always 0 (failures are logged, not fatal).
seosuite:index:audit
Index Budget Audit. See Index Budget → Overview.
bin/magento seosuite:index:audit
[-l <limit>] # entities per auditor
[-a <code1,code2>] # specific auditor codes (default: all)
[-f <table|json>] # default: table
Exit code: 1 if any errors found; 0 otherwise.
Available auditor codes for -a:
out_of_stock_indexabledisabled_url_rewritelayered_nav_explosioncanonical_configcms_missing_meta
seosuite:category:generate (v1)
Bulk generates URL rewrites for categories.
bin/magento seosuite:category:generate
[-i <comma-separated-ids>] # default: all categories
Lives in byte8/module-core — preserved unchanged from v1.x.
seosuite:product:generate (v1)
Bulk generates URL rewrites for products. Excludes products with visibility Not Visible Individually.
bin/magento seosuite:product:generate
[-i <comma-separated-ids>] # default: all eligible products
Lives in byte8/module-core — preserved unchanged from v1.x.
seosuite:delete (v1)
Bulk deletes URL rewrites for entity types in specific stores.
bin/magento seosuite:delete
-e <comma-separated-types> # required: product | category
-s <comma-separated-store-ids> # required
Example: bin/magento seosuite:delete -e product,category -s 1,2,3
Lives in byte8/module-core — preserved unchanged from v1.x.
CI patterns
# .github/workflows/seo-audit.yml — fail builds on hreflang errors
- run: bin/magento seosuite:hreflang:validate --format json
- run: bin/magento seosuite:index:audit --format json
Both commands return non-zero on errors, so CI gates work without parsing output.
Cron equivalents
| CLI | Equivalent cron job |
|---|---|
seosuite:meta:generate | byte8_seosuite_ai_auto_generate (every 30 min) |
seosuite:hreflang:validate | byte8_seosuite_hreflang_scan (daily 02:30) |
seosuite:index:audit | byte8_seosuite_index_audit (daily 02:00) |
| (no CLI) | byte8_seosuite_oos_rules (daily 03:00) |
See Cron jobs for the complete cron reference.