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.

Ir al contenido