Magento admin Search Engine Optimization settings with canonical tags on, next to a rich search result and an AI answer

Magento SEO: Best Practices for Settings, Structure, Speed and AI Search

The first time we crawl a store for Magento SEO, with a tool that visits every page the way Google’s bot does, one finding comes up again and again: the same content page at two addresses. One ends in a slash, the other doesn’t, both are linked from the menu, and nothing redirects one to the other. Google has to pick one of them.

That duplicate is rarely the only one. Magento (Adobe Commerce) comes with a long list of SEO controls in its admin. Some work as they should the day a store goes live. Some need changing before Google indexes the first product page. A few gaps have no setting at all, and closing them takes a developer or an extension.

For anyone who runs a Magento store and wants organic traffic, the question is which is which, and what each answer costs.

What Magento does for SEO out of the box

Magento covers the basics in its admin. URL keys with automatic 301 redirects, canonical tags for products and categories, a robots.txt editor, meta fields on every page, an XML sitemap, and basic product markup are all there without an extension. The gaps are around CMS pages and the homepage, filter pages, stores in several countries, and anything that has to be done for thousands of pages at once.

The table below is the one we fill in during the first hour of an audit.

FeatureBuilt into Magento?Where it’s setWhat to add
URL keys and 301 redirectsYesURL key field on each product, category, and page, redirect created by defaultNothing, keep the redirect option on
URL suffix (.html)YesStores > Settings > Configuration > Catalog > Catalog > Search Engine OptimizationA decision, see the URL settings below
Canonical tags for products and categoriesYes, a settingSame Search Engine Optimization sectionSwitch both to Yes
Canonical tags for CMS pages and the homepageNoNo setting in the adminDeveloper
robots.txt and meta robotsYesContent > Design > Configuration > Search Engine RobotsReview the default instructions
XML sitemapYes, switched on in settingsStores > Settings > Configuration > Catalog > XML SitemapEnable it and set a frequency
Product structured dataBasic (name, SKU, price, rating)Product page templateShipping, availability, and return data
Organization structured dataNoNo setting in the adminDeveloper
hreflang for store viewsNot in the SEO settingsNo setting in the adminExtension or custom code
Meta templates for big catalogsNoEach page has its own meta fieldsExtension
Filter page rulesNoNo setting in the adminExtension or code
What Magento covers for SEO out of the box, and what needs an extension or a developer

Magento handles one page at a time well. Anything decided for a whole class of pages (filter URLs, store views, or ten thousand meta titles) needs an extension or a developer.

Should you buy a Magento SEO extension?

If organic search is a channel you invest in, and the catalog is too large to write every meta title by hand, a Magento SEO extension pays for itself in time saved. It also closes most of the gaps in the table, hreflang and canonical rules in particular, without custom code. A store with a few hundred products in one language can cover the basics with the native settings below.

Mageworx SEO Suite Ultimate is the extension we have installed on several projects. The vendor lists it at $299 for Magento Open Source, with Adobe Commerce and Commerce on Cloud at a further $299. It covers canonical rules down to layered navigation pages, hreflang tags in the page and the XML sitemap, rich snippets, meta templates, split sitemaps, redirects for deleted products, and llms.txt generation.

Mageplaza SEO comes in three editions, listed at $99, $229, and $349 for the first year. Standard covers canonical tags, structured data, and a snippet preview. Professional adds robots meta tags, metadata templates, SEO layered navigation, redirects, and sitemaps. Hreflang tags come with Ultimate only.

Both vendors list Hyvä compatibility. Our roundup of the best Magento extensions covers the SEO modules alongside the rest.

🚀 Quick takeaway

Check which edition carries the feature you need before you buy the cheapest one. Hreflang, for example, is in Mageplaza’s Ultimate edition only.

The Magento SEO settings to change first

Most of the Magento SEO settings that matter are in two admin sections. Stores > Settings > Configuration > Catalog > Catalog > Search Engine Optimization holds the URL and canonical settings, and Content > Design > Configuration holds robots and the title suffix. Some of them change every URL on the site, so test each change on a staging store first.

URL keys, suffixes, and category paths

Start in Stores > Settings > Configuration > Catalog > Catalog, under Search Engine Optimization, which Adobe’s configuration reference documents field by field.

Magento admin Search Engine Optimization settings with the product and category URL suffix fields set to .html
Product URL Suffix and Category URL Suffix under Catalog > Search Engine Optimization.

Product URL Suffix and Category URL Suffix add an ending such as .html to each URL, so a product reads /gear/bags/weekender-bag.html instead of /gear/bags/weekender-bag. The suffix neither helps nor hurts rankings. Unless you are migrating from a store whose URLs already end in .html, leave both fields empty for clean URLs, then reindex and clear the cache. Type any suffix without the period, since Magento adds it. Changing the suffix on a live store changes every product and category URL at once, so map the redirects with our 301 redirect mapping guide and test on staging first.

Magento demo store category URL ending in .html, the default suffix
A Magento category URL with the default .html suffix.
Magento demo store category URL without the .html suffix
The same kind of category URL with the suffix removed.

Set Use Categories Path for Product URLs to No. With Yes, a product in more than one category can be reached under each of them, and Adobe’s own reference warns that several URLs for one page can affect search rank.

Keep Create Permanent Redirect for URLs if URL Key Changed on Yes, so Magento writes a 301 redirect every time someone edits a URL key.

Canonical tags for products and categories

In the same section, set Use Canonical Link Meta Tag for Categories and for Products to Yes. A canonical tag is a line in the page’s code that names the one address search engines should treat as the original when several addresses show the same content. Magento puts the clean product or category URL in that line, so a category filtered by color or sorted by price points back to the plain category URL and stops competing with it. Adobe describes the setting as a way to reduce duplicate content, and in our audits it is the cheapest fix on this page.

Magento catalog SEO settings with Use Canonical Link Meta Tag for Categories and for Products set to Yes
Canonical link meta tags for categories and products, switched on in Catalog > Search Engine Optimization.

Robots.txt and meta robots

Go to Content > Design > Configuration, edit the Global row, and expand Search Engine Robots, documented in Adobe’s SEO overview. Default Robots sets the meta robots tag on every page, with four options that combine INDEX or NOINDEX with FOLLOW or NOFOLLOW. The custom instructions box holds the robots.txt file, and Reset to Default restores Magento’s own instructions.

Magento Search Engine Robots settings: Default Robots INDEX, FOLLOW and the default robots.txt disallow rules
Search Engine Robots settings, with Magento's default robots.txt instructions filled in.

Those default instructions include Disallow: /*?, which blocks every URL with a question mark. That includes every filtered and paginated category URL, such as /gear/bags?style_bags=2 and /gear/bags?p=2. Those URLs are linked from the category pages, so Google can still find and index them, and Google’s robots.txt documentation spells out the result: a blocked URL can still appear in search results, without a description. Robots.txt only controls crawling. Keeping a page out of the index takes a noindex tag.

Google result showing 'No information is available for this page' for a URL blocked by robots.txt
A URL blocked in robots.txt can still be indexed. Google then shows it without a description.

We don’t leave the default file in place. Every store gets a robots.txt built from our own template and adjusted to its URLs, as our robots.txt crash course shows. Add the sitemap URL to the file, or set Enable Submission to Robots.txt to Yes in the sitemap settings.

Adjusted Magento robots.txt with disallow rules for system folders, checkout, customer and search URLs
The robots.txt template our SEO team starts from and adjusts for each store.
Magento XML sitemap setting Enable Submission to Robots.txt set to Yes
Enable Submission to Robots.txt adds the XML sitemap URL to robots.txt.

Default Robots has one more job. NOINDEX, NOFOLLOW keeps an unfinished store out of Google’s index during the build.

Magento Search Engine Robots section with Default Robots set to INDEX, FOLLOW
Default Robots should read INDEX, FOLLOW once the store is live.

🚀 Quick takeaway

On launch day, check that Default Robots reads INDEX, FOLLOW on every store view, including the ones nobody edited during the build.

Meta titles, descriptions, and the title suffix

Every product, category, and CMS page has its own Meta Title, Meta Keywords, and Meta Description fields. Fill in the title and the description, and leave the keywords empty, because Google ignores them.

Magento product Search Engine Optimization section with URL key, meta title, meta keywords and meta description
Each product has its own URL key, meta title, meta keywords and meta description fields.

By hand that works for a few hundred pages. For thousands of products, use the meta templates in an SEO extension, which build titles and descriptions from product attributes, so every new product gets a usable title the moment it is saved.

One setting covers all of them. Under Content > Design > Configuration > HTML Head, the Title Suffix field appends text to every page title on the store view. Put the brand there, as Magento’s sample store does with ” | Luma”, and every title ends with the store name.

Magento HTML Head settings with the Title Suffix field set to | Luma
Title Suffix under HTML Head adds the brand name to every page title.

XML sitemap

Magento builds an XML sitemap once you switch generation on. Go to Stores > Settings > Configuration > Catalog > XML Sitemap, set Enabled to Yes under Generation Settings, and pick a frequency: daily, weekly, or monthly. Without a schedule the file goes stale as products come and go. Adobe’s sitemap documentation lists the remaining options.

Magento admin XML Sitemap configuration page with category, product and CMS page options
XML sitemap settings under Stores > Configuration > Catalog > XML Sitemap.
Magento XML sitemap Generation Settings with Enabled set to Yes, a start time and daily frequency
Set Enabled to Yes under Generation Settings so the sitemap regenerates on a schedule.

The defaults cap each file at 50,000 URLs and 10 MB. From Magento 2.4.9 the Generation Method setting offers Batch, which uses memory-optimized processing for large catalogs.

What the native sitemap can’t do is include or exclude single URLs. Our check after every generation is to crawl the sitemap and the whole site, then compare the two lists, which turns up important pages missing from the sitemap and pages that should not be in it, such as old CMS pages and test pages.

CMS pages and the homepage

There is no canonical setting for CMS pages or the homepage, which is where the trailing-slash duplicate from the top of this article comes from. The About page answers at /about-us and at /about-us/, both linked from somewhere in the site, and nothing in the admin tells Google which one is the original.

A developer closes the gap with a canonical tag on each CMS page and the homepage, plus one redirect rule that sends the slash version to the version without it. Our duplicate content guide covers the other places eCommerce stores pick up duplicates.

Layered navigation, filters, and pagination

Layered navigation, the filter block on Magento category pages, can turn one category into thousands of URLs, one per filter combination. Many of them show the same products as the parent category. Decide which filter pages deserve to rank, such as a “black leather sofas” page that matches what shoppers type, and keep every other combination out of the crawl.

Google’s own faceted navigation guidance is direct about the second group. If the filter URLs don’t need indexing, block them from being crawled, with a robots.txt disallow or URL fragments. Google calls canonical tags and nofollow weaker signals here, so the canonical setting above is a backstop and the crawl rule does the main work.

For the filter pages you do want indexed, use “&” as the parameter separator, keep the filter order the same wherever a filter is applied, and return a 404 status when a combination has no products.

Pagination is separate. Google no longer uses rel=”next” and rel=”prev”, and its guidance says to give each page its own canonical URL and never to use the first page as the canonical for the rest. Our posts on faceted navigation SEO and layered navigation problems go deeper.

🚀 Quick takeaway

If a filter combination returns no products, the URL should return a 404 status. An empty category page with a 200 status is an indexable page with nothing on it.

Structured data: what Magento adds and what’s missing

Magento product pages carry Schema.org product markup out of the box, with name, SKU, price, and rating, enough for stars and a price to show under a search result. Organization markup, the block that tells Google which company runs the site and helps connect the store to the brand in a knowledge panel, is missing and needs adding.

Google search result for a product with a 4.7 star rating from 1,435 votes
A product result with a star rating and vote count, drawn from product markup.
Google knowledge panel for scandiweb with company description, headquarters and founding year
A Google knowledge panel for scandiweb, the kind of result organization data supports.

Structured data labels a page’s content for machines, so a search engine reads a price as a price. Google separates product snippets, for pages where people cannot buy directly, from merchant listings, for pages where they can, and a Magento product page is a merchant listing. Google asks those pages to share shipping costs, availability, and return information. Magento’s default markup stops at name, SKU, price, and rating, so a developer or an extension has to add the rest.

Two rules apply to whatever you add. Google asks that structured data match the visible text on the page, so the price in the code has to be the price the shopper sees. And markup makes a page eligible for a rich result. Google decides whether to show one.

Site speed and Core Web Vitals on Magento

Core Web Vitals are Google’s three measures of how a page loads, how fast it responds to a tap, and how much it shifts while loading. They are part of how Google judges pages, and many Magento stores miss them. In the HTTP Archive report for September 2026, which counts sites, 44.6% of Magento sites passed all three on mobile, and only 23.0% had a good server response time, the wait before the browser receives anything.

Google’s thresholds are a Largest Contentful Paint (loading) of 2.5 seconds or less, an Interaction to Next Paint (responsiveness) of 200 milliseconds or less, and a Cumulative Layout Shift (visual stability) of 0.1 or less, at the 75th percentile of real visits.

Two separate routes fix this. A lighter frontend such as Hyvä, a Magento theme built for speed, changes what the browser does once the page arrives. Server response is hosting, caching, and the page build, which our Magento performance audit guide covers.

🚀 Quick takeaway

Run category and product pages through Core Web Vitals testing as well as the homepage. Those are the pages organic search sends shoppers to.

International stores, store views, and migrations

A store that sells in several countries or languages runs several store views, and each needs hreflang tags, code that tells Google which version of a page to show in which country and language. Magento’s SEO settings don’t include hreflang, so the tags come from an extension such as the two above or from custom code.

One of our case studies shows the cost of getting this wrong. An international eCommerce store moved more than 20 store views from a .eu to a .com domain, and organic traffic fell 42% in the first month. The fixes were hreflang tags for every store view, canonical tags against over-indexation, XML sitemaps, robots.txt and meta robots, a structured approach to indexing the faceted navigation, and replacing the forced GEO IP redirects. Within four months, revenue from organic traffic was up 76.95% year on year. The detail is in the 77% organic revenue case study.

The same list applies to any Magento migration, including a change of URL suffix. Check hreflang, canonicals, and sitemaps on the new domain in the first week.

Google says there are no additional requirements to appear in AI Overviews or AI Mode, no special optimizations, and that the best practices for SEO remain relevant for its AI features. For a Magento store, that means the work above is also the AI search work. Clean URLs, one canonical per page, structured data that matches the page, and fast pages are the same list, per Google’s AI features documentation.

One addition is product data. Price, availability, shipping, and returns, the fields Google asks merchant listings for, are what an AI assistant needs to answer a shopping question with your product, so they belong in the markup. Our guide to how products appear in ChatGPT shopping covers that side.

Some stores also publish an llms.txt file, a plain-text summary of the site for AI assistants, and Mageworx SEO Suite can generate one. We have not seen evidence that it improves rankings, so treat it as optional.

If nobody has time for these fixes, Ari, the AI agent for Magento, takes them in chat. Its SEO and AI search fixes match the list above. Ari adds product data so Google can show stars, price, and stock, writes meta titles and descriptions for every product and category from the store’s own data, points filter and sort pages to the main page with a canonical tag, and publishes an llms.txt. It works on a copy of the store with customer data removed, and a person releases each change.

Ari chat on a Magento store: an SEO change requested in plain words and built on a copy of the store
Ari, the AI agent for Magento, takes SEO fixes in chat and builds them on a copy of the store.

What fixing technical SEO is worth

Two scandiweb SEO projects put this kind of work into plain numbers. One is the international store in the previous section. The other is PUMA, where organic revenue grew 62% year on year across its cross-border markets, product page clicks rose 140%, and product snippet clicks rose 52%.

The PUMA work was technical SEO of the kind this guide covers. The list was a pagination fix on product listing pages, a menu navigation fix, consistent titles on search pages, a rendering fix for pages that returned 404s to Google, and schema markup for product variants, each broken down in the PUMA enterprise SEO case study.

Magento SEO checklist

Run this Magento SEO checklist top to bottom on any store you own or inherit. It follows the order of this guide, and the simplest way to use it is to note for each item whether it needs an admin login, an extension, or a developer, then book the work in that order.

  1. Decide on the URL suffix once, and map redirects if you change it
  2. Set Use Categories Path for Product URLs to No
  3. Switch on Use Canonical Link Meta Tag for categories and products
  4. Replace the blanket Disallow: /*? in robots.txt with rules written for your store
  5. Confirm Default Robots reads INDEX, FOLLOW on every store view
  6. Enable the XML sitemap on a schedule, add it to robots.txt, and compare it with a crawl
  7. Set the Title Suffix, and meta templates for large catalogs
  8. Add canonicals to CMS pages and the homepage, with one trailing-slash redirect rule
  9. Pick the filter pages that may rank, block the rest, and return 404 for empty combinations
  10. Check product structured data and add Organization markup
  11. Test Core Web Vitals on category and product pages
  12. Add hreflang tags for every store view
SEO migration checklist: redirects, robots.txt, XML sitemap, canonicals, hreflang, structured data and Open Graph tags
Part of the SEO checklist our team works through on Magento migrations.

Before any migration, run the whole list again on staging. Our technical SEO audit guide explains how we check each item across a large site.

Magento SEO FAQ

Is Magento good for SEO?

Yes, with configuration. Magento gives you URL keys with automatic 301 redirects, canonical tags for products and categories, an editable robots.txt, meta fields on every page, and an XML sitemap, all in the admin. The weak spots are CMS page canonicals, hreflang, filter page rules, and meta templates at scale, which need a developer or an extension. Once those are covered, the platform itself stops being the limit.

Do you need an SEO extension for Magento 2?

A small store in one language can do without one. The native settings cover URLs, canonicals, robots, and the sitemap. You do need one, or custom code, when the store runs several store views and needs hreflang, when the catalog is too large to write meta titles by hand, or when filter pages need their own canonical and indexing rules. Mageworx SEO Suite Ultimate and Mageplaza SEO both cover those, in different editions.

Should you remove the .html suffix from Magento URLs?

The suffix neither helps nor hurts rankings, so the decision is about risk. On a new store, leave the suffix fields empty for clean URLs. On a live store whose URLs already end in .html, removing it changes every product and category URL at once, and every old address needs a 301 redirect to the new one. Unless you have a reason to change, keep what you have and spend the effort elsewhere.

How do you stop Magento filter pages from being indexed?

Keep them out of the crawl. Google’s guidance for faceted navigation says that if filter URLs don’t need indexing, blocking them in robots.txt works better than canonical or nofollow tags. Write disallow rules for the filter parameters your store uses in place of Magento’s blanket Disallow: /*?, which also blocks pagination. Keep the category canonicals from the admin switched on as a second signal, and return a 404 for filter combinations with no products.

Does Magento support hreflang tags?

Its SEO settings don’t. Magento has store views for languages and countries, but nothing in the admin writes the hreflang tags that tell Google which view to show where. The tags come from an extension or from custom code. Mageworx includes them in SEO Suite Ultimate, and Mageplaza in its Ultimate edition. Mageworx can also place them in the XML sitemap, which is worth switching on when the option is there.

How do you optimize a Magento store for AI search?

Do the standard SEO work first. Google states that AI Overviews and AI Mode need no extra requirements or special optimizations, and that SEO best practices still apply. On a Magento store that means clean URLs, one canonical per page, structured data that matches the page, and fast pages. Then add the product data assistants read (price, availability, shipping, and returns) and, if you want, an llms.txt file, which some extensions generate.

Where to start with Magento SEO

Magento SEO is mostly a question of order. Start with the admin settings, because they cost nothing and decide what every URL on the store looks like. Then deal with the duplicates the admin cannot fix: CMS page canonicals, the trailing slash, and filter pages that need rules or a 404. Then add the structured data Google asks for, and get category and product pages through Core Web Vitals. An extension or Ari covers the parts that have no setting, and a developer covers the rest.

Each of those steps is checkable in a crawl, so you will know when it is done, and the checklist above is short enough to run every time the store changes hands or changes domain. For everything this article leaves out, our wider Magento SEO guide picks up where this one stops.

If you would rather have us run the crawl, request a Magento SEO audit from our team.

Share on:

Share on X Share on LinkedIn Share on Facebook

You may also like