Marchetti Ricambi — Tractor & farm-machinery parts e-shop · Bologna
How an Emilian parts shop sold tractor spares across the EU from one catalogue
Modelled outcome, month 18
+€540k
organic revenue
One Italian catalogue, rebuilt so every spare part says which tractor it fits, in six languages, to every marketplace Google runs.
Parts list · select a part
Item 1 · OEM 5179714
Hydraulic lift pump
Fits: Fiat 640 · 780 · 880, Someca 640
€142k of €760k modelled organic revenue a year · 19%
Fault description
An Italian-only store with no compatibility data, while farmers abroad searched by tractor model and part code.
Marchetti Ricambi had stocked spares for Fiat, Same and Landini tractors in a Bologna warehouse for three decades. Online, the shop spoke only Italian and listed parts by their Italian names. Anyone who searched for an OEM code or a tractor model found nothing.
The buyers were out there. A farmer in Lower Bavaria keeping a 1972 Fiat 640 running doesn't search "pompa idraulica". He types "Hydraulikpumpe Fiat 640" or just the number cast into the old part. Across the EU, that demand went to marketplaces and dealers who listed the code.
- Catalogue
- 11,400 SKUs
- Fitment data
- 0 SKUs
- Languages
- 1 (it-IT)
- Merchant Center
- 6,900 disapproved
- Organic revenue
- €220k / yr
- Region
- Bologna, Italy
Inspection report
A fault-finding chart, laid out the way a workshop manual would print it. Six faults turned up in the crawl, the feed and the catalogue. Each one kept the shop out of results outside Italy.
01 Catalogue
Symptom: 11,400 SKUs, 0 with fitment data
Cause: Compatibility lived in a supplier PDF, not on the product page
Remedy: Model × part fitment table, 38k rows, imported per SKU
02 Search demand
Symptom: Searches abroad named model + OEM code
Cause: Titles read "Pompa idraulica" with no model or code
Remedy: Title formula: part · OEM code · fits models
03 International
Symptom: 1 language, no hreflang, IT-only shipping
Cause: Single storefront; Google served it to nobody outside Italy
Remedy: Five subfolders with hreflang clusters and x-default
04 Feeds
Symptom: Merchant Center: 6,900 items disapproved
Cause: Missing GTIN/MPN, price mismatch, no shipping by country
Remedy: Rule-based feed with MPN = OEM code, per-country shipping
05 Structured data
Symptom: No Product or Offer markup
Cause: Theme rendered price in an image badge
Remedy: Product, Offer, isAccessoryOrSparePartFor schema
06 Crawl
Symptom: 212k faceted URLs indexed
Cause: Filter combinations by colour and brand left open
Remedy: Facet allowlist; noindex the rest; model hubs instead
Assembly procedure
The work ran on our Commerce SEO plan. Four tactics, fitted in order, because each one depends on the one before.
Step 1 · Compatibility schema
Fit every part to every tractor
We turned the supplier fitment PDFs into a structured table: 38,000 model-to-part rows. Each product page now prints a "Fits" table and carries Product markup with isAccessoryOrSparePartFor, and each tractor model got a hub page listing every part that fits it.
Step 2 · Product feeds
Write titles the way farmers search
A feed rule rebuilds every title as part, OEM code, then models: "Hydraulic lift pump 5179714 for Fiat 640, 780, 880". MPN carries the OEM code, so part-code searches match exactly, and translated titles go out per market.
Step 3 · Hreflang
One catalogue, six storefronts
We built subfolders for de-DE, de-AT, fr-FR, es-ES and pl-PL from the same SKUs, with reciprocal hreflang, prices in local currency where needed and an x-default for everywhere else. Model names stay as they are; part names and copy are translated.
Step 4 · Merchant Center
Get the free listings approved
We fixed 6,900 disapprovals: MPN and brand on every item, shipping and returns per country, and prices matching the page. Then the free listings and the Shopping tab started showing parts to buyers in each new market.
Pompa idraulica sollevatore
marchettiricambi.it · IT only
€ 389,00
Hydraulikpumpe 5179714 für Fiat 640, 780, 880
marchettiricambi.it/de-de · Free listing
Passend für: Fiat 640 · 780 · 880, Someca 640
389,00 € · Versand nach DE 3–5 Tage
Service schedule
| Workstream | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Audit & fitment data | active | active | active | active | ||||||||||||||
| Compatibility schema | active | active | active | active | active | active | ||||||||||||
| Feed rules & titles | active | active | active | active | active | active | active | active | active | active | active | active | active | active | active | active | active | |
| Hreflang storefronts | active | active | active | active | active | active | active | active | active | active | active | active | ||||||
| Merchant Center | active | active | active | active | active | active | active | active | active | active | active | active | active | active | active | active | ||
| Model hub pages | active | active | active | active | active | active | active | active | active | active | active |
- M1–2Crawl, catalogue and feed audit. Fitment PDFs parsed into a draft table.
- M3–4Disapprovals cleared: 6,900 to 410. Facet allowlist ships; 212k thin URLs leave the index.
- M5German storefront live with hreflang. First orders from Bavaria within three weeks.
- M6–8Compatibility schema on all 11,400 SKUs. 1,240 tractor-model hubs published.
- M7–9Austria and France go live. Free-listing clicks pass 8,000 a month.
- M10–12Spain launches. Title formula A/B-tested by feed rule; the OEM-code-first variant wins.
- M13–15Poland goes live: market six. Revenue run-rate passes €590k.
- M16–18Seasonal feeds tuned to harvest and hay months. Run-rate reaches €760k.
Performance figures
Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.
- it-IT Italy · M0
- de-DE Germany · M5
- de-AT Austria · M7
- fr-FR France · M9
- es-ES Spain · M12
- pl-PL Poland · M15
Table 1 · Tracked queries
| Query | Mkt | M0 | M18 |
|---|---|---|---|
| pompa idraulica fiat 640 | IT | #14 | #1 |
| hydraulikpumpe fiat 640 | DE | not ranking | #2 |
| 5179714 | DE | not ranking | #1 |
| kupplungssatz fiat 480 | AT | not ranking | #3 |
| pompe à eau fiat 540 | FR | not ranking | #2 |
| eje toma de fuerza same explorer | ES | not ranking | #4 |
| pompa wtryskowa fiat 640 | PL | not ranking | #3 |
| ricambi trattori fiat | IT | #23 | #5 |
End of manual · Commerce SEO
Get a plan like this
Got a catalogue that only speaks one language? We'll map what fits what, fix the feed, and take it to the markets where people are already searching.