Category path is on for products
The same SKU is /mens/shirts/blue-oxford.html and /sale/blue-oxford.html. Crawl hits both. We pick one path. We 301 the rest. Crumbs can stay in the template.
Magento SEO
Magento SEO from senior consultants who turn search demand into rankings, traffic and revenue for your business. We start with a free audit and a 90-day plan built around your goals.
Our process
We export how your products and categories are addressed today, to see whether Magento is creating extra URLs.
We list your websites, stores and store views, and decide what to do with views that only change currency or banners.
We decide which layered navigation filters can be indexed, whatever module powers them.
After any key change, we check URL rewrites and indexers, and make sure the sitemap matches the URLs you keep.
Position
Adobe Commerce is not a simple folder tree. Each product has a URL key. Each store view can change that key. Magento can also prepend the category path. Search intent has to live on the HTML for the one path you keep. Five rewrite rows for the same SKU are not five shopping jobs.
We start in Catalog, URL Rewrites. Then store views. Then layered navigation. Catalog rules that would be true on Shopify or Woo stay on ecommerce SEO. Shopify and WooCommerce have their own pages. Hosts and hreflang stay on international SEO. Fetch after a deploy stays on technical SEO.
We will not turn on category paths for products to make crumbs look nicer. We will not index every layered mix because a module can. We will not treat Magento 1 as a living platform. If the cart is WooCommerce, open that page. If the store is Shopify, open Shopify SEO.
Compare packages if a published retainer already fits. Use Ecommerce SEO when a related service is the real job. If this page is still a guess, start with a free AI + SEO audit.
When this fits
This page fits when Magento itself is making extra URLs: category paths on products, store views that copy the tree, or layered navigation that indexes mixes. If you needed a catalog rule that travels, a Woo shop, or a host contract, start there instead.
The same SKU is /mens/shirts/blue-oxford.html and /sale/blue-oxford.html. Crawl hits both. We pick one path. We 301 the rest. Crumbs can stay in the template.
Marketing wanted a language or a brand site. Magento cloned products. Canonicals and sitemaps now disagree. We name which views are real catalogs. The rest stop publishing.
Color, size, and price stack as crawlable URLs. Search Console is full of filter copies. Money categories are not. We write which facets may stay. The rest stay shopper tools.
Old keys, old categories, and old views still have rows. The sitemap lists paths Magento no longer means. We clean the table against live URL keys. A leftover 301 is not a strategy.
Process
Four Magento jobs in order. Each one ends with a note admin can keep. We do not start a Hyva rebuild inside the indexer step. The point is one public path per product you mean to sell.
Outcome A map of live product paths, including duplicate rewrite rows.
Outcome A store-view list that says which catalogs may publish.
Outcome A facet list the navigation and filters can follow.
Outcome Indexer and sitemap notes that match the rewrite map.
Deliverables
You leave with a rewrite map, a store-view list, a facet yes-or-no, and indexer notes. You do not leave with a Shopify theme pass, a Woo plugin list, or a ranking date.
Product and category paths Magento actually publishes, including category-path duplicates. Dated. Last season's spreadsheet is not this map.
The one URL a SKU should keep. Other category paths 301. Crumbs can stay.
Which views are real catalogs. Which only change price or language chrome. A clone with no unique assortment is named.
Layered navigation mixes that may be documents. The rest stay tools. Navigation should match.
Which Magento indexers must finish after a key or category change, plus sitemap URLs that must match. Pending rewrites are named.
Benefits
Category assignment still works for merchandising. The public product path stays one. Ads and reviews stop splitting.
A real market view can publish. A banner-only view does not get a second sitemap.
Shoppers can still filter. Crawlers get the mixes you named. Money categories get crawl back.
Old keys and dead categories leave. Coverage reports get easier to read.
Methodology
This works when one person can edit Catalog URL Rewrites, and one person can refuse a new store view. If both are missing, we are touring Magento settings. We are not holding a catalog.
We start with the products that must work this month, the store views already live, and the person who can change a URL key. If any of those is missing, we name it first. We do not spend the week touring other SEO specialties.
We fetch published HTML on the public path. We do not trust the admin product screen. Does this category match a real assortment? Is a store view a catalog, or only a price list?
You may rename the roles below. You may not leave store-view creation implied. An implied view is how a brand site copies fifty thousand product URLs overnight.
First working session
The first hour is one product with more than one public path, plus the store views already live. It is not a tour of every Magento module.
We pick a money SKU. We list every URL Magento currently serves for it. Category paths. Old keys. Store-view copies. If two of those pages share one unique paragraph, we keep one path before we touch titles. If the real question is catalog classes that would be true off Magento, that is ecommerce SEO. If the store is mid-cutover, that is migration SEO.
Then we fetch those URLs, robots, and the sitemap. We compare that to Search Console by path pattern. The extra rows are usually the job. A Hyva or Luma preview while you are logged in is not evidence.
We leave with a first map or a stop. A map names the kept product path, the views that may publish, and who may add a store view. A stop names what is missing: admin access, a merch owner, or a platform that is not Magento. Both are outcomes. A list of Magento SEO extensions is not.
AI search
Honest product HTML on one path can help later extraction. This page cannot sell AI Overviews, a shopping-chat mention, or LLM visibility as a score.
People ask whether a Magento SEO extension will land SKUs in Google AI Overviews (AIO). If the same product exists at five URLs, or if layered mixes have exploded, generative search has too many near copies, or nothing honest to lift. That is ours to tidy. A program across search UIs is AI SEO.
AI search needs one page it can fetch. Attributes that live only in admin do not help. Nobody can guarantee a spot in AI Overviews, but clear pages improve your chances.
We check brand and product names in the published HTML. That is entity optimization as a catalog input.
LLM visibility needs a sentence a model can quote, then measurement on LLM SEO. One clean Magento product URL can make a SKU look real.
Schema
JSON-LD helps a machine read a product the kept page already states. This work can stop Magento and an SEO module from injecting two Product blocks. Schema supports the work; it is not the whole job.
If Magento and an SEO module both inject markup, we pick one. Valid types still need facts that match the HTML.
We refuse FAQ blocks that exist only to host more terms. A real fitment question can live on the product template.
Markup will not force generative search to cite the SKU. A paid Shopping placement is a different job.
Who we work with
Someone has to refuse a new store view. We work with that person. We do not replace them with a second Magento retainer.
Ships URL keys, rewrites, and store-view settings. Rechecks after a reindex. They keep the public path stable.
Names real categories and whether a SKU may move. Holds the rewrite rule when a campaign wants every category path live.
Can keep going once public paths are honest. If they try to run this as Merchant Center only, two jobs collide. Paid Shopping still belongs on shopping ads.
FAQ
Usually no. Magento can put a product at /shoes/running/sku.html and also at /sale/sku.html. That is two public URLs for one SKU. We pick one canonical path. Category crumbs can still show in the template.
No. A store view is how Magento serves language, currency, or catalog differences. International SEO owns hosts, folders, and hreflang when markets need a return-tag contract. We set Magento views so they do not clone the same product tree. We do not rewrite the host model on this page.
Only as a move off it. Magento 1 is end of life. Living work here is Magento 2 and Adobe Commerce: URL keys, store views, layered navigation, and the rewrite table. A cutover off Magento 1 is migration SEO, not a Magento 1 tutorial.
No. A filter people actually shop, with unique facts, can be a page. Color plus size plus price stacked as crawlable URLs usually should not. Magento, ElasticSuite, or an Amasty module can publish those mixes. We write which facets may index. The rest stay tools.
No. Stable product HTML can help AI search later. It does not buy a place in Google AI Overviews (AIO), a generative-search mention, or an LLM visibility score.
From Magento admin
Send the storefront, Magento admin or a staging login, and whether category paths are on for products. We will say if the leak is rewrites, a store view clone, or layered navigation. Then we name the next row to change.