Log in or create an account
If you have an account with us, please log in.

You have no items in your shopping cart.

Frequently Asked Questions

How can we help you?

banner image

Magento 2 Reindex: manual reindex from the admin panel or a cron job

What is Magento 2 index

Due to the sophisticated architecture, Magento gathers a lot of merchant’s data, e.g.: catalog info, prices, users, stores, in many database tables. To optimize the Magento 2 frontend performance the most important information is stored into special tables using indexers that gathering the data. You need to keep the indexes up-to-date to show actual data on the storefront. 

When Magento 2 reindex is required

In Magento 2 reindex is required for these 8 indexers when any changes are made:

E.g.: when updating a product price the data should be reindexed to be correctly displayed on the frontend. The indexation sufficiently reduces time spent on calculating a final order price including cart price rules, bundle pricing, discounts, tier pricing, etc. 

  1. Category products;
  2. Product categories;
  3. Product price;
  4. Product entity attribute value;
  5. Stock;
  6. Catalog rule product;
  7. Catalog product rule;
  8. Catalog search.

In older Magento versions indexation is dependent on the indexer.php file placed under the shell folder. In Magento 2 it’s managed by the bin/magento instead.

Also, you can check what indexer require reindexing in Magento 2 admin panel. For this, go to System > Tools > Index Management.

How to reindex Magento 2?

To reindex indexes in Magento 2 you can use several ways: reindex via a cron job and use manual reindex from the admin panel.

Reindex via a cron job

Reindex Magento 2 via a cron job is very convenient way. In this case, Magento 2 reindexing runs every minute (you can set an appropriate period) eliminating the necessity to manage the process manually . To configure a cron job correctly follow the guide.

Manual reindex from the Admin Panel

You can force Magento 2 reindex via the command line:

  • Log in to your Magento server admin panel as the file owner;
  • Use the next option:php bin\magento indexer:reindex where [indexer] is a space-separated list of indexers;
  • The option is suitable for reindexing all the Magento 2 store: php bin\magento indexer:reindex. In this case, you’ll see the corresponding results:


However, reindexing of all Magento 2 indexers can take long, therefore, you’d better manage a cron job for the issue.

  • If you want to see the list of all Magento 2 indexers available for reindexing, type in the command line: php bin\magento indexer:info. Here you can find the name of a definite indexer, which is to be further reindexed through the command: php bin\magento indexer:reindex indexer_name (the name of a desired indexer is applied to the ‘_name’ part). 

Learn how to create custom Magento 2 indexer programmatically and reindex it via cron.

Helpful hint: If you need a complex solution to prevent your M2 store from lags due to the too long loading, try out this Reindex from Admin. Having installed it, you'll reindex data in a click right from the admin panel, automate the reindexing, check the reindex process in a live regime.

Rate the answer?

Total rating: 2.2

If you didn’t find the answer on your question, please, ask here:

Back to top