Illustrative case study

A fictional business. The figures are a modelled scenario, not a client result.

Lacunelle Pelletteria · Artisan leather goods workshop · Florence

Hand-stitched bags, machine-perfect feeds: a Florentine workshop goes global

+231%organic ecommerce revenue in 11 months, across five markets

Product feedsHreflangVariant handlingProduct schema

LacunelleFIRENZE · FATTO A MANO+231%REVENUE

I · The challenge

Beautiful bags. A catalogue search could not read.

Colour and size variants generated thousands of thin URLs and the feed was rejected in three of five target markets.

Lacunelle cuts and saddle-stitches every piece by hand in a workshop off the Oltrarno. The online shop had grown faster than its foundations: a theme that turned each colour and size into a separate page, a product feed copied between countries, and a single set of English pages trying to sell in euros, pounds and dollars at once.

Search engines saw thousands of near-identical pages and few strong ones. Merchant Center saw prices, identifiers and stock that did not match. The craft that justifies the price was invisible to both.

II · On the bench: the audit

  • 01 · Variants4,300

    Every colour × size was its own URL

    38 models × 9 leathers/colours × up to 3 sizes, each crawlable with parameters and no canonical. Google indexed 4,300 near-identical pages and ignored the parents.

  • 02 · Feed58%

    Three of five markets rejected

    Germany, France and the US were suspended for price mismatch, missing identifiers and availability; Italy and the UK passed with warnings.

  • 03 · Hreflang0 / 1,140

    Languages pointed at each other wrong

    Hreflang lived only on the homepage; product pages had no return tags, and en-GB and en-US served the same URL with a USD price.

  • 04 · Schema0%

    Product markup without an offer

    Theme JSON-LD declared name and image only: no Offer, priceCurrency, availability, brand or ProductGroup, so no rich results in any market.

  • 05 · Content40 words

    Craft hidden behind thin copy

    Forty-word descriptions copied across variants. The vegetable-tanned leather, the stitch count and the workshop itself were nowhere on the page.

  • 06 · Crawl61%

    Crawl budget spent on filters

    Faceted filters (?colore=&taglia=&ordine=) produced 61% of Googlebot hits; new collections took three weeks to be discovered.

III · Five markets, five editions

Three feeds rejected. Each for a different reason.

Choose a market to see what Merchant Center objected to, how it was repaired, and the query that now leads in that language.

99%WAS 41%

Deutsch · EUR

Germany

<link rel="alternate" hreflang="de-DE" href="/de-de/…" />
Diagnosis
Rejected: price on landing page (incl. VAT) did not match the feed (ex. VAT).
Repair
One price source per market; feed and page both render tax-inclusive prices.
Lead query
“ledertasche handgemacht italien”not ranking → #3

IV · The strategy

Four tools on the workbench

Built on our Commerce SEO plan (ecommerce seo): fix the structure first, then let the feed, the markup and the language editions all describe the same piece in the same way.

  1. IThe awl

    Variant handling

    One strong URL per model, variants as selectable states rather than pages.

    • 4,300 variant URLs canonicalised or 301-redirected to 142 parent product pages
    • Colour and size moved to on-page selectors with ?variant= kept out of the index
    • Only variants with distinct demand (e.g. “black leather tote”) kept as landing pages
  2. IIThe pattern

    Product feeds

    A single source of truth per market, built from the catalogue, not hand-edited.

    • Supplemental feeds per country with local currency, tax and shipping
    • identifier_exists, brand and MPN for handmade SKUs without GTINs
    • Made-to-order lead times mapped to backorder + availability_date
  3. IIIThe thread

    Hreflang

    Five language-market editions, stitched together with reciprocal tags.

    • it-IT, en-GB, en-US, de-DE, fr-FR plus x-default on every indexable page
    • Return tags validated nightly; mismatches raised before deploy
    • en-GB and en-US split with native currency and spelling
  4. IVThe stamp

    Product schema

    Markup that tells search exactly what each piece is and what it costs.

    • ProductGroup with variesBy colour and size; each Product with its own Offer
    • OfferShippingDetails and MerchantReturnPolicy per market
    • Material, countryOfOrigin and craft details surfaced as properties

V · 11 months at the bench

Cut, stitch, finish

Cut

Measure twice, cut once: remove what should never have been indexed.

  1. Month 01

    Audit and crawl map

    Full crawl, log analysis, feed diagnostics in all five Merchant Center accounts.

  2. Month 02

    Variant consolidation

    Canonicals and 301s for 4,300 variant URLs; filter parameters blocked from the index.

  3. Month 03

    Feed rebuild

    Supplemental feeds per market; DE, FR and US resubmitted and reinstated.

Stitch

Join the editions and the markup so every market reads the same piece.

  1. Month 04

    Hreflang clusters

    Five editions with return tags on 1,140 pages; en-GB and en-US separated.

  2. Month 05

    Product schema

    ProductGroup, Offer, shipping and returns markup shipped across the catalogue.

  3. Month 06

    Craft copy

    Parent pages rewritten in five languages with leather, stitching and lead times.

  4. Month 07

    Collection pages

    Category pages for tote, crossbody and travel, built on demand data per market.

Finish

Burnish, stamp and hand over a catalogue that stays clean.

  1. Month 08

    Free listings scale

    Shopping clicks pass 3× baseline; image and title tests on the top 40 products.

  2. Month 09

    Seasonal launch

    Autumn collection indexed in two days instead of three weeks.

  3. Month 10

    Bundle and AOV

    Matching wallets and straps linked from parent pages; order value climbs.

  4. Month 11

    Hand-over

    Feed monitoring, hreflang checks and a variant playbook handed to the workshop.

VI · The results, hot-stamped

+231% organic ecommerce revenue

Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.

  • 58% → 99%

    Feed approval rate

    Share of submitted products approved across all five Merchant Center accounts.

  • 4,300

    Variant URLs consolidated

    Colour and size URLs folded into 142 parent product pages.

  • +347%

    Shopping clicks

    Free listings and Shopping clicks, month 11 against the baseline month.

  • +18%

    Average order value

    Matching wallets and straps linked from consolidated parent pages.

Revenue and Shopping clicks

100200300400M01234567891011Revenue 331Shopping clicks 447
Index, baseline month = 100. Gold: organic ecommerce revenue. Cream: Shopping clicks.

Feed approval by month

Oxblood: below 90%. Gold: at or above.

M0 · 58%M11 · 99%

Positions for lead queries, by market

Organic positions before and after, by query and market
QueryMarketMonthly searchesBeforeMonth 11
borsa in cuoio fatta a mano firenzeIT1.9k#14#2
pelletteria artigianale firenzeIT2.4k#9#1
handmade italian leather bagUK6.6k#31#4
florence leather tote handmadeUS3.1k#48#3
italian leather crossbody bag womenUS12k—#7
ledertasche handgemacht italienDE2.2k—#3
sac en cuir artisanal italienFR1.6k—#5
vegetable tanned leather walletUK4.0k#62#6

Your catalogue, on the bench

Get a plan like this

Variants, feeds, hreflang and product schema, put right for every market you sell in.

← All case studies