UPDATE: Reader David has translated this post into Spanish on his blog, Magento Rules. Check it out here.
As you set up your Magento store, you may notice that some of your products do not appear in the catalog in the way you think they will. Magento uses several product attributes to decide where and whether to display a product, and until you get used to the nuances of Magento’s catalog you may find yourself banging your head against the wall trying to figure out why your products don’t show up. Read on for the information you need to figure out why your products won’t show up and how to fix them.
If you find yourself having trouble remembering or finding these items, I’ve also created an extension that will add a tab to your product edit form which will tell you which of these checks you are passing or failing.
1. Status
In the General tab, set your product to “Enabled” status. This status allows you to turn off a product in all parts of the store — including configurable products and bundles — at once.
Still in the General tab, make sure that the product is set either to “Catalog, Search” or “Catalog”. This will determine whether the product can be viewed in the catalog at all.
In the Inventory tab, set the quantity on your product to some acceptable number to mark that you have some of the product to sell. This is the first tricky parameter, because your configuration has some say in what that number is. Firstly, if you set yourself configuration to allow backorders, any number should do here. If not, you will need to have more than the minimum cart quantity in stock.
If you set your product not to track stock, surprisingly, you will need to set the quantity anyway. To do so, mark the product as tracking stock to display the field, mark a quantity of one or greater, then mark the product as not tracking stock again.
Again in the Inventory tab, set the product to be “In Stock”. This will allow the product to be salable from the catalog.
As with Qty, this field will need to be set regardless of whether you choose to track stock.
This won’t hide your product from the catalog by itself, but it will determine which other parameters determine that visibility. If you don’t intend to track stock, go ahead and mark this to “No”.
If you do set this parameter to “No”, see the notes above on Qty and Stock Availability to set them correctly for this option.
This may seem obvious, but make sure that the product belongs to the category that you’re looking for it in. Head to the Categories tab and check any categories that this product belongs in.
If you are running only a single website, you may not even see this tab on the left. Even if you don’t see it, though, Magento will check to make sure that the product has been added to a website properly.
If you are running in multi-site mode, mark the product as being a part of your website. If not, don’t worry about this right now, but know that a poor product import may cause this data to be silently absent.
For bundle and configurable products, your products may not show in the catalog if there are not enough valid child products to let the user purchase the product. Take a look at the child products that make up this project and make sure that they are set up and purchasable as well.
If you’ve saved your product with everything configured properly as above, but you still cannot see or purchase your product in the catalog, try refreshing your cache and indexes.

Wow, good job! Thanks
Thanks for such a thorough post on a seemingly simple problem! Keep it up!
Hi,
I have a subcategory and i exported all products. Then I added some new products to the csv, deleted the old ones and re-imported the file.
As the products are downloadables I have added a row and uploaded my files. Have done that several times in the past, but this time products are not going to appear in the frontend.
I followed all your steps. Except visibility, because I would like to present than in grouped view only. Anyway, when I set visibility to Search and/or Catalog the are shown individually. But, still those products can not be shown in the grouped view.
Of course I have reindexed and cleared all available cache. I also tried to delete the contents of the cache and session folder manually…Also no success..
Do you have any idea?
It’s unlikely to be an issue with cache on this one. Have you been able to add a downloadable to a grouped product in the past? Downloadables aren’t my forte, but generally if a product isn’t viewable in a grouped product type it’s either because of required options, an inappropriate product type or that it wouldn’t be visible otherwise (e.g. no stock, disabled).
hi Joseph,
I’ve translated this post into spanish in my blog: http://www.dowhiletrue.net/blog/index.php/magento/razones-porque-no-aparecen-productos?redir=no
As you can see in the screenshot, I’ve translated the extension into spanish: let me know if you’d be interested in having it so you can propose it for sale. Also, I could translate it into french, this is not much work.
Oh, and thanks for this list and extension, it’s very usefull!
waiting to read more from you :)
Hi, This worked for me thanks – Basically a schoolboy error – As per point 7 above, have a multistore website and did not have the products assigned to the new website.
The problem I now have is I have hundreds if not thousands of products I want to add to this new URL/website – Is there a way of assigning these quickly without having to go to every product and clicking on the new website checkbox. – (Im guessing your are going to say dataflow import and 1.4.1 is having huge problems wth this :) )
thanks in advance.
Fantastic, thank you so much! Some of these checks do seem a little stupid at first, but I guess you get used to it.
And to think i thought it would be enough to make it enabled and visible in the catalog!
Does it work with 1.4? Versioning isn’t mentioned on the store page.
Hi Sean,
Can you elaborate on what you mean by versioning?