Habiendo complementos como el de WebToffee nos facilita mucho el uso de la importación o exportación de productos, categorías, clientes, pedidos, facturas, cupones, reseñas y las etiquetas asignadas a los productos.
Para poder crear un Excel correctamente lo primero será realizar una exportación de nuestros productos, con solo uno es suficiente para saber los campos que necesitamos rellenar y posteriormente importar nuestra nueva lista de productos.

Como exportar productos.
¡Importante! Para exportar e importar los productos primero debemos entender a que categorías corresponden. Para ello, lo primero que tenemos que tener preparado son las categorías, en este caso debemos exportar el CSV de las categorías para identificar el ID de cada uno para luego asignarlos al montaje en el fichero de los productos.

Primero es ir al complemento ya instalado.

Picamos en “Exportar” productos o categorías. (El ejemplo muestra sobre productos pensando que las categorías ya las tenemos creadas).

Seleccionamos la exportación de los productos y picamos en el botón del paso 2.

Descargar complemento de exportación e importación

Product Import Export for WooCommerce

 

Ahora podemos exportar los campos básicos o en avanzado si contienen atributos o variaciones o campos especiales como código de barras EAN13.

¡! Si son productos básicos con título, descripción, precio, referencia y stock podemos seleccionar la exportación básica. ¡!

Picamos para ir al paso 3.

La siguiente imagen muestra la exportación avanzada. Si se ha de exportar todo lo que hay en la tienda dejar la configuración por defecto.

Picar para ir al paso 4.

En la siguiente imagen vemos que vamos a realizar la exportación de 45 campos. Aquí se pueden deseleccionar los campos que no sean prescindibles.

Picar para ir al paso 5.

Dejar por defecto el carácter para la separación del CSV.

Picar a “Exportar”.

Ya podemos descargar el fichero que nos va a mostrar la estructura para la correcta importación.

Editar el CSV para la correcta estructura.

El siguiente trabajo para hacerlo bien es un poco laborioso, aunque también podemos realizar la importación sin la edición del archivo y seleccionando los campos directamente del CSV del cliente y enlazando con los campos del WooCommerce, pero, de esta forma tendremos el problema de la asignación de la imagen del producto.

¡Mi recomendación es realizar desde la parte del cliente el CSV correcto!!

Ahora abrimos un Excel en blanco.

Ahora seleccionamos “Datos” del menú superior. En el globo de “Obtener y transformar datos” seleccionamos “De Texto/CSV”.
Seleccionamos el fichero que hemos descargado en los pasos anteriores.
Ahora veremos la estructura de datos a importar separadas por columnas. Le picamos a “Cargar”.
Ahora disponemos de un Excel con la estructura de WooCommerce.
A partir de ahora lo que tenemos que realizar es la importación de los datos ofrecidos por el cliente.

Como vemos los campos a editar son el post_name, images, product_page_url, tax:product_cat que algunos de ellos se van a tener que realizar consultas en Excel creando modificaciones automáticas como por ejemplo el post_name.

Campos relacionados:

post_title: Nombre del producto
post_name: Nombre del producto sin espacios entre palabras y separadas con guiones medios.
post_parent: (Úselo para variaciones. Introduzca el ID del producto principal. Nota: Las variables deben importarse en una hoja de cálculo separada.) ID del mensaje. Ejemplo (234)
id: Asignado por WordPress. Dejar en blanco
post_content: Descripción del producto. Se recomienda que la descripción se añada dentro del producto y no por módulo de un constructor como por ejemplo el módulo de texto de DIVI.
post_excerpt: Breve descripción del producto. (Texto)
post_status: Estado del producto.
post_password: Si tu publicación es privada, incluye la contraseña.
menu_order: Por defecto es 0 (cero)
post_date: La fecha de la publicación
post_autor: El ID del autor (por defecto 1 si es el admin del sitio)
comment_status: Open si hay autorización para los comentarios, Closed para desautorizar los comentarios del producto.
sku: ¡Importante! Para identificar el numero de envío, puede ser el nombre del producto con alguna referencia. Debe ser único.
parent_sku: A qué grupo pertenece, dejar vacío si no hay un grupo superior.
children: ID de producto de los hijos de un producto agrupado. publicar los ID entre paréntesis: varios ID separados por un carácter «». Ejemplo ([123, 124])
downloadable: Si contiene un archivo descargable. SI o NO
virtual: Si el producto es físico o virtual. SI o NO
stock: Cantidad de existencias
regular_price: Precio a venta sin impuestos
sale_price: Precio de compra sin impuestos (para controlar el beneficio de la tienda)
weight: Peso de su producto. Esto está relacionado para el precio del envío
length: Longitud de su producto. Esto está relacionado para el precio del envío
width: Ancho de su producto. Esto está relacionado para el precio del envío
height: Altura del producto. Esto está relacionado para el precio del envío
tax_class: Clase de impuesto
visibility: Elija visibilidad para su producto. Ejemplo (visible)
stock_status: Si hay stock. “instock”
backorders: Si acepta pedidos pendientes. (si/no/notificar)
sold_individually:
low_stock_amount:
manage_stock: Si estás gestionando o no stock del producto. yes/no, Ejemplo (no)
tax_status: Úselo para determinar si su producto está sujeto a impuestos o no. Sujeto a impuestos / envío / ninguno. Ejemplo (imponible)
upsell_ids: ID del producto al que desea venderle más. ID de publicación: múltiples ID separadas por un «|» personaje. Ejemplo (236|569)
crosssel_ids: ID del producto que se puede adquirir con este producto. ID de publicación: múltiples ID separadas por un «|» personaje. Ejemplo (236|569)
purchase_note:
sale_price_dates_from: Fecha a partir de la cual se utiliza su precio de venta. Formatos aceptados (MM DD AAdd MM AA MM” / “DD” / “AADD” / “MM” / “AA”)
sale_price_dates_to: Fecha en la que finaliza la venta de este producto. Formatos aceptados (MM DD AAdd MM AA MM” / “DD” / “AADD” / “MM” / “AA”)
download_limit: Limite de descargas, por defecto ‘-1
download_expiry: Fecha límite de descarga, por defecto ‘-1
product_url: Úselo si el producto se vende en otro sitio. Utilizado únicamente por productos externos/afiliados.
button_text: Texto que aparecerá en su botón “Agregar al carrito”. Utilizado únicamente por productos externos/afiliados. (texto)
images:
Ejemplo de ruta con solo una imagen del producto (https://jacidi.democlientes.es/wp-content/uploads/2024/05/image-10.jpg ! alt : ! title : image 10 ! desc : ! caption 🙂
Ejemplo de ruta de varias imágenes del producto (https://prueba.democlientes.es/wp-content/uploads/2024/05/image-10.jpg ! alt : ! title : image 10 ! desc : ! caption : | https://prueba.democlientes.es/wp-content/uploads/2024/05/image-9.jpg ! alt : ! title : image 9 ! desc : ! caption : |) Aquí vemos que la separación entre imágenes es el carácter |

downloadable_files: Ruta del fichero descargable
product_page_url: La URL del producto, ejemplo (https://midominio.com/producto/slug-del-producto
meta:total_sales: Cantidad vendida (numérico)
tax:product_type: simple o variable
tax:product_visibility:
tax:product_cat: Categoría a la que corresponde, por ejemplo (uso exterior > Generadores)
tax:product_tag: Etiquetas del producto
tax:product_shipping_class: Clase de envío para producto simple

Modificación del CSV:

Para facilitar la URL de las imágenes sería conveniente subirla a un directorio dentro de wp-content/uploads/ejemplo-mi-carpeta o bien dentro de un directorio creado automático por fecha, por ejemplo https://midominio.es/wp-content/uploads/2024/05/nombredelaimagen.extension
Se deberían de subir por FTP masivamente y relacionar en el CSV la ruta correcta de la imagen que corresponda a cada producto.

Para realizar el paso anterior debemos trabajar un Excel aparte, por ejemplo. Tenemos en un directorio el nombre de la imagen, ejemplo, 0856201 con una extensión tipo JPG. El nombre de esta imagen es el mismo nombre que la referencia del producto. (Casi todos los ERP’s trabajan así)

La formula que se realiza en el siguiente video se añade en cualquier columna que esté libre añadiendo en la caja de fórmulas correspondientes.

Muestra:

=CONCATENAR(B2;».»;C2)

SIGNIFICADO:
=CONCATENAR() ¡NOTA! El siguiente contenido se ha de añadir entre los paréntesis.
B2 SELECCIONAR LA CELDA DEL TITULO DE LA IMAGEN, EN ESTE EJEMPLO ES imagen1 QUE SE ENCUENTRA EN LA CELDA B2 Y AÑADIR SEGUIDO UN PUNTO Y COMA ;

“.” PARA AÑADIR EL PUNTO DE LA EXTENSIÓN QUE VA JUSTO DESPUÉS DE LA CELDA B2 Y SIN ESPACIOS PARA NO SEPARAR LA CELDA CON LA C2 Y AÑADIR SEGUIDO UN PUNTO Y COMA ;

C2 SELECCIONAR LA CELDA DEL TITULO DE LA IMAGEN, EN ESTE EJEMPLO ES jpg QUE SE ENCUENTRA EN LA CELDA C2 Y AÑADIR SEGUIDO UN PUNTO Y COMA ;

Lo siguiente que se muestra es crear la ruta de la ubicación para concatenar con el título de la imagen.

Lo primero es crear una celda con la ruta en texto plano, por ejemplo https://midominio.es/wp-content/uploads/micarpetadeimagenes/ y después concatenar con la celda que hemos realizado anteriormente con el título y la extensión.

=CONCAT(F2;D2)

SIGNIFICADO:

=CONCAT

F2 ES LA RUTA DEL DOMINIO EN TEXTO PLANO CON EL ; como separador de las dos celdas

D2 ES LA CONCATENACION DEL TITULO DE LA IMAGEN + LA EXTENSIÓN CON EL PUNTO imagen1.jpg

¡NOTA! En el caso de que un producto contenga mas de una imagen deberemos de crear otras columnas concatenadas y luego concatenar en la formula entre las dos filas con los caracteres “ | ” dando espacios entre las comillas y el símbolo |

https://midominio.es/wp-content/uploads/micarpetadeimagenes/imagen1.jpg”  | “https://midominio.es/wp-content/uploads/micarpetadeimagenes/imagen2.jpg”

product_page_url

Para la realización de la url del producto debemos realizar algo similar a las imágenes, pero solo cogiendo la celda del titulo del producto y convirtiendo los espacios en blanco de separación entre palabras con guiones medios y uniendo así las palabras.

¡IMPORTANTE! WordPress por defecto genera el SLUG recogiendo los datos que hay en el título del producto, categoría, artículo, página… Antes de realizar el siguiente paso de MACRO y FORMULA crear una prueba con solo un producto importado.

Una vez realizado la concatenación del título el siguiente paso será crear en otra columna la ruta del producto, similar a la de las imágenes. En este caso será algo parecido a https://midominio.es/producto/mi-nombre-de-producto

¡NOTA! El Slug que hemos creado uniendo las palabras del título con guiones medios no puede contener acentos en las vocales. Por ejemplo; mí-opción-de-producto

Para ello, deberemos crear un Script o una Macro en vez de fórmula para sanear estos caracteres y que no cree conflicto con las URLs

Script para Excel:

Function StripAccent(thestring As String)
Dim A As String * 1
Dim B As String * 1
Dim i As Integer
Const AccChars= «ãáäcçdëèéeíïllñnòóôøoörštúuuüýržÃÁÄÇCDÈËÉEÏÍLLÑNØÒÓÔOÖRŠTÚUUÜÝRŽ»
Const RegChars= «aaaccdeeeeiillnnoooooorstuuuuyrzAAACCDEEEEIILLNNOOOOOORSTUUUUYRZ»
For i = 1 To Len(AccChars)
A = Mid(AccChars, i, 1)
B = Mid(RegChars, i, 1)
thestring = Replace(thestring, A, B)
Next
StripAccent = thestring
End Function

Cómo configurar el script en Excel (válido para todos los idiomas)

  1. Presione las teclas Alt + F11 en Excel y se abrirá la ventana de Microsoft Visual Basic para Aplicaciones.
  2. Haga clic en Insertar > Módulo y pegue la siguiente macro en la ventana del módulo.
  3. Luego vaya a una celda en blanco y pegue la fórmula en una celda: =StripAccent(theString), por ejemplo =StripAccent(«ù»), o =StripAccent(A2).

Guardar archivo Excel como .xlsm (archivo Excel con soporte para macros)

Si prefieres hacerlo con una macro porque te es más fácil el código será el siguiente:

Cómo configurar la Macro

Sub RemoveDiacritics()

    Dim cell As Object   

    If Not ActiveSheet.UsedRange Is Nothing Then

        Application.EnableEvents = False   

        For Each cell In Selection

            If Not IsEmpty(cell) Then

                cell = StripAccent(CStr(cell))

            End If

        Next       

        Application.EnableEvents = True

    End If

End Sub

*Recuerda luego arrastrar hacía abajo en la columna para que se aplique a todos los productos.

La importación

Para realizar la importación de nuestra base de datos al WooCommerce iremos a nuestro plugin de WeToffe y picaremos sobre importar. Aquí al seleccionar el archivo serán reconocidos los títulos de los campos (nuestras columnas del Excel) y podremos enlazar estos campos con el desplegable del plugin. Como verás puedes incluso añadir contenido de una columna en otro campo de importación.

En el proceso de exportación hemos bajado una plantilla con los campos y el producto que teníamos en la tienda, ahora al hacer el montaje gráficamente en el mismo CSV nos es más fácil de importar por reconocer los campos reales que usa el plugin. Este no hace mas que conectar con la tabla correspondiente de la base de datos relacionada con los productos, o si es el caso de categorías u otros.

Para la importación de las categorías verás que se realiza de la misma forma, pero tan solo tienes unos pocos campos exportados.

¡¡Venga vamos a ello!!

Lo primero es ir al plugin y picar en importar y seleccionar “Productos”.

Arrastra el archivo CSV ya creado en los pasos anteriores. 

Selecciona los campos. ¡OJO! Si son los mismos que los de la importación ya los tienes seleccionados correctamente.

Deja todo marcado por defecto o en su caso como en la imagen si deseas actualizar los productos que ya existan en tu tienda, para ello marca “Actualizar”.

Aquí yo siempre marco que SI ya que actualiza incluso los valores vacíos.

Aquí ya nos indica que todos los productos han sido importados.

Bueno, pues como veis no es difícil pero tampoco es fácil, simplemente tiene un gran trabajo, pero recuerda que solo es al principio si no tienes nada creado. Una vez ya tengas este primer modelo luego tan solo deberás ir actualizando tu CSV con los nuevos productos o los mismos, pero con nuevas características como puede ser el stock, precios o descripciones.

Aquí lo que hemos aprendido es poder traer una gran cantidad de productos de golpe y realmente lo que mas nos ha costado es enlazar las imágenes de los productos y quitar los acentos de los SLUG si lo has hecho que hemos tenido que crear unos scripts o macros, pero esto ya te sirve para las siguientes importaciones.

Ir al contenido