Ecommerce SEO Services That Get Your Catalogue Shelves Ranking
Your products are fine. Your shelf labels are not. Most independent stores lose organic revenue because category pages carry 60 words of manufacturer text, filters create 1,200 indexable URLs, and internal search results quietly eat the crawl budget that should be reading your money pages.
- Category and collection pages rebuilt around buying queries
- Product copy that is not the supplier's spec sheet, five times over
- Faceted and filter URLs consolidated before they reach the index
- Product schema, image markup and availability signals that match reality
- Organic demand mapped against your paid spend, so you stop paying twice
Store audit first · platform-agnostic · scope-based quote after we see the catalogue
A store this size does not need more content. It needs the right 400 URLs indexed and the other 12,000 kept out. That is a routing problem before it is a writing problem — which is why the crawl comes first.
Six shelves where the money leaks
Every store we open has the same six surfaces. The order of damage differs; the surfaces do not. This is the grid we work through, shelf by shelf.
Collection pages with no copy
A category grid with 40 products and no text is a page search engines cannot tell apart from the twenty other filter variations of itself. Category copy, a real H1, buying-intent FAQs and links to the sub-collections change which query the page can win.
Product descriptions copied five times
Supplier spec sheets pasted across every variation means forty pages with identical body copy. Add the size, material, use case and the two questions support answers weekly, and each variation becomes a page worth indexing.
Filter and facet URLs in the index
Colour, size, price and stock filters multiply the catalogue into thousands of near-duplicate pages. Canonicals, parameter rules, robots directives and a clean sitemap bring the count back to the pages you actually want ranked.
Internal search results indexed
Every on-site search creates a URL. When those URLs get crawled, they compete with collections and drain the budget. They should be blocked, noindexed and removed from the sitemap in the same change.
Images and product markup
Images that load the original 4MB file, alt text that says "product image 3", and schema that omits price, availability and review count. Product structured data is how a listing earns rich treatment in results.
Nothing between ads and the void
Stores that only buy shopping ads pay for every visit twice: once for the click and again when that demand disappears the moment the budget stops. Organic coverage of the same category queries is the only part that keeps working.
What a product page needs that yours probably lacks
A product page has two jobs: convince a person in four seconds, and tell a crawler exactly what is being sold, at what price, in what state. Most templates do the first badly and the second not at all.
The filter drawer that ate the index
This is a real pattern from a fastener distributor: 640 products, 1,248 indexable filter combinations, and a sitemap that submitted every one of them. Google crawled the filters and never reached the collections.
/collections/fasteners?material=stainless&size=m6indexed/collections/fasteners?sort=price-ascindexed/search?q=boltindexed/collections/fastenerstargetThe fix is not a single directive. It is a decision about which filtered combinations deserve to exist as landing pages, and which must never be crawled: canonical to the base collection, keep sort and search parameters out of the sitemap, and block the crawl paths that generate no organic demand. When a filtered shelf does deserve a page — "stainless M6 bolts" is a genuine query — it gets a clean static URL and real copy instead of a parameter string.
Duplicate copy, side by side
Two product pages from the same catalogue. One was pasted from the supplier PDF. The other was written for a buyer who is comparing three suppliers in three tabs.
Before — supplier sheet
STAINLESS STEEL HEX BOLT M6X40 A2. PACK OF 100.
High quality stainless steel hex bolt. Manufactured to DIN 933. Corrosion resistant. Suitable for many applications. Please contact us for more information.
61 words. The same 61 words sit on 38 other product pages, three of them from competitors.
After — buying page
M6 x 40mm A2 Stainless Hex Bolt — Box of 100
A2 stainless for outdoor and marine fittings where mild steel would rust within a season. 40mm thread length suits timber-to-steel brackets and clamps up to 30mm. DIN 933 full thread, 8mm socket head, torque to 9Nm in aluminium.
Adds the two questions support answers weekly: torque values and the difference between A2 and A4.
You do not need to rewrite 4,000 products. Start with the 40 pages that already earn impressions: those are the ones where a rewrite converts existing visibility into orders. Then extend in batches by collection, so the copy is written once per use case and adapted, not cloned.
How we work the stall
Five steps. The first two are diagnosis, the middle two are production, the last one is proof.
Count what is indexed
Crawl the store, compare against the sitemap, list every URL pattern competing for the same query.
Map queries to shelves
Assign each commercial query to exactly one collection or product page, and mark the ones with no home.
Rewrite the top tier
Titles, H1s, category copy and product text for the pages with existing impressions but poor position.
Close the technical gaps
Canonicals, parameter handling, sitemap cleanup, image weight, product and breadcrumb schema.
Re-crawl and compare
Same crawl, same queries, four weeks later. Indexed count, impressions and revenue by landing page.
If you want to see how commercial pages and informational pages should be organised before you commission anything, Google SEO Services lays out the split between demand capture and demand creation.
Three stalls, three receipts
Client names removed at their request. Figures come from Search Console and the store's own revenue reports.
Send us one collection URL.
We will crawl it, show you what is blocking it, and tell you whether the shelf is worth fixing before you buy anything.
Scope-based quotes, because catalogues are not interchangeable
A 200-SKU store on a hosted platform and a 12,000-SKU multi-language catalogue are not the same job, so we do not pretend they belong in the same package. Every quote follows the same three inputs.
How the quote is built
1. Crawlable surface. How many URL patterns exist, how many are indexed, and how much of the template layer needs editing.
2. Commercial priority. How many collections actually earn money, and how many of those have copy worth keeping.
3. Platform reality. What the theme and admin allow without a rebuild. Some platforms handle facets cleanly; others fight you on every rule.
What a scope includes
Technical cleanup, collection and product copy, schema, image handling, internal linking, and a re-crawl comparison at the end. Delivered as a fixed set of work with a named owner and a date, not an open-ended retainer.
If a rebuild is genuinely required, we say so before quoting — and we will also say when it is not needed, even though that shortens the job.
The underlying principles are the same ones covered in Website Building Services — worth a read if you are briefing a developer in-house instead of hiring.
Questions store owners ask at the stall
Do you work with Shopify, WooCommerce or custom builds?
All three, plus BigCommerce and headless storefronts. The platform changes how a fix is applied, not what the fix has to achieve. If a theme cannot support clean facet handling, we will say that in the first week rather than fight it for three months.
How long before category pages start ranking?
Technical cleanup shows up in the index within two to four weeks. Copy and structure changes usually need one to two full crawl cycles, so eight to twelve weeks for a meaningful position move on competitive category terms.
Will this cannibalise our shopping ads?
No, and it usually reduces wasted spend. When a category has organic coverage for a query, you can bid less aggressively on it and keep the paid budget for the queries where nothing ranks. Most stores end up shifting spend rather than increasing it.
We have 8,000 products. Do we rewrite all of them?
No. We tier them. The top 10% by impressions and revenue get bespoke copy. The next 30% get a strong template with genuinely different primary content per collection. Long-tail items get accurate specs and correct markup, which is enough.
Can you fix it if our developer is external?
Yes. We produce developer-ready tickets with the exact template file, the before/after markup and a verification step. On many projects we never touch the codebase ourselves — we review the pull request instead.
What do you need from us to start?
Read access to Search Console and analytics, a crawlable storefront, and one person who can approve template changes. If you have a product feed, that helps us align organic and paid targets on the same query set.
Who handles the shelf
A three-person ecommerce pod: a technical SEO who has migrated two mid-size catalogues without traffic loss, a conversion copywriter who has written product pages for industrial, textile and outdoor categories, and a merchandiser who keeps the query map aligned with what is actually in stock.
We work with English-language stores in the US, UK, Canada and Australia, typically between 200 and 15,000 SKUs. We do not run marketplace listings, and we do not promise a position on any keyword.
Send the store, get a shelf check
One collection URL is enough for us to tell you where the crawl goes wrong, usually within a day.