{"id":18077,"date":"2020-07-01T14:07:45","date_gmt":"2020-07-01T12:07:45","guid":{"rendered":"https:\/\/belvg.com\/blog\/?p=18077"},"modified":"2026-05-08T16:18:04","modified_gmt":"2026-05-08T14:18:04","slug":"index-management-in-magento-2","status":"publish","type":"post","link":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html","title":{"rendered":"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel"},"content":{"rendered":"\n<p>Indexing is important for Magento 2, as for all systems that process large amounts of data in multiple tables. It facilitates the platform&rsquo;s performance.<\/p>\n<p><!--more--><\/p>\n<p>As of 2026, Magento 2 continues to be widely used for large-scale ecommerce, making index management an essential skill for developers and store owners alike.<\/p>\n<p>In this article, we are going to discuss the core aspects of Magento index management that you need to be aware of, and we will also demonstrate how you can create your own custom index.<\/p>\n<p><a href=\"#step_1\">What is indexing in Magento 2?<br>\n<\/a><a href=\"#step_2\">Default indexes in Magento 2<br>\n<\/a><a href=\"#step_3\">Terminology of indexation<br>\n<\/a><a href=\"#step_4\">Magento 2 index update<br>\n<\/a><a href=\"#step_5\">Magento index management via admin panel<br>\n<\/a><a href=\"#step_6\">Index commands for Magento 2<br>\n<\/a><a href=\"#step_7\">Index Status Tables in Database<br>\n<\/a><a href=\"#step_8\">Mechanism of indexation by schedule, Mview<br>\n<\/a><a href=\"#step_9\">Partial and complete indexation<br>\n<\/a><a href=\"#step_10\">Magento index management FAQs<\/a><\/p>\n<h2 id=\"step_1\" class=\"white\">What is indexing in Magento 2?<\/h2>\n<p>An index is a table of a certain format in a database. Magento index processing converts data to increase performance. It is necessary because the data which is required for an online store operation is stored in a complex structure of tables. For example, if you want to find out the current product price, it involves connecting and processing a lot of tables and their connections.<\/p>\n<p>In their turn, indexes store partly processed and formatted data, decreasing server load and increasing the store&rsquo;s speed. However, indexing is required after any change to the data to which this index is applied.<\/p>\n<h2 id=\"step_2\" class=\"white\">Default indexes in Magento 2<\/h2>\n<p>There are several out-of-the-box indexes in <strong>Magento 2 Open Source<\/strong>:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Name<\/strong><\/td>\n<td><strong>ID<\/strong><\/td>\n<td><strong>Class<\/strong><\/td>\n<td><strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Catalog Product Rule<\/td>\n<td>catalogrule_product<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/CatalogRule\/Model\/Indexer\/Product\/ProductRuleIndexer.php\" target=\"_blank\" rel=\"noopener\">Magento\\CatalogRule\\Model\\Indexer\\Product\\ProductRuleIndexer<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Catalog Rule Product<\/td>\n<td>catalogrule_rule<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/CatalogRule\/Model\/Indexer\/Rule\/RuleProductIndexer.php\" target=\"_blank\" rel=\"noopener\">Magento\\CatalogRule\\Model\\Indexer\\Rule\\RuleProductIndexer<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Catalog Search<\/td>\n<td>catalogseatch_fulltext<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/CatalogSearch\/Model\/Indexer\/Fulltext.php\" target=\"_blank\" rel=\"noopener\">Magento\\CatalogSearch\\Model\\Indexer\\Fulltext<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Category Products<\/td>\n<td>catalog_category_product<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/Catalog\/Model\/Indexer\/Category\/Product.php\" target=\"_blank\" rel=\"noopener\">Magento\\Catalog\\Model\\Indexer\\Category\\Product<\/a><\/td>\n<td>It creates the category &ndash; products connection<\/td>\n<\/tr>\n<tr>\n<td>Customer Grid<\/td>\n<td>customer_grid<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/lib\/internal\/Magento\/Framework\/Indexer\/Action\/Entity.php\" target=\"_blank\" rel=\"noopener\">Magento\\Framework\\Indexer\\Action\\Entity<\/a><\/td>\n<td>It restructures Customer Grid index<\/td>\n<\/tr>\n<tr>\n<td>Design Config Grid<\/td>\n<td>design_config_grid<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/Theme\/Model\/Indexer\/Design\/Config.php\" target=\"_blank\" rel=\"noopener\">Magento\\Theme\\Model\\Indexer\\Design\\Config<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Product Categories<\/td>\n<td>catalog_product_category<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/Catalog\/Model\/Indexer\/Product\/Category.php\" target=\"_blank\" rel=\"noopener\">Magento\\Catalog\\Model\\Indexer\\Product\\Category<\/a><\/td>\n<td>It creates product &ndash; categories connection<\/td>\n<\/tr>\n<tr>\n<td>Product EAV<\/td>\n<td>catalog_product_attribute<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/Catalog\/Model\/Indexer\/Product\/Eav.php\" target=\"_blank\" rel=\"noopener\">Magento\\Catalog\\Model\\Indexer\\Product\\Eav<\/a><\/td>\n<td>It restructures the EAV structure into a flat structure<\/td>\n<\/tr>\n<tr>\n<td>Product Price<\/td>\n<td>catalog_product_price<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/Catalog\/Model\/Indexer\/Product\/Price.php\" target=\"_blank\" rel=\"noopener\">Magento\\Catalog\\Model\\Indexer\\Product\\Price<\/a><\/td>\n<td>It pre-calculates product prices<\/td>\n<\/tr>\n<tr>\n<td>Stock<\/td>\n<td>cataloginventory_stock<\/td>\n<td><a href=\"https:\/\/github.com\/magento\/magento2\/blob\/2.3\/app\/code\/Magento\/CatalogInventory\/Model\/Indexer\/Stock.php\" target=\"_blank\" rel=\"noopener\">Magento\\CatalogInventory\\Model\\Indexer\\Stock<\/a><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Magento 2 Commerce Edition<\/strong> includes all the indexes from Open Source as well as some additional ones:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Name<\/strong><\/td>\n<td><strong>ID<\/strong><\/td>\n<td><strong>Class<\/strong><\/td>\n<td><strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Inventory<\/td>\n<td>inventory<\/td>\n<td>Magento\\InventoryIndexer\\Indexer\\InventoryIndexer<\/td>\n<td>Multi-Source Inventory index<\/td>\n<\/tr>\n<tr>\n<td>Product\/Target Rule<\/td>\n<td>targetrule_product_rule<\/td>\n<td>Magento\\TargetRule\\Model\\Indexer\\TargetRule\\Product\\Rule<\/td>\n<td>It creates product &ndash; rule connection<\/td>\n<\/tr>\n<tr>\n<td>Target Rule\/Product<\/td>\n<td>targetrule_rule_product<\/td>\n<td>Magento\\TargetRule\\Model\\Indexer\\TargetRule\\Rule\\Product<\/td>\n<td>It creates rule &ndash; product connection<\/td>\n<\/tr>\n<tr>\n<td>Sales Rule<\/td>\n<td>salesrule_rule<\/td>\n<td>Magento\\AdvancedSalesRule\\Model\\Indexer\\SalesRule<\/td>\n<td>Rule indexing<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Besides the indexes listed above, you can also create a custom one. We are going to discuss it in detail below.<\/p>\n<h2 id=\"step_3\" class=\"white\">Magento 2 Indexation Terminology<\/h2>\n<ul>\n<li><strong>Dictionary<\/strong> is the original regular data entered into the system.<\/li>\n<li><strong>Index<\/strong> is the representation of the original data for optimized reading and searching. It should be updated when there are any changes in the dictionary.<\/li>\n<li><strong><a href=\"https:\/\/store.belvg.com\/indexer-for-magento-2-0.html\" target=\"_blank\" rel=\"noopener\">Indexer<\/a><\/strong> is an object that creates and updates an index.<\/li>\n<\/ul>\n<h2 id=\"step_4\" class=\"white\">Magento 2 index update<\/h2>\n<p>In order to operate with up-to-date data, indexes should be updated from time to time. There are three ways to do it:<\/p>\n<ol>\n<li><strong>Scheduled updates<\/strong> (launched by cron).<\/li>\n<li><strong>Magento index update on save <\/strong>(It is launched when the data has been edited and saved).<\/li>\n<li><strong>Manual update<\/strong> (via terminal).<\/li>\n<\/ol>\n<p>By the type of processed data, <strong>Magento reindex<\/strong> can be launched as:<\/p>\n<ul>\n<li>Full reindex processes all the indexed data again. It can always be launched manually via console.<\/li>\n<li>Partial reindex processes again only the data that has been changed.<\/li>\n<\/ul>\n<p>The logic of Magento indexer operation is described below:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/diagram.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-18078\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/diagram.png\" alt=\"Magento 2 indexation diagram\" width=\"534\" height=\"688\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"step_5\" class=\"white\">Magento index management via admin panel<\/h2>\n<p>In the admin panel, you can control index modes and observe the current information about the indexes (<strong>System&gt; Index Management<\/strong>).<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/index-management.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-18079\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/index-management.png\" alt=\"Magento 2 indexation\" width=\"591\" height=\"458\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"><\/a><\/p>\n<p>In the <strong>Mode<\/strong> column, we can see how the index is updated. In the <strong>Status<\/strong> column, we can see whether reindex is required (<em>Reindex Required<\/em>) or not required (<em>Ready<\/em>). In the <strong>Updated<\/strong> column, you can see the date of the latest update.<\/p>\n<p>On this page, we can change the reindex mode. In order to do it, you should choose the necessary mode in a checkbox and press <strong>Submit<\/strong>.<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/magento-index-management-reindex-magento-2.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/magento-index-management-reindex-magento-2.png\" alt=\"magento index management reindex magento 2\" width=\"591\" height=\"399\" class=\"lazy aligncenter size-full wp-image-26405\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The default opportunities for managing and monitoring index operations are quite limited, but there are multiple free modules for managing and reorganizing indexes from the Magento 2 admin panel.<\/p>\n<p>Adobe Commerce Cloud customers may also leverage built-in performance monitoring tools. They are available through the Commerce Cloud dashboard and allow tracking indexer health alongside other infrastructure metrics.<\/p>\n<div class=\"module_in_content_container\"><a href=\"https:\/\/store.belvg.com\/indexer-for-magento-2-0.html?utm_source=indexer&amp;utm_medium=blog_post&amp;utm_campaign=extensions\" class=\"link_to_module\" target=\"_blank\" rel=\"noopener\"><\/a><div class=\"module_content\"><img src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/Indexer-240px.png\" width=\"240\" height=\"240\" alt=\"Indexer 240px\" class=\"module_image\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"><div class=\"module_content_part\"><h3 class=\"title\">Indexer for Magento 2<\/h3><p class=\"module_content_text\">Optimize the indexing process in your Magento 2 backend.<\/p><a href=\"https:\/\/store.belvg.com\/indexer-for-magento-2-0.html?utm_source=indexer&amp;utm_medium=blog_post&amp;utm_campaign=extensions\" class=\"link_2_to_module\" target=\"_blank\" style=\"display:inline-block\" rel=\"noopener\"><span class=\"read-more\">Free download<\/span><\/a><\/div><\/div><\/div>\n<h2 id=\"step_6\" class=\"white\">What are the index commands for Magento 2?<\/h2>\n<p>We cannot launch reindex from the admin panel. In order to do it, we need access to the server via terminal. If you put in <em>php bin\/magento indexer<\/em>, you will see the command description for indexing:<\/p>\n<p>indexer:info&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Shows allowed Indexers.<br>\nindexer:reindex&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Reindexes Data<br>\nindexer:reset&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Resets indexer status to invalid<br>\nindexer:set-mode&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Sets index mode type<br>\nindexer:show-mode&nbsp; &nbsp; Shows Index Mode<br>\nindexer:status&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Shows status of Indexer<\/p>\n<p>Executing this command, we can see how to work with the whole group of indexes as well as with specific ones, adding their names as an argument.<\/p>\n<h3>indexer:info<\/h3>\n<p>This command will show you the list of all indexes as a code-name used in the system. We can use the index code as an argument for all the commands listed below.<\/p>\n<p>Here is the execution example:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/indexer-info.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-18081\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/indexer-info.png\" alt=\"Magento 2 index\" width=\"752\" height=\"340\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"><\/a><\/p>\n<h3>indexer:show-mode<\/h3>\n<p>This command will show you the indexer modes.<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/indexer-show-mode.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-18082\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/indexer-show-mode.png\" alt=\"Magento 2\" width=\"751\" height=\"336\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"><\/a><\/p>\n<h3>indexer:set-mode {realtime|schedule} [indexer]<\/h3>\n<p>This command can be used to change reindex mode. <em>realtime<\/em> sets<strong> Update on Save<\/strong>; schedule sets reindex mode to <strong>Update by Schedule<\/strong>. Using the <strong>indexer<\/strong> argument, you can change the mode of a specific index. Using no argument, the mode will be set for all indexes.<\/p>\n<h3>indexer:status<\/h3>\n<p>This command demonstrates the indexer status. It is one more way to define whether reindex is required or data is up-to-date, and reindex is not required.<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/indexer-status.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-18083\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/indexer-status.png\" alt=\"magento 2 index management\" width=\"751\" height=\"348\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"><\/a><\/p>\n<h3>indexer:reindex<\/h3>\n<p>It is the most often used command that launches reindexing. If there are no arguments, all the indexes will be reindexed. If you use index code as an <strong>[index]<\/strong> argument, it will launch reindex only for this one. It is very convenient as it allows launching a reindex only for the indexes that require it.<\/p>\n<h3>indexer:reset<\/h3>\n<p>Sometimes an error may occur during reindexing, and the process cannot finish. For example, after executing the reindex command, we come across this:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/indexer-reset.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-18084\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/12\/indexer-reset.png\" alt=\"Magento 2\" width=\"714\" height=\"212\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"><\/a><\/p>\n<p>In order to fix it, we can pause the index with the <strong>reset<\/strong> command In this situation, you should execute the <em>php bin\/magento indexer:reset stock<\/em> command. It will unblock the reindex process.<\/p>\n<h2 id=\"step_7\" class=\"white\">Index Status Tables in Database<\/h2>\n<p>The following tables in a database are used for index status storage:<\/p>\n<ul>\n<li>indexer_state<\/li>\n<li>mview_state<\/li>\n<\/ul>\n<h2 id=\"step_8\" class=\"white\">Mechanism of indexation by schedule, Mview<\/h2>\n<p>When there are any changes in the object of a database that the Magento 2 system has indexes for, a new trigger appears in the table with the _cl postfix if there is such a table. If there is no such table, a new one is generated. The <em>mview.xml<\/em> files are responsible for defining the data that will be tracked in the _cl (change log) table.<\/p>\n<p>For example, <em>Magento\/Catalog\/etc\/mview.xml<\/em><\/p>\n<pre class=\"lang:default decode:true\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:Mview\/etc\/mview.xsd\"&gt;\r\n&hellip;\r\n&lt;view id=\"catalog_category_product\" class=\"Magento\\Catalog\\Model\\Indexer\\Category\\Product\" group=\"indexer\"&gt;\r\n   &lt;subscriptions&gt;\r\n       &lt;table name=\"catalog_category_entity\" entity_column=\"entity_id\" \/&gt;\r\n       &lt;table name=\"catalog_category_entity_int\" entity_column=\"entity_id\" \/&gt;\r\n   &lt;\/subscriptions&gt;\r\n&lt;\/view&gt;\r\n&hellip;\r\n&lt;\/config&gt;\r\n<\/pre>\n<p>From this extract, you can see that the <strong>catalog_category_product_cl<\/strong> will be created. It will contain the information about the changes in <strong>catalog_category_entity <\/strong>and <strong>catalog_category_entity_int<\/strong> tables.<\/p>\n<p>All the change log tables are created by a certain INDEXER_TABLE_NAME + &lsquo;_cl&rsquo; rule. The tables contain the <strong>version_id <\/strong>columns as autoincrement and <strong>entity_id, which<\/strong>&nbsp;contains the object identifier that needs to be reindexed. For every table listed in the table nodes, three types of MYSQL AFTER triggers are created: INSERT, UPDATE, DELETE.<\/p>\n<p>For example, for the <em>catalog_category_entity<\/em> table, the following triggers will be created:<\/p>\n<pre class=\"lang:default decode:true \">CREATE DEFINER=`******`@`%` TRIGGER trg_catalog_category_entity_after_insert AFTER INSERT ON e FOR EACH ROW\r\nBEGIN\r\nINSERT IGNORE INTO `catalog_category_product_cl` (`entity_id`) VALUES (NEW.`entity_id`);\r\nEND   \r\n\r\nCREATE DEFINER=`******`@`%` TRIGGER trg_catalog_category_entity_after_update AFTER UPDATE ON e FOR EACH ROW\r\nBEGIN\r\n    IF (NEW.`entity_id` &lt;=&gt; OLD.`entity_id`\r\n        OR NEW.`attribute_set_id` &lt;=&gt; OLD.`attribute_set_id`\r\n        OR NEW.`parent_id` &lt;=&gt; OLD.`parent_id`\r\n        OR NEW.`created_at` &lt;=&gt; OLD.`created_at`\r\n        OR NEW.`path` &lt;=&gt; OLD.`path`\r\n        OR NEW.`position` &lt;=&gt; OLD.`position`\r\n        OR NEW.`level` &lt;=&gt; OLD.`level`\r\n        OR NEW.`children_count` &lt;=&gt; OLD.`children_count`)\r\n            THEN INSERT IGNORE INTO `catalog_category_product_cl` (`entity_id`) VALUES (NEW.`entity_id`);\r\n    END IF;\r\nEND\r\n\r\nCREATE DEFINER=`******`@`%` TRIGGER trg_catalog_category_entity_after_delete AFTER DELETE ON e FOR EACH ROW\r\nBEGIN\r\n    INSERT IGNORE INTO `catalog_category_product_cl` (`entity_id`) VALUES (OLD.`entity_id`);\r\nEND\r\n<\/pre>\n<p>The Mview component checks <strong>version_id<\/strong> in the *_cl tables if it is different from the one stored in the <strong>mview_state<\/strong> table. If the numbers are different, reindex launches.<\/p>\n<h2 id=\"step_9\" class=\"white\">Partial and complete indexation<\/h2>\n<p>Here, we are going to discuss partial and complete indexation in Magento 2.<\/p>\n<h3>Partial indexation<\/h3>\n<p>Partial indexation updates indexes only in the objects that were modified. Partial indexation occurs both with <strong>Update on Save<\/strong> and <strong>Update by Schedule<\/strong> index modes. It is an indexation type where the change log tables are used, which we described above.<\/p>\n<h3>Complete indexation<\/h3>\n<p>Complete indexation is required by some extensions in Magento 2, as some indexes may become invalid. Complete indexation launches by <strong>cron schedule<\/strong> or <strong>manually<\/strong>.<\/p>\n<h2 id=\"step_10\" class=\"white\">Magento index management FAQs<\/h2>\n<h3>How create custom index<\/h3>\n<p>In order to do it, we will create a custom module. First of all, the <em>registration.php file<\/em>:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?php\r\n\\Magento\\Framework\\Component\\ComponentRegistrar::register(\r\n   \\Magento\\Framework\\Component\\ComponentRegistrar::MODULE,\r\n   'Belvg_CronIndexer',\r\n   __DIR__\r\n);<\/pre>\n<p>And the <em>etc\/module.xml file<\/em>:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\"?&gt;\r\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n       xsi:noNamespaceSchemaLocation=\"urn:magento:framework:Module\/etc\/module.xsd\"&gt;\r\n   &lt;module name=\"Belvg_CronIndexer\" setup_version=\"1.0.0\"&gt;\r\n   &lt;\/module&gt;\r\n&lt;\/config&gt;\r\n<\/pre>\n<p>So, now we define our index. We need to create a <em>etc\/indexer.xml<\/em> file for it:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\"?&gt;\r\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:Indexer\/etc\/indexer.xsd\"&gt;\r\n   &lt;indexer id=\"belvg_customcron_indexer\r\n\" view_id=\"belvg_customcron_indexer\r\n\" class=\"Belvg\\CronIndexer\\Model\\Indexer\\Example\"&gt;\r\n       &lt;title translate=\"true\"&gt;Belvg Indexer Example&lt;\/title&gt;\r\n       &lt;description translate=\"true\"&gt;Belvg custom indexer&lt;\/description&gt;\r\n   &lt;\/indexer&gt;\r\n&lt;\/config&gt;\r\n<\/pre>\n<p>In this file, we define a new indexer with attributes:<\/p>\n<p><strong>id<\/strong> is a new unique index identifier. It is necessary, particularly for launching reindex via the terminal.<br>\n<strong>view_id <\/strong>is an identifier in the <strong>mview.xml <\/strong>file.<br>\n<strong>class&nbsp;<\/strong>possesses certain processing methods (executeFull, executeList, executeRow)<\/p>\n<p>Simple indexer should contain the following elements:<\/p>\n<p><strong>title <\/strong>of an index that will be displayed in index grid<br>\n<strong>description<\/strong> of an index that will be displayed in index grid<\/p>\n<p>Then, we create a <strong>etc\/mview.xml <\/strong>file. It is necessary to detect changes in table objects and turn on indexers.<\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:Mview\/etc\/mview.xsd\"&gt;\r\n   &lt;view id=\"belvg_customcron_indexer\" class=\"Belvg\\CronIndexer\\Model\\Indexer\\Example\" group=\"indexer\"&gt;\r\n       &lt;subscriptions&gt;\r\n           &lt;table name=\"catalog_product_entity\" entity_column=\"entity_id\" \/&gt;\r\n       &lt;\/subscriptions&gt;\r\n   &lt;\/view&gt;\r\n&lt;\/config&gt;\r\n<\/pre>\n<p>In this file, we define the identifier of our mview and class where the <strong>execute() <\/strong>method will launch if there are any data changes. In the <strong>subscriptions<\/strong> node, we define the tables that contain the table name and column which value will be transferred to the execute() method if the value is changed. So when the value of entity_id will be transferred to the <strong>Belvg\\CronIndexer\\Model\\Indexer\\Example::execute()<\/strong> method if the values are changed in the <strong>catalog_product_entity<\/strong> table.<\/p>\n<p>In the<strong> indexer.xml<\/strong> and <strong>mview.xml<\/strong> files, we have defined the<strong> Belvg\\CronIndexer\\Model\\Indexer\\Example<\/strong> class, where the methods for changing data processing should be. Now, we need to create <strong>Model\/Indexer\/Example.php<\/strong><\/p>\n<pre class=\"lang:default decode:true \">&lt;?php\r\nnamespace Belvg\\CronIndexer\\Model\\Indexer;\r\n\r\nclass Example implements \\Magento\\Framework\\Indexer\\ActionInterface, \\Magento\\Framework\\Mview\\ActionInterface\r\n{\r\n   \/*\r\n    * Used by mview, allows process indexer in the \"Update on schedule\" mode\r\n    *\/\r\n   public function execute($ids){\r\n       \/\/Used by mview, allows you to process multiple placed orders in the \"Update on schedule\" mode\r\n   }\r\n\r\n   \/*\r\n    * Will take all of the data and reindex\r\n    * Will run when reindex via command line\r\n    *\/\r\n   public function executeFull(){\r\n       \/\/Should take into account all placed orders in the system\r\n   }\r\n\r\n   \/*\r\n    * Works with a set of entity changed (may be massaction)\r\n    *\/\r\n   public function executeList(array $ids){\r\n       \/\/Works with a set of placed orders (mass actions and so on)\r\n   }\r\n\r\n   \/*\r\n    * Works in runtime for a single entity using plugins\r\n    *\/\r\n   public function executeRow($id){\r\n       \/\/Works in runtime for a single order using plugins\r\n   }\r\n}\r\n<\/pre>\n<h3>How to make Magento 2 index automatically at a set time?<\/h3>\n<p>So, we need to change the indexing frequency through cron. By default, indexation is performed every minute. You can see it for yourself by opening the file<em> vendor \/ magento \/ module-indexer \/ etc \/ crontab.xml<\/em>.<\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\"?&gt;\r\n&lt;!--\r\n\/**\r\n* Copyright &copy; Magento, Inc. All rights reserved.\r\n* See COPYING.txt for license details.\r\n*\/\r\n--&gt;\r\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:module:Magento_Cron:etc\/crontab.xsd\"&gt;\r\n   &lt;group id=\"index\"&gt;\r\n       &lt;job name=\"indexer_reindex_all_invalid\" instance=\"Magento\\Indexer\\Cron\\ReindexAllInvalid\" method=\"execute\"&gt;\r\n           &lt;schedule&gt;* * * * *&lt;\/schedule&gt;\r\n       &lt;\/job&gt;\r\n       &lt;job name=\"indexer_update_all_views\" instance=\"Magento\\Indexer\\Cron\\UpdateMview\" method=\"execute\"&gt;\r\n           &lt;schedule&gt;* * * * *&lt;\/schedule&gt;\r\n       &lt;\/job&gt;\r\n       &lt;job name=\"indexer_clean_all_changelogs\" instance=\"Magento\\Indexer\\Cron\\ClearChangelog\" method=\"execute\"&gt;\r\n           &lt;schedule&gt;0 * * * *&lt;\/schedule&gt;\r\n       &lt;\/job&gt;\r\n   &lt;\/group&gt;\r\n&lt;\/config&gt;\r\n<\/pre>\n<p>We are primarily interested in the &lt;job name = &ldquo;indexer_reindex_all_invalid&rdquo;&gt; tag.&nbsp;Five asterisks indicate that all invalid indexes are updated every minute. Asterisks &nbsp;are given according to this table:<\/p>\n<p>* * * * * command to be executed<br>\n| | | | |<br>\n| | | | +&mdash;&ndash; Day of week (0 &ndash; 7) (Sunday=0 or 7)<br>\n| | | +&mdash;&mdash;- Month (1 &ndash; 12)<br>\n| | +&mdash;&mdash;&mdash; Day of the month (1 &ndash; 31)<br>\n| +&mdash;&mdash;&mdash;&ndash; Hour (0 &ndash; 23)<br>\n+&mdash;&mdash;&mdash;&mdash;- Minute (0 &ndash; 59)<\/p>\n<p>You can also set the numerical values, with the asterisk simply meaning &ldquo;every minute (hour, day, etc.)&rdquo;. Therefore, if you want to update crown indexes only once a day at a certain time, you can write, for example, this: 0 4 * * *. This entry will indicate: 0 minutes &ndash; 4 hours &ndash; every day (4 am every day).<\/p>\n<p>But we cannot make changes to the files that the vendor folder contains. For this, you will need to create your own module. We can use the module created before <strong>Belvg_CronIndexer<\/strong>.<\/p>\n<p>And now in the etc folder, we will create a crontab.xml file with the following contents:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\"?&gt;\r\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:module:Magento_Cron:etc\/crontab.xsd\"&gt;\r\n   &lt;group id=\"index\"&gt;\r\n       &lt;job name=\"indexer_reindex_all_invalid\" instance=\"Magento\\Indexer\\Cron\\ReindexAllInvalid\" method=\"execute\"&gt;\r\n           &lt;schedule&gt;0 4 * * *&lt;\/schedule&gt;\r\n       &lt;\/job&gt;&lt;\/group&gt;&lt;\/config&gt;\r\n<\/pre>\n<p>It overrides the default schedule so that reindexing of invalid indexes runs once daily at 4 AM rather than every minute &mdash; a particularly useful optimization for high-catalog-volume stores that have grown significantly in size.<\/p>\n<p>This is all to the topic of index management in Magento 2. We hope this article was helpful to you. If you have any comments or questions, please leave them down below.<\/p>\n\n                    <div class=\"downloadblock\" data-file=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2025\/05\/eCommerce-UX-Audit-Checklist.pdf\" data-name=\"eCommerce-UX-Audit-Checklist.pdf\">\n            <div class=\"container\">\n                <div class=\"downloadblock-wrapper\">\n                                            <picture class=\"downloadblock-image\">\n                                                                                        <img decoding=\"async\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2024\/01\/Optimal_CMS-1.webp\" class=\"lazy\" width=\"100%\" height=\"300\" loading=\"lazy\" alt=\"Download block background image\" title=\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\">\n                                                    <\/picture>\n                                        <div class=\"downloadblock-inner\">\n                                                    <div class=\"downloadblock-title h3\">\n                                Download our checklist                            <\/div>\n                                                                            <div class=\"downloadblock-content\">\n                                <p>Download our beautiful checklist<\/p>\n                            <\/div>\n                                                <div class=\"downloadblock-form\">\n                            \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f30138-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"30138\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/blog\/wp-json\/wp\/v2\/posts\/18077#wpcf7-f30138-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"30138\"><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.2.4.1\"><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\"><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f30138-o1\"><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\"><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\">\n<\/fieldset>\n<div class=\"form-wrapper\"><div class=\"email-wrapper\"><span class=\"wpcf7-form-control-wrap\" data-name=\"email-407\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Corporate Email *\" value=\"\" type=\"email\" name=\"email-407\"><\/span><\/div><div class=\"submit-wrapper\"><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Download\"><\/div><\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <style>\n             .downloadblock-wrapper { position: relative; z-index: 1; min-height: 300px; } .downloadblock-image { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; } .downloadblock-image > img { width: 100%; height: 100%; object-fit: cover; } .downloadblock-inner { position: absolute; z-index: 2; top: 50%; margin: 0 calc(var(--belvg-space__base) * 3); width: 100%; transform: translateY(-50%); } .downloadblock-content { line-height: 26px; font-size: var(--belvg-font-size__base); flex-basis: 100%; padding-bottom: var(--belvg-space__base); } .downloadblock-form .wpcf7 .form-wrapper { display: flex; flex-wrap: nowrap; justify-content: space-between; gap: var(--belvg-space__base); max-width: 600px; } .downloadblock-form .wpcf7 .email-wrapper { flex: 1 1 auto; } .downloadblock-form .wpcf7 .wpcf7-email { outline: none; border: none; background: var(--belvg-color__white); color: var(--belvg-color__black); font-weight: 300; font-size: var(--belvg-font-size__base); line-height: 1.5; height: 50px; width: 100%; padding: 0 var(--belvg-space__md); margin: 0; border-radius: var(--belvg-radius__sm); } .downloadblock-form .wpcf7 .wpcf7-email::placeholder { color: var(--belvg-color__gray__medium); } .downloadblock-form .wpcf7 .wpcf7-submit { margin-left: 0; height: 50px; padding: 0 var(--belvg-space__xl); border-radius: var(--belvg-radius__2xl); font-weight: 500; font-size: var(--belvg-font-size__md); line-height: 1.5; text-align: center; border: none; color: var(--belvg-color__white); background-color: var(--belvg-color__primary); width: 100%; } .downloadblock-form .wpcf7 .wpcf7-submit:hover { background-color: var(--belvg-color__primary__dark); color: var(--belvg-color__white); } .downloadblock-form .wpcf7 .screen-reader-response { display: none; } .downloadblock-form .wpcf7 .wpcf7-response-output, .downloadblock-form .wpcf7 .wpcf7-not-valid-tip { margin: var(--belvg-space__sm) 0 0 0; padding: 0; border: 0; font-size: var(--belvg-font-size__sm); } @media screen and (max-width: 640px) { .downloadblock-wrapper { min-height: 350px; } .downloadblock-inner { max-width: unset; margin: unset; text-align: center; left: 50%; transform: translate(-50%, -50%); width: 100%; padding: 0 var(--belvg-space__md); } .downloadblock-form .wpcf7 .form-wrapper { flex-wrap: wrap; flex-direction: column; } .downloadblock-form .wpcf7 .wpcf7-email { text-align: center; } } \n            .downloadblock-wrapper {\n                color: #000000;\n                background-color: Array;\n            }\n            @media (min-width: 768px) {\n                .downloadblock-inner {\n                                    left: 0;\n                    text-align: left;\n                                }\n            }\n        <\/style>\n    \n\n","protected":false},"excerpt":{"rendered":"Indexing is important for Magento 2, as for all systems that process large amounts of &#8230;","protected":false},"author":47,"featured_media":29264,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,491,389,469,471],"tags":[],"class_list":["post-18077","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-magento","category-magento-2","category-magento2-development","category-magento2-tutorial","category-magento-developer","post_format-post-format-image"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Find out more about index management in Magento 2. Learn here about types of indexation, M2 components that perform indexing &amp; index commands\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Artsem Miklashevich\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#article\",\"name\":\"Perform Index Management In Magento 2 in 2025 | BelVG Blog\",\"headline\":\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\",\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/artsem-miklashevich#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/Magento-2-Index-Management-How-To-Update-and-Control-Via-Admin-Panel.webp\",\"width\":1108,\"height\":590},\"datePublished\":\"2020-07-01T14:07:45+02:00\",\"dateModified\":\"2026-05-08T16:18:04+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":4,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#webpage\"},\"articleSection\":\"Magento, Magento 2, Magento 2 Development, Magento 2 Tutorial, Magento Developer, Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"name\":\"Magento\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"position\":2,\"name\":\"Magento\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#listItem\",\"name\":\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#listItem\",\"position\":3,\"name\":\"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"name\":\"Magento\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/artsem-miklashevich#author\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/artsem-miklashevich\",\"name\":\"Artsem Miklashevich\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/145dc6a225439ebb3a257da8fd0f46383a3649cdca2e58190b33a28af5f216a5?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Artsem Miklashevich\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#webpage\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html\",\"name\":\"Perform Index Management In Magento 2 in 2025 | BelVG Blog\",\"description\":\"Find out more about index management in Magento 2. Learn here about types of indexation, M2 components that perform indexing & index commands\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/artsem-miklashevich#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/artsem-miklashevich#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/Magento-2-Index-Management-How-To-Update-and-Control-Via-Admin-Panel.webp\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html\\\/#mainImage\",\"width\":1108,\"height\":590},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/index-management-in-magento-2.html#mainImage\"},\"datePublished\":\"2020-07-01T14:07:45+02:00\",\"dateModified\":\"2026-05-08T16:18:04+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Perform Index Management In Magento 2 in 2025 | BelVG Blog","description":"Find out more about index management in Magento 2. Learn here about types of indexation, M2 components that perform indexing & index commands","canonical_url":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#article","name":"Perform Index Management In Magento 2 in 2025 | BelVG Blog","headline":"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel","author":{"@id":"https:\/\/belvg.com\/blog\/author\/artsem-miklashevich#author"},"publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2020\/07\/Magento-2-Index-Management-How-To-Update-and-Control-Via-Admin-Panel.webp","width":1108,"height":590},"datePublished":"2020-07-01T14:07:45+02:00","dateModified":"2026-05-08T16:18:04+02:00","inLanguage":"en-US","commentCount":4,"mainEntityOfPage":{"@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#webpage"},"isPartOf":{"@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#webpage"},"articleSection":"Magento, Magento 2, Magento 2 Development, Magento 2 Tutorial, Magento Developer, Image"},{"@type":"BreadcrumbList","@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/belvg.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","name":"Magento"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","position":2,"name":"Magento","item":"https:\/\/belvg.com\/blog\/category\/magento","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#listItem","name":"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel"},"previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#listItem","position":3,"name":"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel","previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","name":"Magento"}}]},{"@type":"Organization","@id":"https:\/\/belvg.com\/blog\/#organization","name":"BelVG Blog","description":"Magento and Prestashop articles","url":"https:\/\/belvg.com\/blog\/"},{"@type":"Person","@id":"https:\/\/belvg.com\/blog\/author\/artsem-miklashevich#author","url":"https:\/\/belvg.com\/blog\/author\/artsem-miklashevich","name":"Artsem Miklashevich","image":{"@type":"ImageObject","@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/145dc6a225439ebb3a257da8fd0f46383a3649cdca2e58190b33a28af5f216a5?s=96&d=mm&r=g","width":96,"height":96,"caption":"Artsem Miklashevich"}},{"@type":"WebPage","@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#webpage","url":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html","name":"Perform Index Management In Magento 2 in 2025 | BelVG Blog","description":"Find out more about index management in Magento 2. Learn here about types of indexation, M2 components that perform indexing & index commands","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/belvg.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#breadcrumblist"},"author":{"@id":"https:\/\/belvg.com\/blog\/author\/artsem-miklashevich#author"},"creator":{"@id":"https:\/\/belvg.com\/blog\/author\/artsem-miklashevich#author"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2020\/07\/Magento-2-Index-Management-How-To-Update-and-Control-Via-Admin-Panel.webp","@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html\/#mainImage","width":1108,"height":590},"primaryImageOfPage":{"@id":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html#mainImage"},"datePublished":"2020-07-01T14:07:45+02:00","dateModified":"2026-05-08T16:18:04+02:00"},{"@type":"WebSite","@id":"https:\/\/belvg.com\/blog\/#website","url":"https:\/\/belvg.com\/blog\/","name":"BelVG Blog","description":"Magento and Prestashop articles","inLanguage":"en-US","publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"}}]}},"aioseo_meta_data":{"post_id":"18077","title":"Perform Index Management In Magento 2 in 2025 | #site_title","description":"Find out more about index management in Magento 2. Learn here about types of indexation, M2 components that perform indexing &amp; index commands","keywords":null,"keyphrases":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-11-03 18:36:57","updated":"2026-11-03 18:36:57"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/category\/magento\" title=\"Magento\">Magento<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMagento 2 Index Management In 2026: How To Update and Control Via Admin Panel\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/belvg.com\/blog\/"},{"label":"Magento","link":"https:\/\/belvg.com\/blog\/category\/magento"},{"label":"Magento 2 Index Management In 2026: How To Update and Control Via Admin Panel","link":"https:\/\/belvg.com\/blog\/index-management-in-magento-2.html"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/18077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/comments?post=18077"}],"version-history":[{"count":16,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/18077\/revisions"}],"predecessor-version":[{"id":30559,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/18077\/revisions\/30559"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media\/29264"}],"wp:attachment":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media?parent=18077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/categories?post=18077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/tags?post=18077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}