# What Is a Shopify Collection and How Does It Work?

> What a Shopify collection is, how the new 2026 model changes it (sources, conditions, variants), what its page publishes and how to check it.

URL: https://clione.ai/glossary/shopify-collection/
Lang: en

In Shopify, a collection does not mean a season or a fashion line, although it can be one: it is the piece a store uses to group products and publish them together. Shopify presents collections as the way customers discover products by category, by theme or by intent, and each one can be shown in the store as a page with a gallery of its products, linked from the menus.[^shopify-collections] For a store, **the collection is its [category page](/glossary/category-page/)**: the page that can answer a generic search and the path by which people reach each [product page](/glossary/product-page/). What makes a category page good has an entry of its own; what is specific to Shopify is how it decides which products get in and what the page publishes.

## How it works

**Which products get in.** Shopify's classic model had two kinds of collection: manual, where you pick products one by one, and automated (a _smart collection_), which includes on its own the products that meet a set of conditions.[^shopify-smart-legacy] Shopify is replacing that model with a new one: when it reaches your admin, it converts the collections you already had automatically, and it is available from the Basic plan.[^shopify-collections]

In the new model, a collection fills up in four ways that can be combined: adding products or variants automatically with inclusion conditions, adding them by hand, removing them automatically with exclusion conditions and removing them by hand. **A collection can take products from several sources at once**, including other collections. Shopify gives the example of a tea accessories collection that gathers the teapot, strainer and infuser collections.[^shopify-collections]

Conditions can look at the product or variant title, the type, the vendor, the product category in Shopify's [product taxonomy](/glossary/product-taxonomy/), the tags, the status, the price, the compare-at price, the weight, the inventory and the values of [metafields](/glossary/shopify-metafields/) that have a definition. They are combined with "all conditions" or "any condition," and a collection allows **a maximum of 60 conditions**. Only four work for exclusion: category, tag, type and vendor.[^shopify-conditions]

**The API change.** For anyone working with apps or integrations, the change arrived with version 2026-07 of the GraphQL Admin API, announced on June 17, 2026: each collection's single set of rules (`ruleSet`) gives way to a list of sources (`sources`), which can be conditions or subcollections. Collections that use the new features do not appear in queries made with earlier API versions.[^shopify-changelog] **An app that reads collections with an old version may not see all of them.** The developer guide adds a third kind, shared sources, often from an app, which are reused across many collections, and sets the limits: up to 10 sources per collection, 100,000 collections per store and 100 variant-level collections.[^shopify-new-model]

**Variant collections.** A conditions source can be evaluated variant by variant instead of product by product. In the store, the filters of that collection are limited to the variants included, and the color swatches and the selected variant show only those.[^shopify-new-model] Until now, a collection worked with whole products; with this option it can work with specific [product variants](/glossary/product-variants/), for example only the size or the capacity that gives the list its meaning.

## What a collection publishes

**The URL.** Each collection lives at `/collections/` followed by its handle, which you can change in the admin, without spaces. When you change it, Shopify offers to create a redirect from the old one so anyone arriving through an old link does not end up on a 404, and asks you not to change it often, because the collection could stop appearing in search engine results.[^shopify-collection-settings] What to check after changing it is in the entry on the [301 redirect](/glossary/301-redirect/).

**The search listing.** Each collection has its own [page title](/glossary/meta-title/) and its own [meta description](/glossary/meta-description/). Shopify warns that a title over 70 characters or a description over 320 may appear cut off in results. In the same settings you decide which sales channels it is available on, when it is published and which theme template displays it.[^shopify-collection-settings]

**The template.** The theme draws the page with the collection template, `templates/collection.json`, which lists the products with the `collection` object of [Liquid](/glossary/shopify-liquid/).[^shopify-collection-template] That object gives the title, the description, the handle, the URL, the image, the collection's metafields and its products, which are split with the `paginate` tag into pages of **50 products at most**. The order is changed with the `sort_by` URL parameter, and in collections of more than 5,000 products the object does not return the storefront filters.[^shopify-liquid-collection] Pagination, sorting and filters turn a single collection into many URLs; what to do with each one is explained in the entry on the [PLP (product listing page)](/glossary/plp/).

**The sitemap.** The [XML sitemap](/glossary/xml-sitemap/) that Shopify generates at `/sitemap.xml` links to separate sitemaps for products, collections, blogs and pages, and it updates itself when you add content.[^shopify-sitemap]

**Each product's second URL.** Liquid's `within` filter generates a product's URL in the context of a collection, of the form `/collections/sale/products/...`. Shopify's documentation warns that the product looks the same at its normal URL and at the collection one, and asks you to **consider the SEO implications**.[^shopify-within] It is [duplicate content](/glossary/duplicate-content/) by design, and the [canonical](/glossary/canonical-url/) resolves it; its entry covers what Shopify does with it.

## In a store

A **fictional example**: a tea store builds the collection "Cast iron teapots" with three product sources.

| Source (fictional example)                                                         | What it does                                                                     |
| ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| Conditions, with "all conditions": the type is "Teapot" and the tag is "cast iron" | Includes the cast iron teapots that already exist and the ones added later       |
| Manual selection: the "Nara" tea set                                               | Adds a product that is not of type "Teapot" but that the shopper looks for there |
| Exclusion by tag: "discontinued"                                                   | Removes the teapots that are no longer sold, even if they meet the conditions    |

The "Tea accessories" collection, by contrast, has no conditions of its own: it is a subcollection source that adds up "Cast iron teapots," "Tea filters" and "Infusers." A new teapot with the right tag shows up in both without anyone adding it.

The theme's collection section prints the list like this:

```liquid
<h1>{{ collection.title }}</h1>
{{ collection.description }}
{% paginate collection.products by 24 %}
  {% for product in collection.products %}
    <a href="{{ product.url }}">{{ product.title }}</a>
  {% endfor %}
  {{ paginate | default_pagination }}
{% endpaginate %}
```

The link uses `product.url`, which gives each product page's own address, `/products/...`. With `product.url | within: collection` it would give the address inside the collection, which keeps the path the shopper took in exchange for a second URL for the same product.[^shopify-within] **A single address per product in the links is the option that leaves nothing to resolve.**

Clione treats collections as one of its four entities, alongside products, categories and content pages: it syncs them with the rest of the catalog, writes their meta description, their keywords and their frequently asked questions, and publishes nothing until you press Push.


**Changing a collection's handle to get a keyword into the URL looks like a cheap improvement.** Shopify asks for the opposite: do not edit the handle often, because the collection could stop appearing in search engine results, and tick the redirect box every time you change it, so old links do not end up on a 404.[^shopify-collection-settings] The page title and the meta description can be adjusted without touching the URL.


## How to check it

1. **Open the collection in the store and view its source code.** Look for the `<title>`, the meta description and the collection's description in the HTML, and compare them with what you have in the admin.[^shopify-collection-settings]
2. **Open `/sitemap.xml`** and, from it, the collections sitemap. The collection has to be there.[^shopify-sitemap]
3. **Open a product from the collection and look at the URL.** If it is of the form `/collections/.../products/...`, open the source code and check that the canonical points to `/products/...`.[^shopify-within]
4. **If the collection goes past 50 products, go to its second page** and check that it has its own URL and lists different products from the first.[^shopify-liquid-collection]
5. **If you ever changed the handle, open the old URL.** It should take you to the new one, not to a 404.[^shopify-collection-settings]

## Related concept: category page

The category page is the concept; the collection is the Shopify piece used to build it. They do not fully coincide. **Not every collection is a category page**: "New arrivals," "Sale" or "Best sellers" are collections and they are PLPs, but they are not stable branches of the catalog with a place in the menu. And the collection is not the product's category either: that is a data point on each product, from Shopify's standard taxonomy, which can serve as a condition to fill a collection.[^shopify-conditions] A well-organized store uses the category to classify, the collection to publish and the menu to join the two.

To go further, the [catalog and entities reading path](/learn/catalog-and-entities/) orders the rest of the terms, and the guide [from metafield to published page](/guides/metafield-to-published-page/) follows a Shopify data point from the admin to the HTML.
