Tactic I
Product feeds
One primary feed generated from WooCommerce, plus a supplemental feed per country for translated titles, local prices and shipping. GTINs registered for all 31 products and every size variant split out.
A fictional business. The figures are a modelled scenario, not a client result.
Rozalin Oils · Rose oil skincare producer · Kazanlak
A WooCommerce store in Bulgarian only, with no feeds and no product markup, sold almost nothing outside the Rose Valley.
Rozalin distils Rosa damascena on the family plot outside Kazanlak each May, then turns the oil and rose water into 31 face oils, creams, tonics and gift sets. Tourists in the Rose Valley bought them; nobody in Berlin, Bucharest or Lyon could find them.
The search demand was there. Bulgarian rose oil is one of Europe's most-searched natural beauty ingredients, but every query outside Bulgaria was answered by marketplaces and resellers. The store was invisible to Shopping, untranslated and unmarked: a perfect product that never left the still.
No product feed at all: zero eligibility for Shopping free listings in any country.
Theme output no Product or Offer schema; price, stock and ratings invisible to search engines.
Bulgarian only. A translation plugin served /?lang=de via JavaScript, unindexable and without hreflang.
No GTIN or MPN on any of 31 products; four sizes sharing one URL with no variant data.
Prices in BGN only, shipping costs revealed at checkout; feeds would be disapproved on mismatch.
Product copy of 40 to 60 words; no INCI, origin, distillation or usage detail buyers search for.
Hero sliders and 3.8 MB of uncompressed petal photography; mobile LCP of 5.1 s on product pages.
The work ran on our Commerce SEO plan: get the catalogue machine-readable first, then pour it into one market at a time, each with its own language, currency and feed.
Tactic I
One primary feed generated from WooCommerce, plus a supplemental feed per country for translated titles, local prices and shipping. GTINs registered for all 31 products and every size variant split out.
Tactic II
Six subfolders (/bg/, /ro/, /el/, /de/, /fr/, /it/) with reciprocal hreflang in the head and the sitemaps, an x-default to the Bulgarian origin story, and no automatic IP redirects.
Tactic III
Product, Offer, AggregateRating and MerchantReturnPolicy JSON-LD on every product page, in every locale, validated against the feed so price and stock never disagree.
Tactic IV
Merchant Center with free listings in six countries, shipping and returns configured per market, and a weekly disapproval check. Ratings only from verified purchases.
rozalin-oils.example › de › rosenöl
Rozalin Bio-Rosenöl 2 ml · Rosa damascena
★★★★★ 4.9 · 212 Bewertungen · 34,00 € · Auf Lager
Kostenloser Versand ab 40 € · 30 Tage Rückgabe
Month 01 · Harvest
Full crawl of the WooCommerce store, 31 products mapped to GTINs, INCI lists and size variants.
1 market · 9% organic · 0 rich results
Month 02 · Harvest
Search demand for rose oil, rose water and rose creams sized in eleven EU languages; six chosen.
1 market · 9% organic · 0 rich results
Month 03 · Maceration
Product, Offer and AggregateRating markup on every PDP; Merchant Center verified, BG feed approved.
1 market · 10% organic · 0 rich results
Month 04 · Maceration
First translated subfolder /ro/ with RON pricing, hreflang pairs and its own supplemental feed.
2 markets · 12% organic · 31 rich results
Month 05 · Distillation
Titles restructured as brand · rose type · format · size; 0 disapprovals after the shipping fix.
2 markets · 14% organic · 62 rich results
Month 06 · Distillation
/el/ subfolder, EUR pricing, Greek product copy written by a native cosmetics translator.
3 markets · 16% organic · 62 rich results
Month 07 · Distillation
/de/ subfolder; Rosa damascena origin, distillation date and batch number exposed in feed attributes.
4 markets · 19% organic · 93 rich results
Month 08 · Distillation
Rose oil, rose water, face care and gift-set hubs localised with buying guides, not machine copy.
4 markets · 22% organic · 124 rich results
Month 09 · Condensation
/fr/ subfolder and feed; return-policy and shipping-time annotations added to all offers.
5 markets · 25% organic · 124 rich results
Month 10 · Condensation
Post-purchase review flow per language; ratings flow into feed and schema, never invented.
5 markets · 27% organic · 155 rich results
Month 11 · Condensation
Sixth market. 186 product pages now eligible for rich results across six locales.
6 markets · 30% organic · 155 rich results
Month 12 · Bottling
x-default added, 41 orphan alternates fixed, sitemaps split per locale and resubmitted.
6 markets · 32% organic · 186 rich results
Month 13 · Bottling
Per-market revenue and free-listing dashboards; a quarterly feed QA routine handed over.
6 markets · 34% organic · 186 rich results
Fraction V · The final flask
1 → 6
Markets with ranking pages
+421%
Shopping free-listing clicks
9% → 34%
Organic revenue share
186
Product rich results
Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.
Organic export revenue, month 1 = 100. Month 1: 100 → month 13: 374.
Share of modelled organic export revenue by market, month 13.
Choose a receiving flask. The fill shows how long each market has been distilling; the table shows modelled positions in month 1 and month 13.
hreflang="de-DE" · prices in EUR · live from month 7
| Query | Searches / mo | Month 1 | Month 13 |
|---|---|---|---|
| bulgarisches rosenöl kaufen | 3,600 | not in top 100 | #3 |
| rosenöl gesichtsöl bio | 4,400 | not in top 100 | #6 |
| rosenwasser gesicht natur | 8,100 | not in top 100 | #9 |
Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.
Commerce SEO · Ecommerce SEO
Feeds, hreflang and product markup for a catalogue that deserves more than one country.
← All case studies