Cómo auditar la integridad de productos, precios, stock y categorías con SQL en PrestaShop: Guía completa para ecommerce y técnicos
¿Tu tienda PrestaShop empieza a dar datos raros en productos, precios o stock? Es más habitual de lo que parece. Migraciones, módulos de terceros o errores en la base de datos pueden dejar registros inconsistentes.
En esta guía aprenderás a auditar la integridad de tu catálogo usando consultas SQL. Te mostraré cómo detectar:
- Productos huérfanos sin categoría.
- Stock negativo o incoherente.
- Precios mal asignados o a cero.
- Problemas de duplicidad de registros.
Está pensada tanto para gerentes de ecommerce que quieren entender el problema, como para técnicos que necesitan consultas listas para trabajar.
Índice de contenidos
- ¿Por qué auditar tu base de datos en PrestaShop?
- Estructura de las tablas clave en PrestaShop
- Detectar productos huérfanos sin categoría
- Detectar stock negativo o incoherente
- Detectar productos con precio cero
- Detectar duplicidades en registros
- Buenas prácticas y seguridad
- Impacto SEO y ventajas comerciales
- Conclusión
¿Por qué auditar tu base de datos en PrestaShop?
Los motivos principales para hacer una auditoría SQL en PrestaShop:
- Evitar errores en catálogo visible al cliente.
- Corregir problemas tras importaciones masivas.
- Mejorar rendimiento del backend.
- Garantizar que precios, stock y categorías estén bien enlazados.
Un error como un producto sin categoría puede implicar que ese producto no se muestre en la tienda aunque esté activo.
Estructura de las tablas clave en PrestaShop
Para auditar datos necesitas conocer estas tablas:
Tabla | Descripción |
---|---|
ps_product | Productos básicos (id, referencias, activo, etc.) |
ps_product_lang | Traducciones y nombres de producto. |
ps_category_product | Relación producto-categoría. |
ps_stock_available | Stock de cada producto o combinación. |
ps_product_shop | Relación producto-tienda (multi-store). |
ps_specific_price | Precios especiales o descuentos. |
Vamos a ver cómo consultar estos datos.
Detectar productos huérfanos sin categoría
¿Por qué es un problema?
- Un producto sin categoría no se muestra en la tienda.
- Afecta negativamente al SEO.
Consulta SQL para encontrar productos huérfanos:
SELECT p.id_product, pl.name FROM ps_product p LEFT JOIN ps_category_product cp ON p.id_product = cp.id_product LEFT JOIN ps_product_lang pl ON p.id_product = pl.id_product AND pl.id_lang = 1 WHERE cp.id_category IS NULL;
Explicación:
- Busca productos que NO tienen relación en
ps_category_product
. - Devuelve ID y nombre para localizarlos fácilmente.
Detectar stock negativo o incoherente
PrestaShop puede tener stock negativo si hay errores en ventas o devoluciones.
Consulta SQL:
SELECT p.id_product, pl.name, sa.quantity FROM ps_product p JOIN ps_stock_available sa ON p.id_product = sa.id_product JOIN ps_product_lang pl ON p.id_product = pl.id_product AND pl.id_lang = 1 WHERE sa.quantity < 0;
Explicación:
- Te devuelve todos los productos con stock negativo.
- Útil para corregir errores antes de rebajar stock.
Detectar productos con precio cero
Otro clásico: productos cuyo precio se ha quedado en cero tras importaciones masivas.
Consulta SQL:
SELECT p.id_product, pl.name, ps.price FROM ps_product p JOIN ps_product_lang pl ON p.id_product = pl.id_product AND pl.id_lang = 1 JOIN ps_product_shop ps ON p.id_product = ps.id_product WHERE ps.price = 0;
Revisa siempre estos productos, ¡puedes estar regalando artículos sin saberlo!
Detectar duplicidades en registros
Un problema frecuente son duplicidades en productos que pueden causar errores en módulos o en la web.
Consulta SQL para encontrar productos duplicados por referencia:
SELECT reference, COUNT(*) as total FROM ps_product WHERE reference != '' GROUP BY reference HAVING total > 1;
Así detectas referencias repetidas que pueden confundirse en integraciones externas o ERP.
Buenas prácticas y seguridad
- Haz backup antes de ejecutar cualquier consulta DELETE o UPDATE.
- Prueba las consultas primero en un entorno staging.
- Verifica IDs de idioma si trabajas en multi-idioma.
- Documenta cambios que apliques tras auditoría.
Auditar es el primer paso antes de modificar datos.
Impacto SEO y ventajas comerciales
Auditar la integridad del catálogo tiene impacto directo en el SEO y en la conversión:
- Mejora la indexación en buscadores.
- Evita páginas huérfanas.
- Refuerza la consistencia de categorías.
- Minimiza errores 404 en fichas de producto.
Un catálogo limpio es clave para evitar sorpresas en campañas de Google Shopping o marketplaces.
Conclusión
Auditar la base de datos de PrestaShop con SQL es esencial para evitar errores invisibles que pueden costarte ventas y posicionamiento. Las consultas que has visto hoy te permitirán revisar los puntos críticos de tu catálogo y mantener tu tienda sana y optimizada.
¿Necesitas ayuda para auditar tu tienda PrestaShop y dejarla perfecta? ¡Contáctanos y te ayudamos!