Case study e-commerce — sculture artigianali
Quando ogni pezzo
è irripetibile —
e il sito lo deve sapere
TerraCollection è una bottega di Deruta che produce sculture ceramiche artigianali in pezzo unico e commissionabili su misura. L'obiettivo: portare online un catalogo vivo dove ogni opera scompare alla vendita, gestire commissioni internazionali e spedire fragilità in tutto il mondo senza rompere nulla — né le ceramiche né il processo.
Case study e-commerce sculture artigianali Deruta
Una bottega da cinque generazioni.
Zero presenza digitale.
TerraCollection è una bottega ceramica di Deruta — la capitale italiana della maiolica — attiva da oltre un secolo. Luca e Giulia, quinta generazione, producono sculture e oggetti decorativi in terracotta smaltata a mano, con tecniche che vanno dalla maiolica rinascimentale alle forme contemporanee commissionate da collezionisti e interior designer europei.
Prima di questo progetto, la bottega vendeva esclusivamente in loco (negozio + fiere d'artigianato) e tramite un unico rivenditore a Monaco di Baviera. Il sito web esistente era una vetrina statica del 2017: nessun e-commerce, nessuna possibilità di richiedere commissioni online, nessuna versione in inglese o tedesco nonostante il 60% dei visitatori in bottega fosse straniero.
Il problema fondamentale: ogni pezzo è diverso dall'altro. Vendere ceramica artigianale online non è come vendere magliette in tre taglie. Un catalogo live deve riflettere istantaneamente cosa c'è ancora disponibile, cosa è già partito per la Germania, e cosa può essere commissionato ex novo con tempi e costi specifici.
«Avevamo clienti tedeschi che ci chiedevano se potevano comprare online. Rispondevamo sempre di no. Perdere una vendita perché non avevi un sito — a un certo punto non è più tollerabile.»
— Giulia, co-titolare TerraCollectionSfide WooCommerce pezzi unici artigianali
Cinque problemi da risolvere,
nessuno standard.
Catalogo "vivo" — ogni pezzo unico e irripetibile
Quando un'opera viene acquistata deve sparire dal catalogo in tempo reale, senza che altri utenti possano aggiungerla al carrello. Scorta sempre = 1 per ogni SKU, con lock atomico sulla quantità durante il checkout.
Modulo commissioni su misura con preventivo
I clienti devono poter richiedere un pezzo personalizzato: dimensioni, tecnica, soggetto, colori. Il modulo genera un preventivo automatico basato su parametri configurabili (ore lavoro × complessità × materiali) che Luca può poi approvare o modificare.
Spedizioni ceramiche fragili: calcolo intelligente dell'imballaggio
Le sculture richiedono imballaggio su misura (doppia schiuma, cassa in legno per pezzi >30cm). Il costo di spedizione dipende da peso, dimensioni, zona di consegna e livello di fragilità. Un plugin custom calcola il preventivo in tempo reale integrando le API di DHL e GLS.
Sito trilingue IT / EN / DE senza duplicazione di contenuto
Ogni scheda prodotto esiste in tre lingue. Le traduzioni vengono gestite con WPML + DeepL API per una prima bozza automatica, con revisione manuale per i testi tecnici sulle tecniche di smaltatura. URL separati per lingua con hreflang corretto.
Dashboard artigiana: gestione catalogo senza competenze tech
Luca e Giulia devono poter caricare un nuovo pezzo in 2 minuti: foto, titolo, tecnica, prezzo, dimensioni — e il resto è automatico. Niente Gutenberg, niente metabox complesse: un form dedicato costruito con ACF Pro ottimizzato per il loro workflow.
Plugin custom WooCommerce pezzi unici
Il diavolo è nei dettagli.
Soprattutto con WooCommerce.
WooCommerce nasce per cataloghi con SKU multipli e scorte variabili. Adattarlo a un modello "ogni prodotto esiste una sola volta" richiede interventi chirurgici sul core del carrello, sull'experience di checkout e sull'intero sistema di sincronizzazione del catalogo multilingua.
Processo sviluppo e-commerce ceramiche
9 settimane da zero
a catalogo live.
Ho analizzato il workflow reale della bottega: come nascono i pezzi, come vengono fotografati, quali informazioni servono a un collezionista europeo prima di acquistare. Ho definito il modello dati per i prodotti (tecnica, cottura, dimensioni, serie, anno) e progettato l'architettura a tre plugin custom con interfacce separate tra loro.
Ho sviluppato il cuore del sistema: ogni prodotto WooCommerce ha stock forzato a 1 tramite hook su woocommerce_product_get_stock_quantity. Il lock transazionale su MySQL impedisce acquisti doppi: un record su wc_reserved_stock viene creato atomicamente all'aggiunta al carrello e rilasciato dopo 15 minuti se il pagamento non arriva. Test di carico con 50 sessioni simultanee sullo stesso SKU: zero race condition.
Il calcolatore spedizioni integra DHL Express e GLS Parcel via REST API: prende peso, dimensioni e livello fragilità, calcola il volume dell'imballo con i coefficienti di sicurezza (×1.4 per doppia schiuma, +cassa legno se h > 30 cm), e restituisce il costo via AJAX con cache Transient di 60 min. Il Commission Builder genera preventivi in range (min–max) basandosi su una matrice a 4 variabili configurabile dall'admin senza codice.
Configurazione WPML con DeepL API per bozze automatiche IT→EN→DE, più revisione manuale dei termini tecnici (maiolica, invetriatura raku, impasto refrattario). Hook custom su woocommerce_reduce_order_stock per propagare lo stock a tutte le traduzioni. Schema.org VisualArtwork iniettato via JSON-LD in ogni scheda prodotto. Dashboard artigiana con ACF Pro: Luca carica un nuovo pezzo in 4 campi — il resto è automatico.
Ottimizzazione immagini ceramiche (5–10 MB raw → WebP progressivo con lazy loading, LQIP base64 come placeholder). Stripe configurato con metodi locali per DE (SEPA Direct Debit) e UK (Bacs). Test E2E con Playwright: 18 scenari incluso "acquisto simultaneo pezzo unico da due sessioni". Soft launch con le prime 12 opere della serie Alba — sell-out in 72 ore.
Soluzione tecnica WooCommerce artigianato
Tre plugin custom.
Un'unica logica artigiana.
Nessun plugin off-the-shelf copriva il caso d'uso. Ho costruito tre moduli PHP ben separati, ognuno con responsabilità chiara, che si agganciano a WooCommerce tramite hooks ufficiali senza mai toccare il core.
Unique-Piece Manager — catalogo che si aggiorna da solo
Ogni prodotto WooCommerce viene taggato come "pezzo unico" tramite un
meta campo ACF. Il plugin intercetta l'hook woocommerce_add_to_cart e blocca
l'aggiunta se un altro carrello attivo ha già riservato il pezzo. Al checkout completato,
lo stato del prodotto passa automaticamente a private (non più visibile in
catalogo) invece di "out of stock" — mantenendo l'URL attivo per SEO e mostrando una
pagina "quest'opera ha trovato casa" con opere simili disponibili.
Fragile Shipping Calculator — DHL + GLS, imballo su misura
Il calcolatore riceve dal carrello: peso netto, dimensioni (h × l × p in cm) e il
livello di fragilità (1 = normale, 2 = alta, 3 = massima per pezzi >30 cm o smaltature
a freddo). Applica i coefficienti di imballo, calcola il peso volumetrico secondo le
formule DHL (L×W×H / 5000) e GLS (/ 4000), poi interroga le
rispettive REST API. Il prezzo più basso compatibile con il livello di fragilità viene
restituito al carrello via AJAX. I risultati sono cachati come WP Transient per 60 minuti
per destinazione e peso.
Per le spedizioni extra-EU (UK, Svizzera, USA) il plugin genera automaticamente il modulo CN23 pre-compilato con la voce doganale corretta per "opere d'arte ceramica" (HS code 6913.90).
Commission Builder — preventivo automatico, nessuna email persa
Prima di questo sistema, Giulia riceveva richieste di commissioni via email generica, spesso incomplete: nessuna dimensione, nessun budget indicato, nessuna idea della tecnica voluta. Il 40% delle richieste si perdeva nel back-and-forth. Il Commission Builder guida il cliente attraverso 4 step (tecnica → dimensioni → soggetto → urgenza), mostra un range di prezzo in tempo reale (calcolato lato server, non esposto in JS), e invia a Luca una notifica strutturata con tutti i dati per rispondere con un preventivo definitivo in un click. Le commissioni accettate generano automaticamente un ordine WooCommerce con pagamento in due rate (50% subito via Stripe, 50% al ritiro).
Risultato: tasso di completamento richieste commissioni dal 58% all'94%. Tempo medio di risposta da 3 giorni a 4 ore. Nessuna commissione rifiutata per mancanza di informazioni dall'apertura del sito.
Stack tecnologico WooCommerce PHP
Ogni strumento ha
un motivo preciso.
Perché WooCommerce e non Shopify?
Shopify non permette di forzare logiche di stock a livello server senza appoggiarsi a webhook asincroni — troppo lenti per prevenire race condition su pezzi unici. WooCommerce, con accesso diretto al database MySQL, consente lock transazionali sincroni. Inoltre, la gestione WPML su un WordPress self-hosted è molto più flessibile per il modello a tre lingue con URL separati e hreflang su domini regionali futuri.
Perché tre plugin e non uno?
Separare le responsabilità (pezzi unici, spedizioni, commissioni) permette di aggiornare o sostituire un componente senza toccare gli altri. Il Fragile Shipping Calculator, per esempio, può essere disattivato durante l'estate quando la bottega chiude le spedizioni internazionali — senza impattare né il catalogo né le commissioni.
Risultati: +310% vendite ceramiche online
Da zero a sell-out
in 72 ore.
I dati si riferiscono ai primi sei mesi di attività online (luglio–dicembre 2024) confrontati con lo stesso periodo dell'anno precedente (soli canali fisici + rivenditore Monaco).
«La prima domenica dopo il lancio mi ha telefonato mio padre — quinta generazione — per dirmi che una cliente di Amburgo aveva appena comprato la scultura che lui aveva fatto la settimana prima. Non ci credeva. Nemmeno io.»
— Luca, maestro ceramista TerraCollectionLearnings WooCommerce prodotti artigianali
Cosa porterei
nel prossimo progetto.
I pezzi unici hanno bisogno di un modello di dati diverso dai prodotti normali. La tentazione è usare WooCommerce "come viene" con stock = 1. Ma senza lock transazionale il rischio di vendita doppia è reale e difficile da gestire a posteriori — soprattutto con ceramiche che non si possono "sostituire con il magazzino".
La pagina "opera venduta" è SEO gold. Invece di reindirizzare a 404, mostrare la pagina dell'opera venduta con un messaggio evocativo ("quest'opera ha trovato casa") e un collegamento alle opere simili ha ridotto il bounce rate del 34% e aumentato le sessioni multi-opera del 28%.
Il range di prezzo batte il prezzo fisso per le commissioni. Mostrare "€ 800–1.200" invece di bloccare il cliente su una cifra precisa prima della conversazione ha aumentato del 38% le richieste completate. Il cliente arriva già allineato sul budget, Luca non deve gestire aspettative impossibili.
SEPA Direct Debit ha aperto il mercato tedesco. Prima dell'integrazione, il 60% degli utenti DE abbandonava al checkout perché non trovava la propria banca. Dopo l'attivazione di SEPA: conversione DE +180% nel primo mese. Gli europei non usano carte di credito come gli italiani — è un errore banale che si ripete.
Schema.org VisualArtwork porta traffico che Product non vede.
Google Immagini con rich results per opere d'arte genera sessioni qualificate: chi arriva
da una ricerca per "scultura ceramica maiolica contemporanea" ha un'intenzione d'acquisto
molto più alta di chi arriva da keyword generiche. Il 22% delle conversioni nel primo
trimestre proveniva da Google Immagini.
Hai un catalogo fuori dall'ordinario?
Pezzi unici, edizioni limitate, commissioni su misura — se il tuo prodotto non entra in nessun template, parliamone.