Metafields de Shopify: cómo migrar datos personalizados de productos de WooCommerce (2026)
Los campos personalizados de WooCommerce (ACF, WooCommerce Custom Product Fields) no se migran automáticamente. Esta guía explica cómo mapear los datos personalizados de WooCommerce a los metafields de Shopify durante la migración.
Las tiendas WooCommerce suelen acumular datos personalizados de productos más allá de los campos estándar: especificaciones de material, información nutricional, fichas técnicas, instrucciones de cuidado, detalles de garantía, certificaciones. Estos datos se almacenan en WooCommerce como campos personalizados (mediante ACF, el plugin WooCommerce Custom Product Fields o post meta directo) y no migrarán automáticamente a Shopify.
En Shopify, los datos personalizados de producto viven en los metafields — un sistema flexible de almacenamiento clave-valor para cualquier dato que no encaje en el esquema de producto estándar de Shopify. Esta guía explica cómo mapear y migrar los datos personalizados de WooCommerce a los metafields de Shopify.
¿Qué son los datos personalizados de producto en WooCommerce?
Los datos personalizados de producto en WooCommerce pueden provenir de:
- Advanced Custom Fields (ACF): El plugin de WP más popular para metadatos de posts personalizados. Los productos son posts de WordPress, así que ACF funciona en ellos.
- WooCommerce Custom Product Fields / Checkout Fields: Varios plugins que añaden campos adicionales a las pantallas de edición de producto.
- Post meta directo: Código personalizado que añade datos mediante
update_post_meta() - Atributos de producto de WooCommerce: Función estándar de WC — atributos filtrables almacenados de forma diferente al post meta
Todo esto es accesible mediante la API REST de WooCommerce (el endpoint de productos devuelve meta_data) o la API REST de WordPress.
¿Qué son los metafields de Shopify?
Los metafields de Shopify son campos de datos personalizados que pueden asociarse a productos, variantes, colecciones, clientes y pedidos. Tienen:
- Namespace: Un identificador de grupo (p. ej.,
custom,product_specs) - Key: El nombre del campo (p. ej.,
material,care_instructions) - Value: El contenido (texto, número, fecha, referencia a archivo, texto enriquecido, etc.)
- Type: Determina cómo Shopify valida y muestra el valor
Ejemplo de metafield: custom.material = "100% algodón orgánico"
Tipos de metafield disponibles en Shopify
| Tipo | Ideal para | Ejemplo |
|---|---|---|
| Texto de una línea | Etiquetas cortas, códigos, números de modelo | Material: "Algodón", Modelo: "XJ-400" |
| Texto multilínea | Párrafos, listas de varios elementos | Instrucciones de cuidado, texto de garantía |
| Texto enriquecido | Contenido HTML (formateado) | Especificaciones técnicas con encabezados |
| Entero | Números enteros | Profundidad de stock, piezas por caja |
| Decimal | Números decimales | Peso en gramos, dimensiones |
| Verdadero/Falso (Booleano) | Indicadores sí/no | Es orgánico, Es sin gluten |
| Fecha | Fechas | Fecha de cosecha, fecha de lanzamiento |
| URL | Enlace a documentos o recursos | PDF de la hoja técnica, URL del pliego de especificaciones |
| Archivo | Archivos subidos (alojados en Shopify) | PDF del manual de usuario, imagen de guía de tallas |
| Lista de… | Múltiples valores de cualquier tipo anterior | Lista de certificaciones, lista de modelos compatibles |
Paso 1: Inventariar tus campos personalizados de WooCommerce
Antes de migrar, obtén una lista completa de los campos personalizados en uso:
Mediante la API REST de WooCommerce
Obtén un producto y mira el array meta_data:
GET /wp-json/wc/v3/products/123
{
"meta_data": [
{ "id": 1, "key": "_material", "value": "algodón" },
{ "id": 2, "key": "_care_instructions", "value": "Lavar a mano en frío" },
{ "id": 3, "key": "_acf_weight_grams", "value": "350" }
]
}
Los campos de ACF suelen tener claves con prefijo de guion bajo como _nombre_campo o usan prefijos como _acf_. Los campos internos de WooCommerce también usan prefijos con guion bajo (p. ej., _price, _sku) — filtra estos, ya que están gestionados por la migración estándar.
Construir una hoja de inventario
Recopila todas las claves de campos personalizados utilizadas en tus productos:
- Clave del campo (tal como está almacenada en WordPress)
- Etiqueta del campo (nombre legible)
- Tipo de dato (texto, número, booleano, fecha)
- Usado en X productos (% de cobertura)
- Prioridad de migración (alta/media/baja según la importancia para el cliente)
Sé selectivo: muchas tiendas han acumulado campos personalizados a lo largo de los años que ya no se utilizan o no son relevantes. Este es un buen momento para decidir qué vale la pena migrar frente a lo que puede descartarse.
Paso 2: Definir las definiciones de metafield en Shopify
Antes de importar los valores de metafield, crea definiciones de metafield en Shopify. Las definiciones dan a los metafields un nombre, validación de tipo y los hacen disponibles en el editor del tema.
En el administrador de Shopify → Configuración → Datos personalizados → Productos → Añadir definición:
- Nombre: "Material" (etiqueta visible para el cliente)
- Namespace y clave:
custom.material - Tipo: Texto de una línea
- Descripción: opcional
- Anclar al inicio del formulario de producto: opcional (útil para campos de alta prioridad)
Crea una definición por cada campo personalizado de WooCommerce que estés migrando. Las definiciones también hacen que los metafields estén disponibles en el editor del tema de Shopify (a través de Online Store 2.0), para que puedas mostrarlos en las páginas de producto sin código.
Paso 3: Mostrar los metafields en tu tema de Shopify
Cómo se muestran los metafields depende de tu tema:
Temas de Online Store 2.0 (Dawn, Refresh, la mayoría de temas desde 2021+)
En el editor del tema, puedes añadir bloques de metafield a las páginas de producto directamente — sin necesidad de código:
- Ve a Tienda online → Temas → Personalizar
- Abre una plantilla de página de producto
- Añade un bloque de "Texto" o "Fila desplegable"
- Establece la fuente de contenido en un metafield (p. ej.,
custom.material)
Temas más antiguos o diseños complejos
Usa Liquid para mostrar los metafields:
{% if product.metafields.custom.material %}
<p>Material: {{ product.metafields.custom.material.value }}</p>
{% endif %}
Paso 4: Migrar los valores de metafield mediante la API de Shopify
Después de crear las definiciones y migrar los productos, rellena los valores de metafield mediante la API de administración de Shopify.
Opción A: Endpoint de metafields de Shopify (por producto)
POST /admin/api/2024-01/products/{id}/metafields.json
{
"metafield": {
"namespace": "custom",
"key": "material",
"value": "100% algodón orgánico",
"type": "single_line_text_field"
}
}
Opción B: Mutación metafieldsSet (GraphQL masivo)
Para catálogos grandes, la mutación GraphQL metafieldsSet puede establecer múltiples metafields en múltiples productos en una sola operación:
mutation metafieldsSet($metafields: [MetafieldsSetInput!]!) {
metafieldsSet(metafields: $metafields) {
metafields { id key value }
userErrors { field message }
}
}
Con una entrada de hasta 25 objetos de metafield por llamada. Para 1.000 productos × 5 metafields cada uno = 5.000 valores — se necesitan ~200 llamadas GraphQL.
Opción C: Importación CSV de Shopify (limitada)
La importación CSV estándar de productos de Shopify admite metafields mediante el formato de columna "Metafield: namespace.key". Funciona para metafields de texto simple pero tiene limitaciones en el soporte de tipos.
Formato de columna: Metafield: custom.material [single_line_text_field]
Gestión de los atributos de producto de WooCommerce vs los campos personalizados
WooCommerce tiene dos sistemas que suelen confundirse:
- Atributos de producto: Se usan para variantes de producto (Color, Talla) y para mostrar en una tabla de atributos del producto. Estos se migran a las opciones de variante de Shopify durante la migración estándar.
- Campos personalizados / post meta: Datos arbitrarios no vinculados a variantes. Estos necesitan la ruta de migración de metafields descrita en esta guía.
Para los atributos de producto no relacionados con variantes que muestras en una tabla de "Detalles del producto" en WooCommerce, el equivalente más apropiado en Shopify es:
- Metafields con una sección de "Detalles del producto" en el tema
- Una sección de formato libre en la descripción del producto
- Una sección de acordeón desplegable en el tema (la mayoría de temas OS 2.0 lo tienen integrado)
Qué admite k-sync para la migración de datos personalizados
La importación de WooCommerce de k-sync captura meta_data de la API de WooCommerce y lo almacena en el campo JSONB sourceData por producto. Durante la migración:
- Los campos de producto estándar (título, descripción, precio, SKU, etc.) se mapean automáticamente a los campos de Shopify
- Los campos
meta_datapersonalizados están disponibles en la vista de detalle del producto para su inspección - Puedes copiar o hacer referencia manualmente a los valores de campos personalizados
El mapeo automatizado de campo personalizado → metafield (seleccionar una clave meta_data y asignarla a un namespace/key de metafield de Shopify) está en la hoja de ruta de k-sync para una versión futura. Para la versión actual, el relleno de metafields después de la migración de productos puede hacerse mediante la API de Shopify usando los IDs de producto devueltos por el proceso de envío.
Migra tu tienda con k-sync
Conecta tu tienda WooCommerce, valida tus productos y publícalos en Shopify en minutos. Gratis hasta 50 productos.
Empezar gratisLectura relacionada
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.