En tiendas Magento, especialmente con catálogos grandes, es común que algunos productos queden sin categoría asignada, lo que afecta a la navegación, SEO y conversiones. Este artículo te explica cómo identificarlos desde la base de datos y solucionarlo.

Índice

Por qué ocurre

  • Importaciones masivas con errores
  • Scripts que eliminan categorías pero no actualizan productos
  • Migraciones incompletas

Consulta SQL para detectar productos sin categoría

SELECT e.entity_id, e.sku, e.type_id 
FROM catalog_product_entity e
LEFT JOIN catalog_category_product cp ON e.entity_id = cp.product_id
WHERE cp.category_id IS NULL;

Esta consulta devuelve productos sin categoría asignada.

Solución desde backend

  • Filtra productos sin categoría desde el admin
  • Reasigna a una categoría temporal («Sin clasificar»)

Desde SQL:

INSERT INTO catalog_category_product (category_id, product_id, position)
SELECT 123 AS category_id, entity_id, 0
FROM catalog_product_entity e
LEFT JOIN catalog_category_product cp ON e.entity_id = cp.product_id
WHERE cp.category_id IS NULL;

Reemplaza 123 con el ID de tu categoría temporal.

Automatización periódica

Puedes programar este chequeo semanalmente con un cron y notificar vía email:

php bin/magento catalog:product:list --no-category

O con un script personalizado que ejecute la consulta SQL.

Conclusión

Detectar y corregir productos huérfanos mejora la navegación, el SEO y evita pérdidas de ventas. Automatizar este control es clave para catálogos en crecimiento.

¿Necesitas ayuda auditando tu catálogo Magento? Habla con nosotros.

Ir al contenido