Short description of issue
collection.next_product / collection.previous_product return unlisted products (inconsistent with collection.products)
Reproduction steps
- Create a collection and add three products: A, B, C (in that order).
- Set product B to the “Unlisted” status.
- View the collection page — product B is correctly hidden from the grid.
- Open product A within the collection context (/collections/{handle}/products/a).
- collection.next_product returns product B (the unlisted product) instead of product C.
Expected: collection.next_product / collection.previous_product skip unlisted products, matching how collection.products behaves.
Actual: they resolve to the unlisted product, linking shoppers straight to a product Shopify otherwise hides.
This doesn’t effect every theme only themse that offer a next or previous links on the product page.
Additional info
Posting as a theme developer — this likely affects many third-party themes.
Since the Unlisted product status rolled out, there’s an inconsistency in the collection Liquid objects:
- collection.products correctly EXCLUDES unlisted products.
- collection.next_product / collection.previous_product still RETURN them.
Many themes use these two objects for “previous / next product” navigation on the product page. Because they still resolve to unlisted products, clicking “Next” sends a shopper straight to a product Shopify otherwise hides.
There’s no Liquid flag for product status, so themes can’t detect and skip an unlisted product on their own.
Request: could next_product / previous_product skip unlisted products, matching collection.products? That would make the behavior consistent and fix this without theme changes.
What type of topic is this
Bug report
