Eliminar productos duplicados por SKU en Woocommerce

Trabajando con una tienda WooCommerce y usando el plugin WP All Import (de pago), el cual importa productos y actualiza el stock de la tienda automáticamente, por un error nuestro al importar dos veces el mismo archivo .csv, nos duplicó en más de 300 productos (simples, sin variaciones) con la misma referencia.

Lo que suponía un problema, ya que había que buscar uno a uno cada artículo duplicado y eliminarlo, una tarea imposible. Sin embargo hay una solución un poco más rápida y "práctica", según se mire con phpmyadmin, que a día de hoy, fecha de la publicación sigue funcionando.

¿Qué vamos a hacer?

  1. Buscaremos los productos duplicados en la dase de datos en phpmyadmin
  2. A los productos duplicados por SKU les quitaremos su SKU
  3. Seleccionaremos los productos que no tienen SKU establecido
  4. Localizaremos los productos sin SKU y los eliminaremos

Lo primero, antes de hacer nada, es crear una copia de seguridad de tu base de datos.

Una vez hecha y guardada en tu disco duro a buen recaudo tienes que entrar en phpmyadmin. Acceder a tu base de datos y generar una primera consulta SQL.

1. Buscar productos con SKU duplicados

Botón SQL - Imagen: FastWebHost

Vamos a buscar productos con SKU duplicados. Selecciona tu base de datos en el menú lateral izquierdo, una vez dentro pulsa sobre la opción SQL (imagen superior). Borra lo que hay puesto (si hay algo) y pones lo siguiente:

¡OJO! Si los productos no tienen SKU o REFERENCIA asignada, no te mostrará resultados, obvio, por que no tienen SKU. En este caso, tienes que saltar al paso 3.

Con esto obtenemos los productos con SKU duplicado.

2. Quitando SKU a productos seleccionados

Ahora que tenemos seleccionados los productos, los marcamos todos y eliminamos las tablas. Lo que hacemos con esto es eliminar el SKU o referencia de los productos.


¡Hey, espera un momento!
Antes de seguir, me gustaría que echaras un vistazo a esto...

Raiola Networks

¿Estás buscando un Hosting o quieres cambiar de proveedor?

Raiola Networks es lo que buscas. A dia de hoy, por calidad/precio, es el mejor hosting actual. Residen en Lugo (España), por lo que su soporte técnico y atención al cliente es en español 24/7. Pulsando en el banner (afiliado) puedes acceder a sus ofertas y de paso ayudas a mantener nuestro proyecto.


3. Selección productos sin SKU establecido

Continuamos y generamos otra consulta SQL en la misma página que buscará y mostrará solamente los productos que no tienen SKU:

 

4. Localizaremos los productos sin SKU y los eliminaremos

Y finalizamos con otra consulta SQL, sin salir de la página, donde ya localizados los productos sin SKU anteriormente los eliminamos:

 

Con esto fulminamos todos los productos con su SKU duplicado, solo los productos, ten en cuenta que las imágenes asociadas al producto seguirán intactas en tu servidor.

Fuentes:
- yanknudtskov (github)
- devlog.rolandow.com

Si quieres conocer otros artículos parecidos a Eliminar productos duplicados por SKU en Woocommerce puedes visitar la categoría Woocommerce.

Entradas relacionadas

    4 Comentarios

  1. Marcela dice:

    Hola!
    Borre unos productos con sus variaciones para pasarlos dentro de otros pero al volver a generarlos como estaban me figura que el sku está duplicado.
    Por lo cual intenté la solución que plantea pero me figura eso:

    Error

    consulta SQL: Documentación

    SELECT meta_value
    FROM wp_postmeta
    WHERE meta_key = '_sku'
    AND meta_value != ''
    GROUP BY meta_value HAVING COUNT(meta_value) > 1 LIMIT 0, 25

    MySQL ha dicho: Documentación
    #1146 - Tabla 'artezw_productos.wp_postmeta' no existe

    1. Javier dice:

      Hola,
      lo que te está diciendo básicamente es que la tabla ‘artezw_productos.wp_postmeta’ no existe.
      Revisa bien que tengas esa tabla en la base de datos. No obstante, esta guía está enfocada a productos simples, desconozco si en productos con variaciones funciona.
      Un saludo y gracias por comentar.

  2. Carlos Solis dice:

    Eres un crack

    1. Javier dice:

      Muchas gracias 🙂
      Un saludo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos cookies y recogemos datos para personalizar contenido, anuncios, funciones sociales y analizar el tráfico. Más información Más información