---
title: "Metafield e metaobject Shopify: campi personalizzati senza app"
seo_title: "Metafield Shopify: campi personalizzati senza app"
description: "Come usare metafield e metaobject in Shopify per tabella taglie, ingredienti o schede tecniche, e mostrarli nel tema con origini dinamiche o codice Liquid."
url: "https://salvatorepitone.it/metafield-metaobject-shopify/"
type: "BlogPosting"
language: "it-IT"
published: "2026-10-26T15:43:56+01:00"
updated: "2026-10-26T18:12:58+01:00"
author: "Salvatore Pitone"
categories:
  - "Shopify"
tags:
  - "Shopify"
  - "metafield shopify"
image: "https://salvatorepitone.it/wp-content/uploads/2026/10/metafield-metaobject-shopify-copertina.webp"
---

# Metafield e metaobject Shopify: campi personalizzati senza app

Materiale, ingredienti, istruzioni di lavaggio, tabella taglie, scheda tecnica. Prima o poi ogni catalogo ha informazioni che non stanno nei campi standard del prodotto. La risposta di Shopify sono i **metafield** e i **metaobject**, e per usarli non serve nessuna app.

**In breve:** i metafield Shopify sono campi personalizzati che aggiungi a prodotti, varianti, collezioni o clienti, per salvare informazioni che i campi standard non prevedono. I metaobject sono schede con più campi, che crei una volta e colleghi a tanti prodotti. Li definisci dall’admin e li mostri nel tema con le origini dinamiche o con Liquid.

In questo articolo ti mostro prima la strada senza codice, poi quella con Liquid, e alla fine un esempio completo: una tabella taglie che scrivi una volta sola e usi su tutti i prodotti che ne hanno bisogno.

## Metafield e metaobject: la differenza in una frase

Un **metafield** è un campo in più su una cosa che esiste già: “Materiale” su un prodotto, “Ingredienti” su una variante, “Testo promozionale” su una collezione. Ogni prodotto ha il suo valore.

Un **metaobject** è un tipo di contenuto nuovo, con i suoi campi, che vive da solo: una tabella taglie, una scheda “designer”, una certificazione. Crei le voci una volta e le colleghi ai prodotti con un metafield. Se cambi la tabella, cambia su tutti i prodotti collegati.

![Differenza tra metafield e metaobject in Shopify: un campo su ogni prodotto contro una scheda riutilizzabile, con esempi](https://salvatorepitone.it/wp-content/uploads/2026/10/metafield-metaobject-shopify-differenza.webp)

_Metafield: un campo su ogni prodotto. Metaobject: una scheda riutilizzabile._

Le due cose lavorano insieme. Lo spiega bene la [documentazione sui dati personalizzati](https://shopify.dev/docs/apps/build/custom-data): il metafield è il collegamento, il metaobject è il contenuto collegato. Se stai ancora prendendo confidenza con l’admin, ti può servire prima [come funziona Shopify per l’e-commerce](https://salvatorepitone.it/cose-shopify-e-come-funziona-per-le-commerce/).

## Creare una definizione di metafield

Prima di scrivere valori si crea una **definizione**: dice a Shopify come si chiama il campo, di che tipo è e su quali risorse vale. Il percorso è questo:

1. nell’admin vai in **Impostazioni > Metafield e metaobject** (in alcuni negozi la voce si chiama ancora “Dati personalizzati”) e scegli **Prodotti**;
2. clicca **Aggiungi definizione** e scrivi un nome, per esempio “Materiale”;
3. Shopify genera l’identificativo `custom.materiale`: `custom` è lo spazio dei nomi (namespace), `materiale` la chiave;
4. scegli il tipo: per il materiale va bene “Testo su una riga”; se i valori sono più di uno, passa da “Un valore” a “Elenco di valori”;
5. salva.

Da quel momento, aprendo un prodotto trovi il campo “Materiale” nella sezione Metafield, in fondo alla pagina. Puoi compilarlo a mano, con la modifica in blocco o con l’importazione CSV. Le istruzioni ufficiali sono nella guida ai [metafield del Centro assistenza](https://help.shopify.com/it/manual/custom-data/metafields).

> **Il mio consiglio:** prima di creare un campo tuo, guarda se Shopify ne propone uno standard per la categoria del prodotto (colore, taglia, tessuto). I campi standard sono già collegati ai filtri e ai canali di vendita.

## Mostrarlo senza codice: le origini dinamiche

Nei temi Online Store 2.0 puoi collegare un metafield a un’impostazione dell’editor. Si chiamano **origini dinamiche** e funzionano così:

1. apri **Personalizza** sul tema e vai su un modello prodotto;
2. nella sezione delle informazioni prodotto aggiungi un blocco, per esempio **Testo**;
3. accanto al campo del testo clicca l’icona “Collega origine dinamica” e scegli il metafield “Materiale”;
4. salva: ogni prodotto mostrerà il suo materiale, e i prodotti senza valore non mostreranno niente.

È la strada che consiglio per testi, numeri, immagini e link. Ha due limiti: l’impostazione deve accettare quel tipo di dato, e la grafica è quella del [blocco del tema](https://salvatorepitone.it/theme-blocks-shopify/). Per elenchi impaginati, tabelle o logiche come “mostra solo se”, serve Liquid.

## Mostrarlo con Liquid

In Liquid un metafield si legge con `risorsa.metafields.namespace.chiave`, e il valore vero sta nella proprietà `.value`. Il riferimento completo è la pagina dell’[oggetto metafield](https://shopify.dev/docs/api/liquid/objects/metafield). Se Liquid è nuovo per te, parti dalla mia [guida pratica a Liquid](https://salvatorepitone.it/liquid-shopify-guida/).

### Testo e numeri

`sections/main-product.liquid (o un blocco Liquid personalizzato)`

```
{%- assign materiale = product.metafields.custom.materiale.value -%}
{%- if materiale != blank -%}
<p class="scheda__riga">Materiale: {{ materiale | escape }}</p>
{%- endif -%}
```

Il controllo `!= blank` serve per i prodotti senza valore: senza, vedresti “Materiale:” seguito dal vuoto. Per i numeri vale lo stesso schema: `{{ product.metafields.custom.garanzia_anni.value }}` stampa il numero così com’è.

C’è anche una scorciatoia: il filtro `metafield_tag` crea da solo l’HTML adatto al tipo. È comodo soprattutto per il testo formattato:

```
{{ product.metafields.custom.istruzioni | metafield_tag }}
```

### Liste

Con un metafield di tipo elenco, `.value` restituisce un array e lo scorri con `for`. Ecco gli ingredienti in un elenco puntato:

```
{%- assign ingredienti = product.metafields.custom.ingredienti.value -%}
{%- if ingredienti != blank -%}
<ul class="ingredienti">
{%- for ingrediente in ingredienti -%}
<li>{{ ingrediente | escape }}</li>
{%- endfor -%}
</ul>
{%- endif -%}
```

Per gli elenchi di testo su una riga, `metafield_tag` fa la stessa cosa in una riga: secondo la [documentazione del filtro](https://shopify.dev/docs/api/liquid/filters/metafield_tag) crea un `<ul>`, oppure un `<ol>` con il parametro `list_format: 'ordered'`.

### Riferimenti a metaobject

Quando un metafield è di tipo “Metaobject”, `.value` non è un testo: è la voce del metaobject collegata. I suoi campi si leggono con la loro chiave, e di nuovo con `.value`: `product.metafields.custom.designer.value.nome.value`. Sembra lungo, ma la logica è sempre la stessa.

Se ti serve una voce precisa senza passare dal prodotto, c’è l’oggetto globale `metaobjects`: `{{ metaobjects.designer.mario-rossi.nome.value }}` legge il campo “nome” della voce con handle `mario-rossi` del tipo `designer`, come mostra la pagina dell’[oggetto metaobject](https://shopify.dev/docs/api/liquid/objects/metaobject).

## Esempio completo: tabella taglie riutilizzabile

Mettiamo tutto insieme. L’obiettivo: una tabella taglie per tipo di capo (“Maglie uomo”, “Pantaloni donna”), scritta una volta e collegata a decine di prodotti. Se cambi una misura, la correggi in un punto solo.

1. **Metaobject “Riga taglia”** (tipo `riga_taglia`) con tre campi di testo su una riga: `taglia`, `torace`, `vita`;
2. **Metaobject “Tabella taglie”** (tipo `tabella_taglie`) con due campi: `titolo` (testo) e `righe` (elenco di riferimenti a “Riga taglia”);
3. in **Contenuti > Metaobject** crei le voci: prima le righe (S, M, L…), poi la tabella “Maglie uomo” che le elenca in ordine;
4. crei un metafield prodotto “Tabella taglie” di tipo Metaobject, collegato a “Tabella taglie”: identificativo `custom.tabella_taglie`;
5. su ogni prodotto scegli la tabella giusta dal menu del metafield.

Quando crei le definizioni lascia attivo l’accesso **Storefronts**, come indica la guida di Shopify sui riferimenti ai metaobject: è il primo controllo da fare se la tabella non compare.

Poi il codice. Lo metto in uno snippet, così lo richiami dove vuoi:

`snippets/tabella-taglie.liquid`

```
{%- assign tabella = product.metafields.custom.tabella_taglie.value -%}
{%- if tabella -%}
<table class="tabella-taglie">
<caption>{{ tabella.titolo.value | escape }}</caption>
<tr><th>Taglia</th><th>Torace (cm)</th><th>Vita (cm)</th></tr>
{%- for riga in tabella.righe.value -%}
<tr>
<th scope="row">{{ riga.taglia.value | escape }}</th>
<td>{{ riga.torace.value | escape }}</td>
<td>{{ riga.vita.value | escape }}</td>
</tr>
{%- endfor -%}
</table>
{%- endif -%}
```

![Codice Liquid che mostra una tabella taglie salvata come metaobject e collegata al prodotto Shopify con un metafield](https://salvatorepitone.it/wp-content/uploads/2026/10/metafield-metaobject-shopify-tabella-taglie.webp)

_Lo snippet della tabella taglie: dal metafield del prodotto alle righe del metaobject._

Riga per riga: la prima prende la tabella collegata al prodotto; se il prodotto non ne ha, `tabella` è vuota e l’`if` non stampa niente. La didascalia mostra il titolo della tabella. Il ciclo scorre le righe nell’ordine in cui le hai messe nell’admin, e per ogni riga stampa taglia, torace e vita.

Per mostrarla nella pagina prodotto aggiungi `{% render 'tabella-taglie', product: product %}` nel punto giusto di `sections/main-product.liquid`, oppure in un blocco “Liquid personalizzato” dall’editor, se il tuo tema lo prevede. Se vuoi una sezione tutta tua per mostrarla, il procedimento è quello che spiego in [come creare una sezione personalizzata in Shopify](https://salvatorepitone.it/creare-sezione-personalizzata-shopify/).

Le intestazioni della tabella sono scritte in italiano nel codice. Se il negozio è in più lingue, spostale nei file di traduzione del tema e leggile con il filtro `t`.

## Errori comuni

Quando un metafield “non si vede”, il problema è quasi sempre uno di questi:

- **Namespace o chiave sbagliati**: `custom.materiale` non è `custom.Materiale`. Copia l’identificativo dalla definizione, non riscriverlo a memoria.
- **Manca `.value`**: senza, su molti tipi ottieni l’oggetto e non il contenuto.
- **Elenco trattato come valore singolo**: se il tipo è “Elenco di valori”, serve un ciclo `for` (o `metafield_tag`).
- **Valori vuoti non gestiti**: senza il controllo `!= blank` restano etichette senza contenuto.
- **Voci di metaobject in bozza**: se il metaobject prevede lo stato attivo/bozza, una voce in bozza in Liquid risulta vuota.
- **Modifiche sul tema pubblicato**: anche qui, si lavora su una copia del tema.

## Domande frequenti

### Quanti metafield posso creare?

Per ogni tipo di risorsa (prodotti, varianti, collezioni, clienti e così via) puoi creare fino a 256 definizioni di metafield; le app installate hanno un limite separato. Il dato è verificato a ottobre 2026 sulla pagina dei limiti di shopify.dev. Nella pratica, se ti avvicini a quel numero, conviene raggruppare le informazioni in metaobject.

### I metafield si importano con il CSV dei prodotti?

Sì, quelli dei prodotti. Nel file CSV ogni metafield ha una colonna con l’identificativo, per esempio product.metafields.custom.materiale, e una volta creata la definizione compare anche nelle esportazioni. I metafield delle varianti invece non passano dal CSV dei prodotti: si modificano con la modifica in blocco delle varianti, come indica la guida di Shopify.

### Le origini dinamiche funzionano con tutti i temi?

No. Servono un tema Online Store 2.0, con template in formato JSON, e sezioni o blocchi le cui impostazioni accettano quel tipo di dato. Nei temi vecchi, o per tipi non supportati dal blocco, l’unica strada è aggiungere qualche riga di Liquid nel file della sezione o in uno snippet.

### I metafield aiutano la SEO?

Non direttamente: Google non vede i metafield, vede la pagina. Aiutano quando il loro contenuto finisce nella pagina come testo utile, per esempio materiali, misure, istruzioni. Sono anche la base per filtri di collezione più precisi e per dati strutturati più completi, che vanno però scritti nel tema.

## Conclusione

Metafield per un’informazione in più su ogni prodotto, metaobject per contenuti riutilizzabili. Prima prova le origini dinamiche; quando non bastano, poche righe di Liquid fanno il resto. Schede prodotto complete e ordinate sono anche uno dei segnali che il cliente guarda per capire [se un e-commerce è affidabile](https://salvatorepitone.it/come-sapere-se-un-sito-e-commerce-e-affidabile/). Perché le legga bene anche Google contano title, dati strutturati e un solo H1 per pagina: ne parlo nella guida alla [SEO tecnica del tema Shopify](https://salvatorepitone.it/seo-tecnica-shopify-liquid/).

Se stai impostando il catalogo da zero, i campi personalizzati li progetto insieme alla [realizzazione del negozio online](https://salvatorepitone.it/realizzazione-negozio-online/); su un negozio Shopify esistente è parte del lavoro di [realizzazione e migrazione Shopify](https://salvatorepitone.it/realizzazione-e-migrazione-shopify/).

Il tuo catalogo ha informazioni che non sai dove mettere? [**Scrivimi**](https://salvatorepitone.it/contatti/): ti preparo io campi e sezioni. Ti rispondo io.
