Magento 2 SEO Tips: Fix What Default Magento Gets Wrong
-
Eugen Barilyuk
- SEO
- Updated: Sep 30, 2026
- 11 min read
Updated with a checklist of default Magento 2 SEO settings, lessons from real support cases on filter crawling, sitemaps, and canonicals, and the current AI tools for meta tags.
We answer more than 200 SEO support tickets a year from Magento stores, and the same problems keep coming back: structured data that Google rejects, sitemaps full of pages that shouldn't be there, and filter URLs that crawlers never stop exploring. Default Magento 2 gets the SEO basics right. The trouble starts in the settings nobody checks after launch.
Below you'll find the Magento 2 SEO tips that close those gaps, in the order we'd check them on a new store.
Table of Contents
- Check the default SEO settings first
- Fix your sitemap
- Make URLs readable and keep filters out of the index
- Get rich results in Google
- Redirect moved and deleted pages
- Fill in meta tags (with AI if you like)
- Don't ignore page speed
- Where we've seen Magento SEO go wrong
- Automate the checks
- Final thoughts
Check the default SEO settings first
Before you install anything, go through the settings Magento already has. Most of them live in Stores > Configuration > Catalog > Catalog > Search Engine Optimization, and a few are scattered elsewhere:
| Setting | Where | What to set |
|---|---|---|
| Product and category URL suffix | Catalog > Search Engine Optimization | Keep one format (.html or none) and never change it on a live store |
| Use Categories Path for Product URLs | Catalog > Search Engine Optimization | No, so every product has one URL instead of one per category |
| Create Permanent Redirect for URLs if URL Key Changed | Catalog > Search Engine Optimization | Yes, so renamed products keep their rankings |
| Use Canonical Link Meta Tag for Categories / Products | Catalog > Search Engine Optimization | Yes, unless an SEO extension handles canonicals (then only one of them should) |
| Scheduled sitemap generation | Catalog > XML Sitemap > Generation Settings | Enabled, daily; needs a working cron |
| Sitemap in robots.txt | Catalog > XML Sitemap > Search Engine Submission Settings | Enabled |
| Default robots and robots.txt | Content > Design > Configuration > your store view > HTML Head / Search Engine Robots |
INDEX, FOLLOW on production; block search results, cart, checkout and account pages |
| Meta tag masks for new products | Catalog > Product Fields Auto-Generation | Check what the masks produce; by default the meta description is just the product name plus description |
Then add your sitemap to Google Search Console and watch the Pages report. If Google isn't indexing pages you care about, it usually tells you why: excluded by noindex, a canonical pointing elsewhere, or "crawled, currently not indexed".
Fix your sitemap
A sitemap won't lift your rankings by itself, but it helps search engines find and index every page you care about. Without it, crawlers can miss pages, such as deep product listings or complex category trees.
Magento doesn't create a sitemap until you ask
Magento doesn't create a sitemap out of the box. You add it once in Marketing > SEO & Search > Site Map, then turn on scheduled regeneration under Stores > Configuration > Catalog > XML Sitemap (it runs on cron, so check that cron works). Here's the full walkthrough of XML sitemap settings.
Magento has to be able to write the file. By default it goes to the pub/ root, or you can pick a folder such as /pub/media/sitemap/. Make sure the web server user can write to that folder (for example, give it to the Magento file owner with 775 permissions). Don't use chmod 777: it makes the folder writable for everyone on the server.
If the folder isn't writable, you'll get an error when you generate the sitemap:

Built for crawlers, not shoppers
The default sitemap is an XML file for search engine crawlers. It isn't meant for people, and there's no link to it on the storefront.

Add an HTML sitemap for people
A sitemap is handy for shoppers too. Generate an HTML sitemap page and put a visible link to it on your storefront, for example in the footer.

Categories, products, and CMS pages on one page help shoppers find what they need faster. A good sitemap serves SEO and shoppers at the same time.
Keep the wrong pages out
One of the most common Magento SEO mistakes is including every page of your store in the sitemap. It sends mixed signals: you ask Google to index pages you don't want indexed. Your sitemap should list only canonical URLs that return 200. Leave out:
- Duplicates. Search engines don't penalize duplicate content, but they pick one version and ignore the rest, so near-identical pages split your ranking signals. In Magento, that usually means simple products that canonicalize to their configurable parent, and filter combinations.
- Pages you don't want indexed. Search results, cart, checkout, customer account pages, temporary pages, and anything with a noindex tag.
- Dead and redirected URLs. Disabled products, out-of-stock products you've removed, and old URLs that now redirect somewhere else.
If you run several store views, add each of them to the sitemap along with hreflang tags. This shows crawlers how your localized versions relate to each other.
Make URLs readable and keep filters out of the index
A page URL is a navigation aid for both visitors and crawlers. Crawlers use it to understand what a page is about, so a good URL is readable and includes the main keywords.
Rewrite URLs with templates
Magento 2 comes with a URL rewrite tool that lets you edit the URL of any page by hand. For instance, you can show the category name instead of the category ID. Go to Marketing > SEO & Search > URL Rewrites and add a new rewrite.

To make URLs more informative at scale, generate them from a template, for example product_name-product_color-product_manufacturer for product pages. Default Magento can't do this; you need an extension. For more on URL structure, see our URL optimization practices for Magento 2.
Clean up layered navigation URLs
Shoppers use filters to narrow down a category. Magento adds the selected filters to the page URL as GET parameters, but it uses option IDs instead of names, so neither shoppers nor search engines can tell what's applied.

Layered navigation URLs are much more informative when they use attribute names instead of IDs.

Keep filter pages from eating your server
Every filter you add multiplies your URLs. Five filters with ten options each already give you thousands of combinations, and each one is a separate page to crawl. For search engines, the standard answer is to point filtered pages to the unfiltered category with a canonical tag, mark them NOINDEX, FOLLOW, and add nofollow to filter links. Do all three.
But know their limits. In September 2026, one store we supported went down for several hours even though all of that was set up correctly, with /filter/ blocked in robots.txt on top. Bots sent about 2.18 million requests to filter URLs in one day, from around 42,000 IP addresses. That was about 99% of the store's traffic. They didn't follow links; they generated new combinations themselves, so every request missed the cache and cost Magento 1–3 seconds of PHP time.
The lesson here: canonical, noindex, and robots.txt tell Google what not to index. They don't stop bots that ignore them. What helped:
- Limit how deep filter links go. In our Layered Navigation, the Active filters nofollow threshold set to 2 or 3 removes links to deeper combinations entirely.
- Reject deep combinations at the web server, before Magento starts. In that case, an Nginx rule returning 403 for a filter URL whose referrer was already a filter URL brought the load back to normal, and the first filter kept working for shoppers.
Get rich results in Google
A link to your store in Google search results can show more than a title and a description. Structured data (Product, Offer, Review, Breadcrumb markup) lets Google show rich results: images, price, availability, rating, and shipping and return details right in the search results.
Our own store, mirasvit.com, runs on Magento and uses rich snippets to show customers more info right on the search results page:

Out of the box, Magento themes add only basic product markup, so most stores need more. The same structured data is also what AI search tools read to understand what you sell. Test your pages in Google's Rich Results Test and check the Merchant listings and Product snippets reports in Search Console. The markup problems we see most often: child products that show their parent's data, breadcrumb markup output twice (once by the theme, once by a module), and category markup so large it outweighs the page. There's more on breadcrumbs rich snippets in a separate post.
Redirect moved and deleted pages
Pages don't live long: early studies put the average web page lifespan at 44 to 100 days. Store pages move and disappear even faster, as products sell out and seasonal categories come and go. If search engines can't find a page at its known address, you lose its rankings.
Default Magento has limited redirect options. You have to create a redirect for each product by hand, which gets tedious when dozens of pages move, especially when you change the URL structure. It also only lets you set 301 (Moved Permanently) and 302 (Found) redirects; there's no 307 (Temporary Redirect).

For missing pages, default Magento gives you one setting: the CMS No Route Page in Stores > Configuration > General > Web > Default Pages. Every 404 gets the same page.
Here's how we'd handle it instead:
- Products you've disabled or deleted: redirect them with a 301 to their category. Our Advanced SEO Suite does this automatically: it picks the product's first active category, then a fallback URL you set, then the homepage.
- URLs that never existed: return a real 404 or 410 with a useful page, not a redirect. Mass-redirecting every 404 to the homepage or search looks like a soft 404 to Google. Our Search Ultimate can render search results right on the dead URL with a 410 status for deleted products and 404 for typos.
- Whole sections that moved: use one rule with a wildcard instead of hundreds of manual redirects, and apply it only when the old URL returns a 404.

Fill in meta tags (with AI if you like)
Meta titles and meta descriptions are the first thing users see of your store in search results. They're often neglected, mostly because writing them by hand for thousands of products takes a lot of work, and Magento's default masks just repeat the product name and description.

AI makes this much faster. The manual way costs nothing: give ChatGPT (or any other chatbot) the product description and ask for a meta title and a meta description, then paste the result in. Read how in Magento & ChatGPT: How to simplify copywriting for your store.

For a whole catalog, automate it. Advanced SEO Suite has a built-in AI Meta Fixer that works with GPT, Claude, and Gemini: it finds duplicated, empty, and too-long meta tags and fixes them manually or automatically. The AI provider's API usage is billed separately. If you'd rather not use AI at all, SEO meta templates fill meta tags from product attributes by rule.
Don't ignore page speed
Page speed is a ranking factor, and Magento is a heavy platform. Full page cache, a fast theme such as Hyvä, and optimized images make the biggest difference. We've covered why PageSpeed Insights matters for business, and our Google Page Speed Optimizer and Full Page Cache Warmer handle the Magento side.
Where we've seen Magento SEO go wrong
These come straight from our support queue. None of them is a missing feature: each is a setting that nobody checked or that contradicted another one.
- The sitemap and the canonical tag disagreed. In one store, product URLs in the sitemap didn't match the canonical tags on the same pages under a certain combination of settings. Google got two different answers to "which URL is the real one". We fixed it in our sitemap in May 2026, but it's worth checking on any store: pick a few URLs from your sitemap and compare them with each page's canonical.
- Two modules wrote canonical tags. When Magento's own canonical setting and a layered navigation module both add a canonical, one of them silently wins, with no warning in the admin. Let exactly one module control canonicals.
- Category markup outweighed the page. A store listed every product of a category in structured data. A category with 1,198 products produced 2.9 MB of markup in a 3.4 MB page: 92% of the page was markup, and it rendered slowly for shoppers. List only the products on the current page.
What doesn't matter as much as people think: splitting the sitemap by content type. A customer once asked us for separate sitemaps for pages, categories, products, and blog posts. As our Head of Product put it, for Google both structures are the same. Split the sitemap by size (Magento and our module already do), and spend the time on what's inside it.
Automate the checks
SEO changes take weeks to show up in rankings, so mistakes are expensive: you find out about them a month later. That's why it pays to catch problems before Google does.
You can do most of the checks in this post by hand. Our Magento 2 SEO extension, Advanced SEO Suite, saves the hours: it shows each page's SEO parameters right on the storefront (SEO Toolbar), runs a scheduled SEO audit, fills meta tags from templates or with AI, manages canonicals, redirects, sitemaps, and structured data, and works with the Hyvä theme. If you're still choosing between extensions, here's how the main Magento 2 SEO suites compare on price, AI features and fit.

Try the demo to see it on a live store.
Final thoughts
Most SEO trouble in Magento stores isn't missing features. It's settings that nobody checked or that contradict each other: a sitemap that lists what the canonical tag hides, two modules writing canonicals, markup that outweighs the page. Fix the defaults first, make sure your signals agree, then automate the checks.
FAQ
Is Magento 2 SEO friendly out of the box?
Mostly, yes. Magento 2 has readable URLs, canonical tags, an XML sitemap, and editable meta tags. What it lacks: URL templates, readable layered navigation URLs, bulk redirects, rich structured data, and an SEO audit. You'll also need to check a few default settings that aren't set for SEO.
What is the best SEO setup for Magento 2?
Start with the default settings: no category path in product URLs, canonical tags on, permanent redirects on URL key change, and a scheduled sitemap. Then keep filter pages out of the index and add structured data. To choose an extension for the rest, see how the main Magento 2 SEO suites compare.
How do I start SEO on a Magento 2 store?
Check the SEO settings in Stores > Configuration > Catalog > Catalog > Search Engine Optimization, generate a sitemap and submit it in Google Search Console, then fix what the Pages report shows. After that, work on URLs, filters, meta tags, and structured data.
Why isn't Google indexing my Magento 2 pages?
Open the Pages report in Google Search Console: it tells you the reason. The usual ones in Magento are a noindex tag, a canonical pointing to another URL, a sitemap that doesn't list the page (or lists the wrong URL), and pages blocked in robots.txt.
How long does Magento SEO take to show results?
Usually several weeks, sometimes months. Google has to recrawl the changed pages first, which is why it pays to get settings right before you make changes across the catalog.