FAQ
General Questions
Section titled “General Questions”How are recommendations generated?
The module builds a co-purchase index from WooCommerce orders in processing and completed status.
Recommendations are based on products that appear together in orders.
Does it work with variable products?
Yes. Variable products are supported.
For scoring, variations are normalized to the parent variable product. In the frontend FBT block, variable products are shown as links (choose options on product page).
Does it support bundles / composite products?
Partially (recommended safely). The module can recommend these products, but indexing is based on parent line items only (child/component rows are ignored).
Can I override automatic recommendations for a specific product?
Yes. Use the product tab Frequently Bought Together and choose:
AutomaticReplace automaticMerge manual + automatic
Can I place the block in multiple places?
Yes. Use the Display locations multi-select and choose multiple WooCommerce hooks.
Is there a shortcode?
Yes.
[sales_booster_extras_frequently_bought_together]When used outside a product context, pass product_id.
Performance / Indexing
Section titled “Performance / Indexing”Will this work on large stores (e.g. 50k products)?
Yes, if you use the built-in indexed storage and backfill tools.
The module stores only observed co-purchase pairs (sparse index), not a full product-to-product matrix.
Why does the table contain fewer rows than the number of pair directions?
The index stores one row per pair (undirected pair), not both A→B and B→A.
This reduces table size roughly by half.
How do I rebuild the index after changing logic?
Use either:
- Index tools → Rebuild and backfill (admin UI)
- or WP-CLI:
wp fbt rebuild --batch-size=300What if backfill is too slow?
Reduce Backfill batch size (for example to 50 or 100) and run again.
Frontend Display
Section titled “Frontend Display”What is the difference between Server and AJAX render mode?
- Server: block HTML is rendered during page generation
- AJAX: placeholder is rendered, then HTML is loaded via REST API after page load
AJAX mode is often better for cached stores.
Can I use WooCommerce loop cards instead of the minimal list?
Yes. Set Template → WooCommerce product loop.
Can I show a slider with dots and arrows?
Yes. Set:
- Display type → Slider
- enable Show slider dots
- enable Show slider arrows
Why are some products not shown in the recommendations?
The module filters out unsupported/unwanted results such as:
externalproductsgroupedproducts- unpublished products