Illustrative case study

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

Rozalin Oils · Rose oil skincare producer · Kazanlak

Taking a family rose distillery's skincare from village shop to six EU markets

+274%organic export revenue, over 13 months of distillation
Market
Kazanlak, Bulgaria
Plan
Commerce SEO
Industry
Beauty & Fashion
ALEMBIC · KAZANLAKROSA DAMASCENA
Fraction I · Harvest

Three generations of roses, one village shop.

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.

Starting point · month 1
  • Markets reachable1
  • Organic share of revenue9%
  • Shopping clicks / mo300
  • Rich results0
Fraction II · Maceration

What we found steeping in the store.

  1. 01

    Feeds

    Critical

    No product feed at all: zero eligibility for Shopping free listings in any country.

  2. 02

    Markup

    Critical

    Theme output no Product or Offer schema; price, stock and ratings invisible to search engines.

  3. 03

    Languages

    Critical

    Bulgarian only. A translation plugin served /?lang=de via JavaScript, unindexable and without hreflang.

  4. 04

    Identifiers

    High

    No GTIN or MPN on any of 31 products; four sizes sharing one URL with no variant data.

  5. 05

    Pricing

    High

    Prices in BGN only, shipping costs revealed at checkout; feeds would be disapproved on mismatch.

  6. 06

    Content

    Medium

    Product copy of 40 to 60 words; no INCI, origin, distillation or usage detail buyers search for.

  7. 07

    Speed

    Medium

    Hero sliders and 3.8 MB of uncompressed petal photography; mobile LCP of 5.1 s on product pages.

Fraction III · Distillation

Four tactics, one still.

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

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.

Tactic II

Hreflang

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 schema

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

Merchant Center with free listings in six countries, shipping and returns configured per market, and a weekly disapproval check. Ratings only from verified purchases.

Before · month 1 · search in Germany (mock-up)
bulgarisches rosenöl kaufen
  • marketplace.example › rosenöl · 1,000+ results
  • reseller.example › bulgarisches-rosenöl
  • beauty-blog.example › rosenöl-test
  • Rozalin: not in the top 100
After · month 13 · search in Germany (mock-up)
bulgarisches rosenöl kaufen

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

Fraction IV · Condensation

13 months, drop by drop.

  1. Month 01 · Harvest

    Crawl, feed and catalogue audit

    Full crawl of the WooCommerce store, 31 products mapped to GTINs, INCI lists and size variants.

    1 market · 9% organic · 0 rich results

  2. Month 02 · Harvest

    Market & demand study

    Search demand for rose oil, rose water and rose creams sized in eleven EU languages; six chosen.

    1 market · 9% organic · 0 rich results

  3. Month 03 · Maceration

    Product schema & Merchant Center

    Product, Offer and AggregateRating markup on every PDP; Merchant Center verified, BG feed approved.

    1 market · 10% organic · 0 rich results

  4. Month 04 · Maceration

    Romanian catalogue live

    First translated subfolder /ro/ with RON pricing, hreflang pairs and its own supplemental feed.

    2 markets · 12% organic · 31 rich results

  5. Month 05 · Distillation

    Feed titles rewritten

    Titles restructured as brand · rose type · format · size; 0 disapprovals after the shipping fix.

    2 markets · 14% organic · 62 rich results

  6. Month 06 · Distillation

    Greek catalogue live

    /el/ subfolder, EUR pricing, Greek product copy written by a native cosmetics translator.

    3 markets · 16% organic · 62 rich results

  7. Month 07 · Distillation

    German catalogue live

    /de/ subfolder; Rosa damascena origin, distillation date and batch number exposed in feed attributes.

    4 markets · 19% organic · 93 rich results

  8. Month 08 · Distillation

    Category hubs per market

    Rose oil, rose water, face care and gift-set hubs localised with buying guides, not machine copy.

    4 markets · 22% organic · 124 rich results

  9. Month 09 · Condensation

    French catalogue live

    /fr/ subfolder and feed; return-policy and shipping-time annotations added to all offers.

    5 markets · 25% organic · 124 rich results

  10. Month 10 · Condensation

    Review markup at scale

    Post-purchase review flow per language; ratings flow into feed and schema, never invented.

    5 markets · 27% organic · 155 rich results

  11. Month 11 · Condensation

    Italian catalogue live

    Sixth market. 186 product pages now eligible for rich results across six locales.

    6 markets · 30% organic · 155 rich results

  12. Month 12 · Bottling

    Hreflang clean-up

    x-default added, 41 orphan alternates fixed, sitemaps split per locale and resubmitted.

    6 markets · 32% organic · 186 rich results

  13. Month 13 · Bottling

    Steady-state reporting

    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

Every droplet set into a result: +274% organic export revenue.

  • 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.

Condenser readings, month by month

Organic export revenue, month 1 = 100. Month 1: 100 → month 13: 374.

09418728137412345678910111213

Where the revenue now comes from

Share of modelled organic export revenue by market, month 13.

  • BG22%
  • RO16%
  • GR9%
  • DE27%
  • FR15%
  • IT11%
Fraction VI · Bottling

Eighteen queries, six languages, one label.

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.

Germany

hreflang="de-DE" · prices in EUR · live from month 7

Modelled rankings in Germany, month 1 versus month 13
QuerySearches / moMonth 1Month 13
bulgarisches rosenöl kaufen3,600not in top 100#3
rosenöl gesichtsöl bio4,400not in top 100#6
rosenwasser gesicht natur8,100not 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

Get a plan like this

Feeds, hreflang and product markup for a catalogue that deserves more than one country.

← All case studies