Introduccion
Con el tiempo, muchas tiendas PrestaShop empiezan a mostrar síntomas de caos interno:
- Productos publicados sin precio.
- Stock negativo o incoherente.
- Artículos sin categoría o duplicados.
- Combinaciones mal enlazadas.
Todo esto no solo afecta al rendimiento y la experiencia del cliente, sino que destruye el SEO y la conversión.
En este artículo te enseño a realizar una auditoría técnica completa de productos, stock, precios y categorías en tu tienda PrestaShop usando consultas SQL. Sin módulos de pago. Sin plugins. Solo información precisa para saber qué está mal y por qué.
¿Qué es una auditoría de integridad?
Es una revisión estructurada de tu base de datos para detectar:
- Errores comunes en la carga de productos.
- Campos esenciales vacíos o inconsistentes.
- Relaciones rotas (productos sin categoría, combinaciones huérfanas…).
Duplicados que pueden afectar búsquedas y navegación.
Requisitos
- Acceso a la base de datos (phpMyAdmin, Adminer o consola SQL).
- Conocimiento básico de MySQL.
Tener un backup antes de hacer cambios si decides limpiar algo.
Auditoría 1: Productos sin precio
SELECT id_product, reference, price
FROM ps_product
WHERE price = 0 OR price IS NULL;
Auditoría 2: Productos sin stock (o con stock negativo)
SELECT sa.id_product, p.reference, sa.quantity
FROM ps_stock_available sa
JOIN ps_product p ON p.id_product = sa.id_product
WHERE sa.quantity <= 0;
Puedes adaptarlo para detectar solo los que deberían estar activos (active = 1).
Auditoría 3: Productos sin categoría asignada
SELECT p.id_product, p.reference
FROM ps_product p
LEFT JOIN ps_category_product cp ON cp.id_product = p.id_product
WHERE cp.id_category IS NULL;
Auditoría 4: Productos sin imagen principal
SELECT p.id_product, p.reference
FROM ps_product p
LEFT JOIN ps_image i ON i.id_product = p.id_product
WHERE i.id_image IS NULL;
Auditoría 5: Productos duplicados por referencia (SKU)
SELECT reference, COUNT(*) AS total
FROM ps_product
GROUP BY reference
HAVING total > 1;
Esto puede causar problemas en sincronizaciones, búsquedas internas o integraciones.
Auditoría 6: Combinaciones sin producto (huérfanas)
SELECT pa.id_product_attribute
FROM ps_product_attribute pa
LEFT JOIN ps_product p ON p.id_product = pa.id_product
WHERE p.id_product IS NULL;
Auditoría 7: Categorías vacías (sin productos)
SELECT c.id_category, cl.name
FROM ps_category c
JOIN ps_category_lang cl ON c.id_category = cl.id_category
LEFT JOIN ps_category_product cp ON cp.id_category = c.id_category
WHERE cp.id_product IS NULL
AND c.id_category NOT IN (1, 2); -- excluye HOME y ROOT
Opcional: Auditoría general en un solo informe
Puedes combinar varias consultas y generar un dashboard PHP que te diga cuántos errores tienes de cada tipo, para revisar desde el navegador.
También puedes exportar los resultados a CSV y trabajarlos desde Excel o Google Sheets.
Buenas prácticas tras la auditoría
- Arregla primero lo que afecta a ventas: stock, precio y visibilidad.
- Luego pasa a limpiar relaciones huérfanas.
- Finalmente, optimiza duplicados o estructuras confusas.
Programa auditorías periódicas cada 30 días si manejas muchos productos.
¿Y si no sé cómo arreglar los errores?
Es totalmente normal. PrestaShop tiene una estructura compleja y puede ser confusa.
Lo importante es detectar lo que está mal. Luego, puedes:
- Repararlo con SQL si sabes.
- Usar scripts de automatización para limpiar.
- O pedir ayuda profesional para dejar la tienda optimizada.
Conclusión
Una tienda sin errores vende más, carga más rápido y posiciona mejor.
Con estas consultas SQL puedes hacer una auditoría real de tu catálogo en pocos minutos y detectar fallos invisibles que afectan en tus ventas sin que lo sepas.
¿Quieres que prepare un informe de tu tienda y lo revise contigo paso a paso?
📩 Escríbenos y te entregamos un diagnóstico personalizado.