Skip to content

Known Issues & Gotchas

Common problems and workarounds for configurable products

3 Critical 4 Major 2 Minor

Issue Summary

3
Critical
4
Major
2
Minor
9
Total Issues

Critical Issues

Price Index Not Updated After Child Price Change

Critical

Affected Code

Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\Configurable

Description

When a simple child product's price is updated directly (via API or import), the parent configurable product's price index may not be automatically updated. This causes the frontend to display stale prices.

Workaround

1. Run price reindex after child updates:

bin/magento indexer:reindex catalog_product_price

2. Or programmatically trigger reindex for parent:

$parentIds = $configurable->getParentIdsByChild($childId);
$indexer->reindexList($parentIds);

Tags

price indexer import

Out-of-Stock Children Still Selectable in Frontend

Critical

Affected Code

Magento\ConfigurableProduct\Block\Product\View\Type\Configurable::getAllowProducts()

Description

In certain scenarios (caching, stock index lag), out-of-stock child products may appear as selectable options on the product page. When selected and added to cart, the customer receives an error.

Workaround

1. Ensure stock indexer runs after stock changes:

bin/magento indexer:reindex cataloginventory_stock

2. Configure "Display Out of Stock Products" = No in admin

3. Clear FPC after stock updates:

bin/magento cache:clean full_page

Tags

stock cache frontend

Super Link Orphans After Child Deletion

Critical

Affected Code

catalog_product_super_link table

Description

When deleting simple products that are children of configurables, the super_link records may not be properly cleaned up in all scenarios, especially during bulk operations or API deletions. This can cause errors when loading the configurable product.

Workaround

Clean orphan records manually:

DELETE sl FROM catalog_product_super_link sl
LEFT JOIN catalog_product_entity e ON sl.product_id = e.entity_id
WHERE e.entity_id IS NULL;

Or use Magento's data:repair CLI tool in newer versions.

Tags

data-integrity delete orphan

Major Issues

Slow Product Page Load with Many Children

Major

Description

Configurable products with 100+ children can significantly slow down PDP load times due to the large JSON config generated for the swatch/dropdown JavaScript.

Workaround

  • Use AJAX-based option loading for large configurables
  • Implement option preselection to reduce initial payload
  • Consider splitting very large configurables into multiple products

Tags

performance frontend

Tier Pricing Not Displayed Correctly

Major

Description

When child products have different tier prices, the configurable product page may not correctly reflect the tier pricing until a specific option is selected. The "As low as" price calculation doesn't account for tier pricing properly.

Workaround

  • Apply consistent tier pricing across all children
  • Use JavaScript to update tier price display on option selection
  • Consider catalog price rules instead of tier pricing

Tags

pricing tier-price

Swatch Images Not Updating in Gallery

Major

Description

When selecting a swatch option, the product gallery should update to show the child product's images. This feature can break due to JavaScript errors, missing image configuration, or caching issues.

Workaround

  • Ensure child products have images assigned
  • Clear cache and regenerate static content
  • Check browser console for JS errors
  • Verify gallery update setting in admin: Stores > Configuration > Catalog > Product Image Placeholders

Tags

swatch gallery javascript

Cart Item Merging Issues

Major

Description

When adding the same configurable product with identical options to cart multiple times, items don't always merge correctly. Custom options, qty updates, or plugin interference can cause duplicate line items.

Workaround

  • Check for plugins interfering with representProduct()
  • Ensure custom options are compared correctly
  • Verify quote item comparison logic in custom modules

Tags

cart quote merge

Minor Issues

Super Attribute Label Store Scope

Minor

Description

The admin interface for editing super attribute labels per store view can be confusing. Changes may not save correctly if "Use Default" checkboxes are not properly managed.

Workaround

Always uncheck "Use Default" before editing store-specific labels. Verify changes by checking the catalog_product_super_attribute_label table.

Import Creates Duplicate Super Attributes

Minor

Description

Re-importing configurable products can sometimes create duplicate entries in catalog_product_super_attribute if the import file format is inconsistent.

Workaround

Use "Replace" behavior instead of "Add/Update" when reimporting configurables. Clean duplicates with:

DELETE t1 FROM catalog_product_super_attribute t1
INNER JOIN catalog_product_super_attribute t2
WHERE t1.product_super_attribute_id > t2.product_super_attribute_id
  AND t1.product_id = t2.product_id
  AND t1.attribute_id = t2.attribute_id;

Best Practices

Recommended commands and queries for maintaining configurable product health:

# Always reindex after bulk operations
bin/magento indexer:reindex catalog_product_price cataloginventory_stock

# Clear relevant caches
bin/magento cache:clean full_page block_html

# Validate data integrity periodically
SELECT COUNT(*) FROM catalog_product_super_link sl
LEFT JOIN catalog_product_entity e ON sl.product_id = e.entity_id
WHERE e.entity_id IS NULL;

# Monitor performance with
bin/magento dev:query-log:enable