I'm a total n00b at Magento, and I need to hide sold products from the inner (i.e. Magento's built-in) search engine. BUT I don't want to hide them regarding Google searches.

This means: the url for the product should still be indexable by Google, but should not be returned by the Magento inner / in-site search.

Question: Is there a way to filter the Magento search engine, so the already-sold products are not returned?


You can edit the products you want and set the visibility field to Catalog instead of Catalog & Search.

Also remove them from any category. This way a customer won't be able to see the product while navigating through the website (search or through the categories). But if you access the product url directly you will be able to see the product.

And don't forget to set them out of stock.

  • Is there a way to, based on certain fields, set the visibility to catalog-only? (e.g. if the product is sold, it will not be shown in the Search; for this purposes, each product has only one unit, so "sold" and "out of stock" is the same for me). – Luis Masuelli Mar 28 '14 at 15:28
  • 1
    @LuisMasuelli. By default it's not possible. But you can add an observer that is triggered when the product is set out of stock and changes it's visibility. I don't know what event you can use for that – Marius Mar 28 '14 at 15:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.