SEO Magento 2
If you let Magento 2 run its default SEO settings without intervention, you are almost certainly leaking crawl budget to duplicate pages.
Start here
- Enable canonical tags for categories and products in Catalogue SEO settings to consolidate duplicate URLs.
- Set SEO-friendly URLs with hyphens and remove unnecessary parameters like ?colour=red or ?size=large.
- Generate and submit a fresh XML sitemap after major changes; split into multiple files if it exceeds 50,000 URLs.
- Use robots.txt to block non-essential pages such as customer account and checkout paths, but never add blocked URLs to your sitemap.
Plain-English take
Magento 2 is a powerful platform, but its default SEO configuration is not optimised for Google. I've seen stores where every product page is reachable via multiple URL variations because of filter parameters, session IDs, and category path duplicates. The fix is straightforward: turn on canonical tags in the backend, enforce short hyphenated URLs, and set up 301 redirects whenever a URL key changes. If you skip these steps, you waste crawl budget and confuse Google's indexers with duplicate content. For example, a single product might appear at /product.html, /product?colour=red, and /product?size=large. The [canonical tag](/canonical-tag/) tells Google which version to treat as the primary one. I also recommend reviewing category display settings — Magento can generate thin category pages if you only show product grids without any descriptive text. A short, unique description helps each category stand out. The default [robots.txt](/robots-txt/) is a decent starting point, but customise it to block customer account and checkout pages from crawling. Then ensure your [sitemap](/sitemap/) includes only indexable, canonical URLs. Many store owners overlook the "Generate" button — sitemaps are not automatic. Set a cron job or regenerate after every major product update. This section is about getting the fundamentals right before chasing advanced tactics.
When it actually matters
Not every Magento store needs the same level of SEO attention. It matters most when your catalogue exceeds a few hundred products, because the duplication problem scales. For small stores under 100 products, Google can often handle a few duplicates, but as you grow, the issues compound. I audited a store with 5,000 products and 200 categories — the default layered navigation generated over 50,000 unique filter URLs. That is a serious crawl waste. It also matters when you change URL keys. If you rename a product or category, Magento does not automatically create [301 redirects](/301-redirect/) unless you install a module or add them manually. I learned this the hard way: changing a product URL without a redirect drops rankings for that page almost overnight. Site speed is another threshold. If your store loads slowly on mobile, Google may de-index deeper pages. I always check [Core Web Vitals](/core-web-vitals/) for Magento stores because the platform can be heavy. Full-page caching, Varnish, image compression — these are not optional. The threshold for action is when Time to First Byte exceeds 300ms. Also, if you use a PWA frontend, JavaScript SEO becomes critical because Magento's default server-side rendering may be bypassed. So, when does it matter? When you have scale, when you change URLs, when your speed is poor, or when you adopt a PWA.
What I got wrong
I used to think that because Magento 2 had built-in SEO fields for meta tags and URLs, the platform was good to go out of the box. I was wrong. The defaults are bare minimum, and the canonical tag setting is off by default in some versions. I also assumed the XML sitemap generation was automatic — it isn't. You have to generate it and submit it. Another mistake: I blocked too many paths in robots.txt. I blocked /media/ and /skin/, which accidentally stopped Google from seeing images and CSS, breaking page rendering. Now I'm more careful: only block /customer/, /checkout/, and parameter-heavy filter paths. I also once set the sitemap to include all product variations, thinking it would improve indexation — it just bloated the file and diluted signals. Stick to the canonical product URL. Finally, I underestimated how much duplicate content Magento generates from cross-sell and related products modules. If product descriptions are identical across variations, use canonical tags or write unique content. I changed my approach: I now run a [technical SEO audit](/technical-seo/) immediately during setup, focusing on URL structure, canonicals, and sitemap health. That catches the issues before they compound.
Next step
Quick answers
Should I use a module for redirects or rely on Magento's built-in functionality?
Magento 2's built-in redirects require manual entry for each URL change, which is impractical at scale. For frequent changes, a module like '301 Redirects Pro' or a custom script is preferable. I use a module that logs 404s and suggests redirects automatically.
Does Magento 2 automatically handle schema markup for products?
Not by default. You can add structured data via the core module in some editions, but standard installations only include basic markup. For richer product schema with reviews and prices, I recommend a schema markup extension or custom theme code.
Why does my Magento sitemap show 404 pages?
Magento's sitemap includes all products and categories, including those set to 'disabled' or with no URL key. Always review the sitemap after generation and remove any non-indexable entries. Also check that your sitemap does not contain filtered URL variations.
Sources
Primary documentation is linked directly. Anything commercial is marked nofollow.
- Google Search Central: Canonicalization — Backs up the need for canonical tags on Magento category and product pages.
- Google Search Central: Sitemaps — Supports sitemap size limits and generation advice for large Magento stores.
- Google Search Central: SEO Starter Guide — Covers on-page basics (title tags, meta descriptions, URL structure) that apply to Magento.
- Google Search Central: Structured data — Explains schema markup for rich results, relevant to product pages on Magento.
Notes from Callum Bennett.