Updated: 4 November 2026 · Applies to: Magento Open Source and Adobe Commerce 2.4

In Magento 2 the flat catalog settings are under Stores › Settings › Configuration › Catalog › Catalog › Storefront: Use Flat Catalog Category and Use Flat Catalog Product. Before you switch them on, note that Adobe no longer recommends the flat catalog for Magento 2: according to Adobe, continued use is known to cause slower performance and indexing problems. For most stores the better choice is to leave both set to No.

What the flat catalog does

Magento stores product and category attributes across many tables (the EAV model). The flat catalog copies them into one wide table per store view, so the storefront needs fewer joins. That helped on Magento 1 (see How to Switch Magento v1 to use a Flat Catalog). In Magento 2 the extra flat indexes take time to rebuild, grow with every attribute, and can stop products from updating on the storefront until the index catches up.

Turn the flat catalog off (recommended)

  1. In the Admin, go to Stores › Settings › Configuration.
  2. Under Catalog, open Catalog and expand Storefront.
  3. Set Use Flat Catalog Category and Use Flat Catalog Product to No. Clear Use system value first if the field is locked.
  4. Click Save Config.
  5. Rebuild the indexes and clean the cache (commands below).

If the two fields are greyed out in the Admin, the values are set in app/etc/config.php or app/etc/env.php. Adobe's fix is to change them there and import the configuration:

bin/magento app:config:import

Turn it on (only if you have a reason)

Follow the same steps and set both fields to Yes. Test the store on a staging copy first and compare page times before and after.

Reindex and clean the cache

Run these from the Magento root as the user that owns the files. Rebuild every index:

bin/magento indexer:reindex

Clean the enabled cache types:

bin/magento cache:clean

Adobe also recommends running indexers on a schedule rather than on save, which needs Magento's cron to be running:

bin/magento indexer:set-mode schedule

Check the result

  1. Edit a product, change its name slightly and save.
  2. Open the product and its category on the storefront in a private window.
  3. The change shows once the index has updated (at once with Update on Save, at the next cron run with Update by Schedule).

Official documentation: Flat catalog and Manage the indexers.

Related services

Web hosting

shared hosting on Virtualmin with NVMe storage, free SSL and email.

Managed cPanel VPS

cPanel included; we handle updates, security and monitoring.

Hire an expert

engineers per 15 minutes, per hour or per month, with no contract.

Was this answer helpful?

Still stuck? Open a ticket