SEO Suite for Magento 2

Technical SEO for Magento 2 in one module: JSON-LD structured data, meta templates, canonical and robots rules, hreflang, Open Graph, a redirect manager with 404 log, XML sitemap extras and an SEO audit, for Luma and Hyvä.

  • Magento 2.4.6 – 2.4.9
  • PHP 8.2 – 8.5
  • Hyvä and Luma
  • Version 2.0.5
$199

One-off payment, with 12 months of updates.

What is included

  • Install with Composer, or download a zip from your account
  • Licence for one production domain, staging and development copies included

No subscription or automatic renewal. Keep using the versions included in your update period. Update and licence details

Key features

  • Product, ProductGroup, BreadcrumbList and Organisation JSON-LD
  • Meta title and description templates with variables
  • Canonical URLs and meta robots by page type
See all features

Composer package commercegears/module-seo-suite

Magento 2 SEO is mostly technical work: structured data that Google can read, sensible meta titles on thousands of products, canonical URLs that ignore filters, redirects when products disappear. This SEO extension puts that work in one module for Luma and Hyvä, rendered on the server and stored in the full-page cache.

What the SEO module covers

  • Structured data. Product (with offers, GTIN, brand, ratings and reviews), ProductGroup for configurable products, BreadcrumbList, ItemList, WebSite and Organisation JSON-LD. Luma and Hyvä microdata is removed so there are no duplicates.
  • Meta templates. Titles and descriptions for products, categories and CMS pages from variables, with a separate title for filtered and paginated category pages.
  • Canonical, robots and hreflang. Canonical URLs without filter and sort parameters, meta robots by page type or URL pattern, and hreflang with x-default between store views.
  • Redirects and 404s. Exact, wildcard and regular-expression redirects, automatic 301s for deleted products and categories, and a 404 log with one-click Create Redirect.

An SEO audit grid lists the pages with missing or duplicate titles and descriptions, with a CSV export, so you know where to start.

  • Markup search engines can read

    Product, ProductGroup, breadcrumbs and organisation as JSON-LD, with the theme's duplicate microdata removed, so each page has one Product and one BreadcrumbList.

  • Keep the traffic you earned

    Old URLs answer with a 301 to the right page, deleted products and categories get automatic redirects, and the 404 log shows what still breaks.

  • No page-speed cost

    Everything is rendered on the server and cached with the page. The module adds no JavaScript files to the storefront, on Luma or on Hyvä.

All features

What is included

Structured data (JSON-LD)

  • Product with offers, GTIN, MPN, brand, ratings and reviews
  • Configurable products as ProductGroup with one variant per child
  • BreadcrumbList, ItemList, WebSite and Organisation
  • Shipping details and return policy from your settings
  • Optional LocalBusiness on a CMS page
  • Removes Luma and Hyvä microdata to avoid duplicates

Meta, canonical and robots

  • Meta templates for products, categories and CMS pages
  • Separate title for filtered or paginated category pages
  • Meta Generator writes the templates into the catalogue
  • Canonical without filters and sort parameters
  • Meta robots by page type, URL pattern or per page
  • Image alt and title templates

International and social

  • Hreflang between store views with x-default
  • Hreflang Key to pair CMS pages with different URLs
  • Hreflang links in the XML sitemap (optional)
  • Open Graph and Twitter Card tags with product price and availability

Redirects, sitemap and audit

  • Redirect manager with CSV import and export
  • Automatic 301s for deleted products and categories
  • 404 log with retention and ignore patterns
  • Exclude pages from the XML sitemap, add category images
  • SEO audit with CSV export and six CLI commands

Feature tour

Everything your shoppers and your team see

01 / 06

Every old URL goes somewhere

Exact, wildcard (blog/* to news/*) or regular expression rules, 301 or 302, per store view or all, with priority, hit counter and notes. Import and export as CSV.

02 / 06

One rule for a whole section

A * in the request path carries the matched part over to the target. Chains of rules are answered with one redirect to the final page, and loops are ignored.

03 / 06

See which URLs break, then fix them

Storefront 404s per store view and URL with hits, last referrer and user agent. Create Redirect opens the redirect form with the path filled in.

04 / 06

Find the gaps in the catalogue

Missing, long or duplicate titles and descriptions, missing images and alt text, thin content and NOINDEX pages, by severity. Weekly by cron, on demand, or from the command line.

05 / 06

Good meta data for every page

Title, description and keyword templates for products, categories and CMS pages, with variables such as {{name}}, {{price}}, {{brand}} and optional segments in square brackets.

06 / 06

Test pages, one click away

Sample product, category, CMS and home URLs for each store view, with links to Google's Rich Results Test and the Schema.org validator.

Live demo

Try it before you install it

A full Magento store with the module installed, on Luma and on Hyvä. The admin demo signs you in with one click.

Compatibility

Requirements and compatibility

Compatibility of SEO Suite
Magento2.4.6 – 2.4.9
PlatformsMagento Open Source and Adobe Commerce (one price)
Storefront themes Luma Blank Hyvä
PHP8.2 – 8.5
Latest version 2.0.5
composer.json requires php ~8.2.0||~8.3.0||~8.4.0||~8.5.0 magento/framework ~103.0.6 commercegears/module-core ^2.0 free, installed by Composer with this module magento/module-backend * magento/module-catalog * magento/module-catalog-inventory * magento/module-catalog-url-rewrite * magento/module-cms * magento/module-config * magento/module-configurable-product * magento/module-cron * magento/module-directory * magento/module-eav * magento/module-review * magento/module-sitemap * magento/module-store * magento/module-theme * magento/module-ui * magento/module-url-rewrite *

Installation

Up and running in minutes

After you buy, create a Composer key in your account. Then, in the root of your Magento project:

  1. 01Add the repository and your key (once per project)

    composer config repositories.commercegears composer https://repo.commercegears.com
    composer config --auth http-basic.repo.commercegears.com PUBLIC_KEY PRIVATE_KEY
  2. 02Install the module

    composer require commercegears/module-seo-suite
  3. 03Enable it

    bin/magento setup:upgrade
    bin/magento setup:di:compile
    bin/magento setup:static-content:deploy
    bin/magento cache:flush

    The last three are only needed in production mode.

Prefer a zip? Every version you are entitled to can be downloaded from My modules. More about Composer access

User guide

Setting up SEO Suite

The user guide has its own page: how to install SEO Suite, what each option does and how to use it in your store. Written for version 2.0.5; a copy ships with the module.

In the guide

Read the user guide

Changelog

Release notes

2.0.5

Latest
  • Improvement: faster first load of configurable product pages that have a catalog price rule.
  • Fix: reviews without a reviewer name are no longer sent to Google, which requires one.

2.0.4

  • Fix: shipping cost, free-shipping limit and return fee for Google follow the currency the page shows.

2.0.3

  • Fix: the price valid-until date for Google now ends with a catalog price rule sale, not a year ahead.
  • Fix: a special price end date is only used when the special price is the price shown.

2.0.2

  • Improvement: compatible with Magento 2.4.6 (PHP 8.2).

2.0.1

  • Improvement: user guide screenshots and links updated for the CommerceGears name

2.0.0

  • Improvement: renamed to CommerceGears (new Composer package, admin menu and settings paths)

FAQ

Questions, answered

Something else on your mind? The developers who wrote the module answer before and after you buy.

Ask a question →

Already installed it? Open a support ticket

Does it work with Hyvä?

Yes. Everything the module adds to the storefront is rendered on the server, in the page <head> or as JSON-LD, so it works the same on Luma and Hyvä (tested with Hyvä 1.5). It also switches off Hyvä's own BreadcrumbList JSON-LD and removes the schema.org microdata that Luma and Hyvä templates write, so search engines see one Product and one BreadcrumbList per page. The checkout is not touched.

Will it slow my store down?

The head data is built once per page render and stored in the full-page cache with the page. On product pages it uses a handful of indexed queries; the ItemList on category pages reuses the product collection the page has already loaded. The redirect router only runs on GET and HEAD requests that are not served from the full-page cache. No JavaScript files are added to the storefront.

Which structured data types does it output?

Organisation (Organization, OnlineStore, Store or Corporation), WebSite with SearchAction on the home page, BreadcrumbList on product, category and CMS pages, Product with offers, identifiers, ratings and reviews, ProductGroup for configurable products (one hasVariant Product per child), ItemList on category pages, and an optional LocalBusiness on a CMS page you choose. Shipping details and a return policy can be added from your settings.

Does it guarantee rich results in Google?

No tool can. Google decides whether to show rich results. The module outputs markup that follows Google's documentation for merchant listings, product variants, breadcrumbs and organisations, and the Structured Data Test page links each sample page to Google's Rich Results Test so you can check it yourself.

Do I have to write a meta title for every product?

No. Templates fill empty fields on the storefront, for example {{name}}[ | {{category}}]. Text in square brackets is dropped when a variable inside it is empty. If you want the values stored in the catalogue (for feeds or other tools), the Meta Generator writes them into products, categories or CMS pages, with a preview mode.

How do I move an old site or a renamed section?

Add redirects under CommerceGears > SEO Suite > Redirects, or import them as CSV (columns source,target, redirect_type,match_type,store,is_active,priority,note; only source and target are required). Wildcard rules such as blog/* to news/* carry the matched part over, and regular expressions are supported for anything more complex. Use the check-only mode to validate a file before importing it.

What happens when I delete a product or a category?

By default the module creates a 301 redirect for every URL the product had, to its deepest category (you can choose search results for its name, the home page, or nothing). A deleted category redirects to its parent category or the home page. If a new product or category later uses the same URL, the page is shown and the automatic redirect is skipped.

What about redirect chains and loops?

When rule A points to B and rule B points to C, visitors get one redirect straight to C. Loops between rules are ignored on the storefront, logged once a day in var/log/system.log, and reported in the admin when you save such an exact rule.

Can bots fill up the 404 log?

The log is capped at 50,000 entries. When it is full, only URLs already in the log are counted until old entries are removed by the daily clean-up (90 days by default) or in the admin. Patterns such as *.php and wp-* are not logged by default, and you can add your own.

Does it support multiple languages and store views?

Yes. Hreflang links connect the store views of a website (optionally across websites) with an x-default, in the page head and optionally in the XML sitemap. Store views can be left out, the language code can be set per store view, and CMS pages with different URLs can be paired with a Hreflang Key. Most settings work per store view.

Can I keep my staging site out of search engines?

Yes. With "Keep Store-wide NOINDEX" on (the default), a site whose Magento default robots setting is NOINDEX,NOFOLLOW is left alone, so the robots rules do not turn staging pages back to INDEX.

Which Magento versions are supported?

Magento Open Source and Adobe Commerce 2.4.6 to 2.4.9 on PHP 8.2 to 8.5 (Magento 2.4.6: PHP 8.2). The module requires commercegears/module-core, which Composer installs automatically.

Support

Help from the developers who wrote it

From the blog

Guides and articles