Chat on WhatsApp

How do you architect a 30k+ SKU ULINE-scale catalog on Magento without it grinding?

Five pieces wired together:

  • EAV with denormalised attributes, box dimension (LxWxH), material (corrugated / poly / paper / mylar / foam), mil thickness (2 / 3 / 4 / 6 mil), color, case-pack qty (25 / 50 / 100 / 250 / 500). Catalog product flat tables OFF (they hurt at this scale).
  • OpenSearch / Elasticsearch tuned for faceted filtering, ULINE’s killer feature is the left-rail filter that narrows 35k SKUs to 20 in three clicks. Stock Magento search hits the wall around 8k SKUs; tuned OpenSearch holds sub-200ms response at 100k.
  • PIM as source of truth, Akeneo or Pimcore when SKUs come from 8-15 vendors. PIM owns enrichment + translations + asset management; pushes to Magento via API. Without a PIM you spend 40% of your week on catalog ops.
  • Hyvä storefront, Luma re-renders the PLP on every filter click (400-800ms INP at 30k SKUs); Hyvä uses Alpine.js reactive state (sub-100ms).
  • Custom denormalised stock-status table, "in-stock-at-this-case-pack" filtering needs a flat table; native indexers slow at 50k+ variants.

Largest packaging catalog I’ve shipped: 42,000 SKUs across 9 vendors, Lighthouse mobile 94, PLP filter response 140ms. Built in 14 weeks with Akeneo PIM as the upstream source.

Was this helpful?