Indexer Optimizer

v1.0.14 Annual Subscription Updated Jun 5, 2026

Indexer Optimizer

Divisez par 3 le temps de réindexation de vos catalogues volumineux avec des indexers optimisés, une progress bar temps-réel et une vérification des dépendances.
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
€99.00
Try the live demo
  • Updates and support included for 12 months
  • License key delivered immediately by email
  • 30-day money-back guarantee
  • Full documentation included
  • Composer-ready installation

Indexer Optimization

Cut Magento reindex times on large catalogs from hours to minutes. This module intercepts the native Magento indexers (price, EAV, category-product, catalog rule, stock, fulltext) with optimized batch routines and configurable batch sizes, runs them in the correct dependency order, and skips redundant work — for example when catalog_category_product and catalog_product_category would otherwise rebuild the same shared table twice.

A single CLI command, bin/magento wimakeit:indexer:reindex-all, replaces the usual sequence of indexer:reindex calls. It shows a real-time progress bar, runs every indexer in the right order, and exposes a --skip-fulltext flag for stores that delegate search to Meilisearch or a separate worker.

Who it's for

  • Merchants with large catalogs (10k+ SKUs, bundle products, or many customer groups) where native reindex is painfully slow
  • Stores running an ERP-driven import where partial or full reindex is triggered multiple times per day
  • Stores running Meilisearch or OpenSearch as the search engine, where catalog indexers must run but fulltext is handled separately
  • DevOps teams that want a single, scriptable reindex command for deploys and cron

Key benefits

  • One command to reindex everythingwimakeit:indexer:reindex-all runs all catalog indexers in dependency order with a global progress bar and per-indexer timing summary.
  • Configurable batch sizes — tune price, EAV, category-product, catalog rule, bundle, and stock batch sizes from the admin to match your server's memory and database profile.
  • Per-indexer toggles — keep the native Magento indexer for any specific index you don't want to override; the optimizer is opt-out per index.
  • Skips redundant reindexcatalog_category_product and catalog_product_category share a table; when one is already valid, the other is skipped. Saves minutes on every deploy.
  • Dependency-checked fulltext — before catalogsearch_fulltext runs, the module verifies that prerequisite indexers are valid and reindexes them if needed.
  • OPTIMIZE TABLE after full reindex — optional MySQL table optimization reclaims space and defragments index tables after large reindex jobs.
  • Stale indexer detector — hourly cron logs a warning to system.log if an indexer has been stuck in "invalid" state longer than the configured threshold.

Compatibility

  • Magento 2.4.x / Mage-OS equivalent
  • PHP 8.1, 8.2, 8.3
  • Requires wimakeit/module-core 3.0.9 or later
  • Works alongside wimakeit/module-meilisearch-engine (use --skip-fulltext and let Meilisearch handle search)
  • Compatible with native MySQL search and OpenSearch

Install this module via Composer. Make sure your auth.json is configured with your Wimakeit credentials.

Terminal
$ composer require wimakeit/module-indexer:^1.0.14
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

Installation notes

The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.

Prerequisites

The price indexer must run in dimension mode none. The optimized routines write to the base catalog_product_index_price table with a website_id column; the dimensional modes (website, customer_group, website_and_customer_group) create per-dimension tables (_ws0, _cg0, ...) that this module does not populate. The price plugin transparently falls back to Magento's native indexer when dimension mode is anything other than none, and wimakeit:indexer:fast-reindex aborts with an explicit error.

Verify and configure:

bin/magento indexer:show-dimensions-mode catalog_product_price
bin/magento indexer:set-dimensions-mode catalog_product_price none
bin/magento indexer:reindex catalog_product_price
bin/magento cache:flush

Required dependency

This module requires wimakeit/module-core 3.0.9 or later. Composer will pull it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.

ACL permissions

After installation, one ACL resource is registered under System → Permissions → User Roles:

ResourceDefault
Wimakeit_Indexer::config (edit module configuration)granted to Administrator role only

Configuration

The module ships with safe production defaults. Go to Stores → Configuration → Catalog → Catalog → Wimakeit Indexer Optimization only if you want to change them.

General

SettingDefault
Enable Optimized IndexersYes
Enable Performance LoggingNo — turn on temporarily to measure batches
Enable Table OptimizationYes (runs OPTIMIZE TABLE after full reindex)
Stale Indexer Threshold (hours)4

Per-indexer toggles

SettingDefault
Enable Price OptimizerYes
Enable EAV OptimizerYes
Enable Category OptimizerYes
Enable Catalog Rule OptimizerYes
Enable Stock OptimizerYes

Batch sizes

SettingDefault
Price Indexer Batch Size1000 (recommended 500–2000)
Bundle Price Batch Size2000 (recommended 500–2000)
Category-Product Batch Size5000
EAV Indexer Batch Size5000
Catalog Rule Batch Size5000
Stock Indexer Batch Size5000

CLI commands

# Reindex all catalog indexers in dependency order, with progress bar
bin/magento wimakeit:indexer:reindex-all

# Skip fulltext (when Meilisearch handles search)
bin/magento wimakeit:indexer:reindex-all --skip-fulltext

# Without progress bar (cron/scripts)
bin/magento wimakeit:indexer:reindex-all --no-progress

# Detailed indexer status
bin/magento wimakeit:indexer:status --detailed

# Category-product reindex (full or per-id)
bin/magento wimakeit:indexer:category-product --full
bin/magento wimakeit:indexer:category-product --product-ids=123,456

# Fast bundle-price reindex
bin/magento wimakeit:indexer:fast-reindex

Cron jobs (registered automatically)

JobSchedule
wimakeit_indexer_stale_detector (warn if indexer stuck invalid)hourly

No setup needed — just make sure Magento cron is running.

Version
v1.0.14
License
Annual Subscription
Support
12 months
Last updated
Jun 5, 2026
Magento
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
PHP
PHP 8.1 PHP 8.2 PHP 8.3
Hyvä
Not compatible
Package
wimakeit/module-indexer

Compatibility checker

Pick your stack to see if this module fits.

Compatibility 4

Yes. Indexer Optimizer is tested against Magento Open Source 2.4.4 → 2.4.7, Adobe Commerce on the same line, and Mage-OS 2.0+ — on PHP 8.1, 8.2 and 8.3. The Specifications tab lists the exact tested combinations. If your stack is in the list, we guarantee a clean install. Wimakeit is an Adobe-certified Magento agency based in Presles (Charleroi / Namur region), Wallonia, Belgium and runs every module against the same matrix we ship to enterprise clients across Belgium, France and the Netherlands.
Indexer Optimizer targets the classic Magento / Luma stack today. A dedicated Hyvä companion may exist as a separate package — check the Wimakeit modules catalogue or contact our Wallonian office (Presles) for a custom Hyvä port.
Hyvä Storefront (Tailwind + Alpine.js, server-rendered) and Hyvä Checkout (React-based, headless on top of Magento) are two distinct packages. Indexer Optimizer ships native Hyvä Storefront compatibility — its frontend is rendered through Hyvä templates with no Luma fallback. Hyvä Checkout integration is delivered when the module has a checkout-step touchpoint (custom payment input, terms checkbox, etc.); otherwise the module runs server-side without any Hyvä Checkout customisation needed. See the Specifications tab for the exact Hyvä integration scope of this module.
Yes. Indexer Optimizer respects the standard Magento scope (default / website / store / store_view). Every configuration is overridable per store view. Frontend labels use Magento's standard translation files — shipped in French, English and Dutch out of the box. Currencies follow your Magento currency setup with no extra wiring. A typical Wimakeit Magento store runs an fr_BE / nl_BE / en_GB triplet from a single backend — Indexer Optimizer is ready for this B2B / international setup.

Pricing & licensing 4

€99 — one-time payment, perpetual licence, no recurring fees. Includes 1 year of minor updates + email support in French, English and Dutch, 1 production domain + 1 staging/dev domain. Renewing the support window after year 1 is optional. Volume licences are negotiated directly — write to contact@wimakeit.com for agency or multi-store pricing.
Yes. Indexer Optimizer has a live demo on demo.wimakeit.be/module-indexer where you can poke around the admin and frontend with a real install pre-populated with sample data. For longer evaluations, request an evaluation licence via our contact form — evaluations cover the same scope as the paid licence and convert to a permanent key on purchase.
We review refund requests case by case. If the module doesn't deliver what was advertised, email contact@wimakeit.com from the address tied to your licence. The refund policy is published on the terms page and applies to every module sold through this marketplace.
Indexer Optimizer is distributed under a commercial proprietary licence — not MIT, GPL or any other open-source licence. The PHP source ships in vendor/wimakeit/ once you composer require the package, so you can read it, audit it, and patch it locally for your own Magento install. You may NOT redistribute it, sublicense it, publish it on a public package registry, or sell it on. One licence = one production domain + one staging/dev domain (see terms for the full EULA). Wimakeit modules are NOT part of Magento's open-source repository on packagist.org — they are distributed exclusively via the private Composer registry packages.wimakeit.be.

Installation & updates 6

Run composer require wimakeit/module-indexer:^1.0.11, then bin/magento setup:upgrade, bin/magento setup:di:compile, and finally bin/magento cache:flush. The Installation tab on this page lists every configuration step (ACLs, cron jobs, default values) so a deploy takes minutes, not hours. If you need a hand, Wimakeit offers Magento installation services from our Wallonian office (Presles, between Charleroi and Namur).
Step 1: get a token on packages.wimakeit.be → My account → Tokens. Step 2: at the root of your project add to auth.json: {"http-basic": {"packages.wimakeit.be": {"username": "YOUR-EMAIL", "password": "YOUR-TOKEN"}}}. Step 3: register the repo: composer config repositories.wimakeit composer https://packages.wimakeit.be. Step 4: composer require wimakeit/module-indexer:^1.0.11. In CI/CD pipelines, inject COMPOSER_AUTH as a JSON env var instead of committing auth.json.
Most merchants are live within 30 minutes: composer install (1-2 min) → setup:upgrade + di:compile (5-10 min depending on stack size) → admin configuration (5-15 min following the Installation tab) → smoke test on a product or order. Allow extra time if you have a custom theme overriding similar templates. The Wimakeit team has shipped this exact module to B2B and DTC stores across Belgium.
Indexer Optimizer is built for Magento 2.4.x / Mage-OS 2.0+ and has no Magento 1 equivalent. When migrating from Magento 1, the Wimakeit team handles the audit, the data migration and the integration of Indexer Optimizer into the new backend as part of a Magento migration project. Migrating from Adobe Commerce to Mage-OS is transparent for Indexer Optimizer: same composer require, same module code, same database schema — no fork to maintain, no licence change.
Updates ship through your composer dependency (this exact package), hosted on Wimakeit's private Composer repository at packages.wimakeit.be. Each release is announced on the Changelog tab + the Wimakeit news and follows semantic versioning — composer update is safe within a major.
All .phtml templates are overridable from your theme: copy the file into app/design/frontend/{YourVendor}/{theme}/Wimakeit_{Module}/templates/ keeping the same relative path. Blocks, ViewModels and Helpers are overridable via DI preference in your own custom module — declare <preference for="Wimakeit\…\OriginalClass" type="YourVendor\Override\Class" /> in etc/di.xml. Layout XML is extended (preferred) or overridden the standard Magento way. Wimakeit modules never use the final keyword on classes you might reasonably want to override — overriding is a first-class scenario, not a hack.

Support & security 3

Open a ticket through the contact form on wimakeit.be or email contact@wimakeit.com with the module name, version, Magento/Mage-OS version and the steps to reproduce. Fixes ship in the next patch release. Wimakeit support is staffed in French, English and Dutch on business days (CET working hours).
Send security reports privately to contact@wimakeit.com with a clear [SECURITY] subject prefix — please include the module name, version and the steps to reproduce. We acknowledge promptly on business days and credit reporters in the Changelog if they wish. Wimakeit is a Belgian SRL (société à responsabilité limitée) bound by Belgian and EU privacy and disclosure law.
Yes. Indexer Optimizer stores only the data its feature scope requires, never tracks shoppers across sites, and ships zero third-party calls by default. Combine it with the Wimakeit GDPR module to publish cookie banners and data-subject request forms compliant with Belgian, French and Dutch DPA guidance. Wimakeit's EU-based hosting partners (OVH Roubaix / Gravelines, Cblue Gembloux) keep every customer's data inside the EU.

About Wimakeit 1

Wimakeit is an Adobe-certified Magento partner agency based in Presles, Wallonia (between Charleroi and Namur), Belgium, building Magento and Mage-OS stores since 2020 across BE / FR / NL. Every module on this marketplace runs in production on at least one Wimakeit client (we eat our own dog food). Direct line to the developers who built the code, multilingual support (FR / EN / NL), CET business hours, no offshore handoff. See our portfolio for the kind of Magento builds we ship.

Found something not covered by the FAQ?

Report a bug or ask a question — the form is prefilled with this module.

Report a bug

Changelog

Categories: Security, Feature, Fix, Perf, Admin, Deps.

[1.0.12] - 2026-06-02

Fix

  • Price plugin now falls back to Magento's native indexer when the price indexer dimension mode is not none, instead of silently leaving the per-dimension tables (_ws0, _cg0, ...) stale and causing 1146 "table doesn't exist" errors on bundle product saves.
  • wimakeit:indexer:fast-reindex aborts with a clear error and the exact indexer:set-dimensions-mode fix command when dimension mode is not none.

[1.0.11] - 2026-05-10

Admin

  • Enable Debug Logging now defaults to off on fresh installs, matching the convention adopted across every Wimakeit module after the core 3.0.9 rollout. Existing deployments with the value explicitly saved are not affected.

Perf

  • Fresh deploys no longer write ~100+ info/debug/warning traces per indexer run into var/log/system.log. Hard errors still log unconditionally.

[1.0.10] - 2026-05-10

Feature

  • New Enable Logging toggle (Stores → Configuration → Catalog → Wimakeit Indexer → Logging). Four logger consumers (fulltext indexer plugin, stock indexer plugin, product-category plugin, optimized stock indexer) emit info/debug/notice/warning only when the toggle is on; error/critical always log.

Deps

  • Requires wimakeit/module-core 3.0.9+ for the shared debug logger virtual type.

[1.0.9] - 2026-05-08

Admin

  • Admin menu group standardized — module appears under a top-level Wimakeit_Indexer entry with a Settings child that opens directly on the native catalog configuration where the Wimakeit Indexer group lives.

Deps

  • Certified PHP 8.1 → 8.3 support. Composer php constraint tightened to >=8.1 <8.4.

[1.0.8] - 2026-04-29

Admin

  • Internal release pipeline standardized (validate, tag, deploy, release stages). No functional change for merchants.

[1.0.7] - 2026-04-07

Deps

  • Depends on wimakeit/module-core for shared CLI and config abstractions.

[1.0.6] - 2026-03-17

Admin

  • CLI commands and config readers refactored to extend the shared abstractions provided by wimakeit/module-core 3.0 — consistent logging and option handling across all Wimakeit CLI commands.

[1.0.5] - 2026-03-12

Fix

  • wimakeit/module-core composer dependency now points to the published package (wimakeit/module-core) instead of the legacy nested path that broke composer install on stores that bypassed the GitLab registry.

[1.0.4] - 2026-03-12

Fix

  • Indexer table-clear step now uses the context-aware clearTable utility — safer when an indexer runs against a custom store scope or a partial dataset.

[1.0.3] - 2026-02-27

Admin

  • New wimakeit:indexer:status and wimakeit:indexer:bundle-prices CLI commands stabilized; admin tab definition consolidated under the shared Wimakeit_Core admin section.

[1.0.2] - 2025-12-18

Fix

  • Added stock and catalogrule coverage to the optimized indexer plugins. Saving a product or price rule now triggers the optimized partial reindex path instead of falling back to a full reindex.

[1.0.1] - 2025-12-15

Admin

  • Initial post-launch hotfix release — pipeline and package-name corrections so the module installs cleanly from the Wimakeit GitLab Composer Registry.

[1.0.0] - 2024-12-15

Feature

  • Initial release with optimized bundle price indexer (BundlePriceOptimized) and EAV attribute indexer (EavOptimized).
  • Delta indexing plugin to reduce work on incremental reindex.
  • Auto-adjusted batch sizes for large catalogs.
  • New CLI commands wimakeit:indexer:fast-reindex, wimakeit:indexer:status, wimakeit:indexer:bundle-prices.

Admin

  • New admin panel under Stores → Configuration → Catalog → Catalog → Wimakeit Indexer Optimization to tune batch sizes and toggle per-indexer optimizers.

Found a bug? Tell us about it.

A short form opens in a new tab — the module name and your language are already filled in. Share what you tried, what went wrong, and we will get back to you within one business day.

Report a bug for Indexer Optimizer
Module SKU: wimakeit-module-indexer · Language: en_US

Need help?

Our team is available to assist with integration.

Contact us
Planifier un appel