FiboFilters uses its own tables in databases. Processed data is stored so that filtering can be performed quickly and accurately. Processing data and storing it in tables is called indexing.

Table of Contents
- When will the index be rebuilt completely?
- When will the index be rebuilt partially?
- WP-CLI Commands
- Indexing programmatically using WordPress hooks
- Scheduling indexing
- Good practices with import tools
When will the index be rebuilt completely?
- after the first plugin installation
- after every plugin update
- after changing some settings
- after clicking the button “Rebuild index”
When will the index be rebuilt partially?
- after adding/deleting/updating product data, including variations and custom fields
- after adding/deleting/updating a taxonomy term, including the product category, tag, attribute, and custom taxonomy term
- after changing a product stock status after a new WooCommerce order is placed
The indexer listens for changes on the following hooks:
save_post
deleted_post
edited_term
created_term
delete_term
When a product or term is added, deleted or updated, the FiboFilters’ background product updater will update the filter index for the given product or term.
WP-CLI Commands
The index which stores all data necessary for the filtering process can be managed via WP-CLI commands. Below you can find all the available commands:
# Rebuilding the entire index wp fibofilters index build [--show-logs] [--disable-parallel] # Update or delete the indicated product in the index # <id>: One or more IDs of product to update in index (comma-separated) wp fibofilters index delete <id> wp fibofilters index update <id> # Other commands wp fibofilters index get-info status wp fibofilters index show-logs
Indexing programmatically using WordPress hooks
// Rebuilding the entire index. Use in later hook than plugins_loaded priority 15 do_action( 'fibofilters/indexer/build' ); // Update or delete the indicated products in the index // WARNING: These actions should be called later than init hook with priority 11 do_action( 'fibofilters/indexer/update_single', $product_id ); do_action( 'fibofilters/indexer/delete_single', $product_id );
ⓘLearn how to add this snippet to your WordPress.
Scheduling indexing
You can set a Scheduler in the plugin settings. Go to WooCommerce → FiboFilters → Indexer → Scheduling indexing. By turning this option on, you can set up automatic index rebuilds with a custom frequency and timing, for example, “Every day at 3 AM”, or “Every Sunday at 5 AM”.

Bear in mind that frequent index rebuilding is not recommended – FiboFilters constantly works in the background to update affected index parts. Every status update, such as “in stock” vs “out-of-stock” after an item was bought, will be automatically updated in the index. When is rebuild scheduling beneficial, then?
- When you want to edit many products at the same time, for example with the “bulk edit” option. There is a certain risk of clogging the WordPress in-built “Action scheduler”, and some of the data might get lost.
- When you import products on a regular basis. We recommend you rebuild the index after every import.
- When your page has lots of traffic, resulting in heavy fluctuation of stock status. In this case, there’s a similar risk of clogging the “Action scheduler”.
- When your WooCommerce doesn’t work correctly according to Site Health. Pay close attention to these errors:
- “Your site could not complete a loopback request”
- “A scheduled event is late”
- “A scheduled event has failed”
- Anytime you notice a discrepancy between the index content and your stock current state
Good practices with import tools
When importing products into your store using import tools, it’s important to consider the impact of the background product updater described above. The updater, which maintains the filter index, runs after each product import and can significantly slow down the overall import process.
To improve performance during product imports, we recommend temporarily disabling the background product updater. Once the import is complete, you need to manually rebuild the index in WooCommerce
> FiboFilters
> Indexer
.
Use the following code to disable and re-enable the updater:
add_filter( 'fibofilters/indexer/updater/enabled', '__return_false' ); /* Run the import */ add_filter( 'fibofilters/indexer/updater/enabled', '__return_true' );
ⓘLearn how to add this snippet to your WordPress.
If you’re using WP All Import, you can hook into the import process as shown below:
add_action( 'pmxi_before_post_import', function () { global $fibofilters_disable_updater; if ( empty( $fibofilters_disable_updater ) ) { add_filter( 'fibofilters/indexer/updater/enabled', '__return_false' ); $fibofilters_disable_updater = true; } } );
ⓘLearn how to add this snippet to your WordPress.