Frequently Asked Questions
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.
In Magento 2 reindex is required for these 8 indexers when any changes are made:
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.
Magento 2 Reindex is the process of updating the transformed data as the data changes. 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.
Magento 2 reindex via cron gives you the ability to clear the cache and re-index Magento session files. When the catalog and other prices are updated from the back end, but not from the frontend, you need to clear the var/cache of Magento, but this process takes time each time. Magento reindexing via cron can be used to automatically clear the cache, making the process easier and more convenient.
Magento 2 Indexer is a term that refers to the object that creates the index. If you created a product label and set conditions to determine when the label should be applied, then without indexers, when the product page loads, Magento 2 will have to check each label to make sure it meets the conditions you set. The indexer helps to increase the speed of the store and allows you not to lose conversions.
Magento reindex can be made in 2 ways: reindex via a cron job and use manual reindex from the admin panel.
Reindex Magento 2 via a cron job is a 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.
You can force Magento 2 reindex via the command line:
However, reindexing of all Magento 2 indexers can take long, therefore, you’d better manage a cron job for the issue.
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.