Our site (CE version 2.3.4) is extremely slow on the backend and frontend for a particular category which has over 100K items. What is the best way to split this up so that we can see performance improvements?

Right now when a customer clicks this category all the products in it are shown, 36 per page. We're currently doing all we can for ths smaller performance-enhancing tips a typical Magento 2 store owner would want to add.

Ideally we would like to split the large category up into 10 sub categories with 10k each but would this be possible? Wouldn't the parent category still have 100k products? I'm sure someone here has faced a similar issue?

1 Answer 1


Splitting into multiple subcategories it's definitely an option. Regarding your question about parent category counts, it's all about how you set it up:

  1. On one hand you have the category settings which will show the products of the subcategories to be disabled, so basically setting the parent category's property Anchor to No. Maybe add on this page a static block with links to children categories.
  2. On the other hand it's about product to category assignations - you don't assign the products to the parent category, just to the subcategories.

LE One other thing that comes to my mind, is something i did long time ago regarding performance, was on m1 for sure, but the idea applies here as well - install blackfire.io and run some profiling executions and see which methods are the most time consuming, maybe you can overwrite them with a more optimal code. But this is a trial&error process, not something someone can pinpoint from the start. Maybe you have some 3rd party modules dragging.

Good luck!

  • Great, thanks for the tips. I think setting anchor to NO and adding static blocks to link children categories is the way to go. I can' think of an alternative.
    – adrift
    Commented Feb 26, 2021 at 17:32
  • You're welcome! Check my update also :)
    – Diana
    Commented Feb 26, 2021 at 17:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.