Peregrinedocs

Collection Page

The collection page is where most shoppers decide what to look at, so it gets the same treatment as the product page: a configurable header, a grid you control per device, quick add straight from the card, and three ways to move through a long collection. Filtering has a chapter of its own.

The collection header

Breadcrumbs sit above all of this and are on by default, with matching structured data.

The toolbar

A slim row between the header and the grid, holding up to three things — each independently switchable, and the whole row disappearing if you turn them all off:

The product grid

SettingRangeNotes
Products per page8–48, default 24Applies to every loading mode — with Load more or infinite scroll it's the size of each batch rather than a page.
Columns (desktop)2–5, default 4See the sidebar note below.
Columns (mobile)1–3, default 2Two is the modern default; one suits high-consideration products where the image needs the room.
Image shapeNatural (default), Square, Landscape, PortraitNatural never crops your photography, so card heights follow the source images. The fixed shapes give a perfectly even grid when your product images vary in size.
Second image on hoverOn by defaultFades to the product's second image when the cursor is over the card. Products with only one image simply don't fade.

Cards carry the product title, price with sale-aware compare-at pricing and unit pricing where it applies, and any badges. Card style — background, border thickness and colour, drop shadow — works exactly as it does on the homepage grids; see Blocks & Card Styles.

Sidebar filters and your column count: when the sidebar filter layout is showing, the grid gives up one column automatically (never dropping below two) so cards stay a sensible size. Your setting is the unfiltered intent — set 4 and you get 4 without a sidebar and 3 with one, rather than having to compromise on a single number.

Quick add

Quick add lets a shopper get a product into the cart from the grid without opening the product page. Under Quick add in the Collection section, four choices — off by default, because the right answer genuinely depends on what you sell:

StyleWhat the shopper seesBest for
None (default)Nothing — cards link to the product page as usual, and no quick-add markup or script exists on the page at all.Considered purchases, and any store where the product page does the selling.
Add to cart buttonA button under each card.The clearest, most obvious option. Good for repeat-purchase and single-variant catalogues.
Quick shop iconA small cart icon in the corner of the image, always visible, opening a compact quick-shop panel with the image, title, short description, price and option pickers.Visual catalogues where a button under every card would clutter the grid. It's the only style that always opens the panel, so shoppers get a consistent gesture on every product.
Size chipsA strip of the product's option values on the card — tap "M" to add that variant directly.Fashion and anything sold by a single size or colour option. The fastest route to cart there is, when it fits the product shape.

Where "choose options" leads

For the button and chip styles, a Choose options setting decides what happens when the product genuinely needs a choice: open a popup (default) or go to the product page. Sending shoppers to the product page is the conservative choice and costs a page load; the popup keeps them in the grid. The quick shop icon always opens the panel — that's what it's for.

The Icon corner setting (quick shop icon only) puts the icon in any of the four corners of the image, so it can avoid whichever corner your badges use.

How it behaves per product

The pop-up opens on a variant already chosen — the same one the product page would open on: the first available one, not simply the first, so it never opens reading "Sold out" while a buyable size sits beside it. The price is filled in and Add to cart is live straight away, and the shopper only touches the options if they want something different. (Where nothing is in stock it falls back to the first variant, exactly as the product page does.)

What happens after the add

Quick add always ends at the cart. The pop-up closes the moment the add succeeds and the cart takes over: the drawer slides out if you're running the slide-out cart, and in page mode the shopper goes to the cart page. This applies to the direct one-variant adds and the size chips too, not just the pop-up.

Quick add isn't only a collection-page feature — the same controls, settings and behaviour apply wherever product cards appear with it switched on: the Featured collection section on your homepage, and the recommendation sections at the foot of a product page.

It's the one place the cart's After adding to cart setting doesn't apply — that setting governs product-page adds. A pop-up that closes leaving the shopper on the same grid is indistinguishable from an add that failed, so quick add always shows the result.

Quick add never traps a shopper. Every control is a real link to the product page underneath — if a script is blocked or still loading, clicking it goes to the product page instead of doing nothing. It degrades to browsing, never to a dead button.

Variant picker and Add to cart on the price row

A second, quieter route to the cart, and a different idea to quick add. Switch it on and every card grows one extra line beneath the title: the price, a variant dropdown, and an Add to cart button, all on the same row and all always visible. Nothing opens, nothing overlays the image — the shopper picks a size and adds it without the card ever changing shape.

Where to find it: Theme settings → Add to cart on product cards. Not in the Collection section — it's one decision for your whole store, so it lives with Filtering and Badges rather than being set page by page. Three switches:

SettingDoes
Show a variant picker and Add to cart on cardsThe master switch. Off out of the box.
Show on collection pagesPer-surface toggle, on by default once the master is on.
Show on search resultsThe same for search. Turn one off if you want the control in only one place.

How the button looks

Not here — in Theme settings → Add to cart buttons. Style, colour, text colour and border are set once there and apply to these buttons and your product page's Add to cart together, so the two can't drift apart. Hover comes from Buttons → Hover, along with every other button in the theme.

This group decides only where the row appears. The confirmation and error states follow whichever style you picked — an outlined button recolours its border and label, a filled one repaints its fill.

How it behaves per product

On a phone

Below roughly 640px — where the grid drops to two columns and a card is around 170px wide — the row splits deliberately rather than wrapping wherever it happens to run out of space:

On a product with no dropdown — one variant, sold out, or over your variant limit — there is nothing to put on the first line, so price and button share one line exactly as they do on desktop.

Using it alongside quick add

The two stack, with one exception, because most of the quick-add styles live somewhere else on the card:

Quick add styleCan the price row be used too?Why
NoneYesNothing to collide with.
Quick shop iconYesThe icon sits on the image; the price row sits under the title. Shoppers get the quick panel and the direct add.
Size chipsYesSame — the chips are on the image.
Add to cart buttonNoThat button renders under the title, in the same place as the price row. Two Add buttons stacked under one product name helps nobody, so the price row does not render on a section using that style.

Because Quick add is a section setting and this is a theme setting, the two can't be shown together in one panel — so if the price row isn't appearing on a page where you've switched it on, check that section's Quick add isn't set to the button style.

What happens after the add

Unlike quick add, this one honours your cart's After adding to cart setting. The reason is the difference between the two controls: a pop-up that closes leaving the shopper on the same grid looks exactly like a failure, so quick add always shows the cart. Here nothing closed — the button itself confirms in place and the header count ticks up — so "Stay on the page" is a real choice and is respected. With the slide-out cart the drawer opens as it does everywhere else.

If an add fails, Shopify's own message (a stock limit, say) appears on the button for a moment and then it returns to normal.

It works with JavaScript switched off. The row is a real form posting to the cart, not a script pretending to be one — with scripts blocked, choosing a variant and pressing Add posts the form and lands the shopper on the cart page with the right variant in it.

Loading more products

The Grid loading setting controls how shoppers move through a long collection. It's independent of filtering — it applies whether or not you use filters:

ModeBehaviourGuidance
Pagination (default)Classic numbered pages.The zero-surprises option, and the right choice for very large catalogues.
Load moreA button appends the next page to the grid.The best default for most stores — browsing flows, and the footer stays reachable.
Infinite scrollThe next page loads as the shopper nears the end of the grid.Suits browse-led, visual catalogues. After your chosen number of automatic loads (default 3) it pauses and shows a Load more button, so the footer is always reachable and a 5,000-product collection can't run away with itself.

Whatever the mode, search engines always see the full numbered pagination, changing a filter always restarts from the first page of the new results, and newly loaded products are announced to screen readers.

Colours and spacing

Under the section's Colors header it takes its own Background, plus separate heading, card title and card text colours. Leave any of them blank and it follows your theme palette — which is what you want almost always, and is why they're blank out of the box. Vertical and horizontal padding are set separately for desktop and mobile.

When a collection is empty

Two different empty states, because they're two different problems. A collection with no products at all says so plainly. A collection whose filters have excluded everything says that instead, and keeps the filters on screen with Clear all in reach — a shopper who filters themselves into nothing needs a way back, not an apology.

Structured data

Every collection page renders CollectionPage and ItemList JSON-LD server-side, plus BreadcrumbList from the breadcrumbs. Nothing to configure, and it can be switched off with the rest of the theme's structured data if an SEO app is providing its own — see App Integration.

Apps on the collection page

App blocks slot in between the toolbar and the product grid, and every card exposes data-product-id and data-product-handle for app scripts. See App Integration.

The collections list page

Separately from the individual collection pages, your store has a page listing every collection, at /collections. It's worth linking from your main menu — it's the natural "shop by category" landing page, and it's a page search engines like.

Edit it in the theme editor by switching the page selector to Collections list. Settings:

SettingWhat it does
HeadingLeave blank for "Collections".
Collections per page6–48, default 24. Anything beyond that goes onto numbered pages.
Columns2–5 on desktop, 1–3 on mobile.
Image shapeSquare (default), landscape, portrait, or natural for no crop.
Image fitAppears once you've picked a fixed shape. Contain (the default) shows the whole image with space around it — nothing gets cut off. Cover fills the shape and crops the edges.
Show product countsAdds "12 products" under each collection name.
CardsThe same background, text colour, border and drop shadow controls as everywhere else.

The collection name's size and alignment come from Theme settings → Typography → Collection cards, shared with the homepage's Collection list so the two never disagree.

You don't need to set a collection image for every collection. Where one isn't set, the card falls back to the first product's photo, so the grid looks complete from the day you install rather than showing blank tiles for the collections you haven't got round to. Set a collection image in Shopify admin when you want a designed banner instead.

If you have more collections than fit on one page, the extras are on numbered pages — they are real links, so search engines follow them and shoppers can bookmark them.

The search results page is built on this same grid. Filters, badges, quick add, the price-row add and the loading modes all work there exactly as they do here — see Search for the settings that are search's own.