Magento Products Not Showing in Category

Spread the love

After working with Magento for two years, sometimes, I still find I can be surprised by it.
Why a product is not showing on the category page, I don’t how many times I have been ask this question.
Below it is a workflow I summarized we can follow to do troubleshooting.

Magento Products Not Showing in Category

Only one specific product is not showing on the category page.

If on your Magento category page, only one specific product is now showing up, other products are fine. We should consider it is something with the product itself.

Let’s do a product configuration checklist:

1. Check if the product is enabled.

2. Check if the product Visibility is set to ‘Catalog, Search’ or ‘Catalog’.

3. Check if the Stock Availability in Inventory tab is set to ‘In Stock’.

4. In Inventory Tab, ‘Qty’ should > 0, if ‘Manage Stock’ is set to Yes. If ‘Manage Stock’ is set to No, then ‘Qty’ filed doesn’t matter.

5. In the Categories Tab, the product should be assigned to the target category.

6. If you have multiple store / storeview setup, make sure the correct website is checked in the Website tab.

7. Are you using Full Page Cache? If so, try flushing the Full Page Cache.

After going through the checklist above, clear all Magento cache, preform a re-index, and then check again.

One specific category page is empty with no product, other categories load products with no issue.

First, still do the check list above, just in case all the products in the category have been misconfigured.

But be noticed, in Magento, if you go to a category page where there is 0 products assigned, you are likely to see a message like “There are no products matching the selection.”, see the screenshot below.

If you are not seeing this message, make sure the empty category page is a ‘real category page’, you are not being redirected to an empty CMS pages or anywhere else.

Also, check the ‘Display Mode’ of the category. Magento will only render the product list/grid on the category page if you select ‘Products only’ or ‘Static block and products’.

Clear Magento cache, and re-index.

All Category pages are empty, no product is showing on any category page.

In this case, you probably want to test if you can reach product detail pages.

If Product Pages cannot be reached.

This tells that Magento didn’t not find any products at all.
First of all, let’s still go through the product configuration checklist above. Sometimes, people import all products at once using csv file or other import tools, they may misconfigure some fields for all products.

After making sure product data is correct. we can now say, most likely it is an issue caused by multi-store/store view environment.
Go to System –> Manage Stores, click the store you are configuring(not website, not store view either). Please check whether your products are under the ‘Root Category’ here.

You should also try the below procedure:
Go to product grid at back-end, select all products, and then use the bulk update function at upper right. Set the Website again for all products. This is because sometimes people found product-website association is broken after they renamed their store or store view.

Clear Magento cache,and re-index, same.

If Product Pages can be reached, but no products on category page.

If you have reached here, and the issue is still not fixed, No worries. From my experience, there should be some errors in coding. First check product not showing is not caused by any CSS problems on your category page.
More likely, check if there is any error in the Catalog module, or if any 3rd-party extension overrides Catalog Module poorly.

Some possible overrides to cause the issue:

Catalog/Block/Product/List.php

Search the function getLoadedProductCollection  among all 3rd part modules for possible overrides.

Also the template files:

Catalog/Product/list.phtml
Catalog/Category/view.phtml

I hope your problem can be solved after reading this post.

 

Leave a Reply

Your email address will not be published. Required fields are marked *