Skip to content
50% OFF $299 $599
Lock in
§ 2.7.3 ARTICLE
Published VerifiedEvery 6 weeks Sources4 named Authored bySquareRank Team

E-commerce SEO · Category Page · § 2.7.3

Category Pages That Rank, Not Just Render

Category pages on Squarespace Commerce render a product grid by default with no top-of-page content1. An empty grid reads as thin and rarely ranks for category-shaped queries ('mens linen shirts', 'cold-press juicers under $200'). The fix is mechanical: add a Markdown block above the grid carrying 300-500 words of category-specific content. The category page is the third-highest-leverage e-commerce SEO surface after product descriptions and URLs.

This page covers the template-default problem, the Markdown-block fix, the content structure, the internal-linking pattern, and the ItemList schema that lifts eligibility for product-carousel rich results.

Why the default Squarespace category template ranks for almost nothing

Squarespace Commerce category pages render at URLs like /shop/category/{slug}/ with a product grid filtered to the selected category. The default template ships with no top-of-page content area — no H1 explanation of what the category is, no introductory copy, no FAQ. The grid of product cards alone is functionally a search-result list rather than an editorial page, and Google's helpful-content classifier consistently filters category pages without top-of-page content as thin. The result: the category URL is indexable but ranks for almost nothing beyond brand + category queries.

The pattern repeats across nearly every Squarespace Commerce audit. A store with thirty products organised into five categories has five auto-generated category URLs, all reachable from the navigation, all indexable, and all ranking nowhere because none of them carry top-of-page content. The product pages rank for product-specific queries; the category pages do not rank for category-specific queries. The brand captures branded traffic; the category gap captures nothing.

What the default leaves on the table

0 words

of top-of-page content on the default Squarespace category template — grid only, no editorial.

Squarespace Help · 2026-Q1
Filtered

Google's helpful-content classifier treatment of thin category pages without context.

Google Search Central · 2026-Q1
300-500

word range of category-specific content that clears the thinness threshold reliably.

Google Search Central · 2026-Q1

The Markdown block above the product grid

The fix is mechanical and one-time per category. Open the category page in the editor, add a Markdown block (or Text block) at the top of the page above the product grid, and write 300-500 words of category-specific content. The block can be placed visually anywhere — Squarespace's section-based 7.1 templates allow inserting a section above the catalog block. The placement above the grid is the SEO-relevant choice: top-of-page content is the part Google's passage extractor reads first.

The implementation note is short: in the category page editor, click the plus button between the page header and the product grid, choose a Section, and add a Markdown or Text block. Squarespace renders the block above the grid without affecting product layout. Mobile rendering preserves the order — the editorial block appears above the grid on every viewport.

The 300-500 word category copy structure

The structure: lead with one to two sentences defining what the category is and who it suits (this is the passage Google extracts for category-shaped queries). Expand with how to choose between items in the category — the price bands, the quality tiers, the use-case differences. Cover the most common reasons customers buy in this category and the typical alternatives. Close with a short FAQ if the category genuinely raises common questions (size charts, materials, suitability for specific use cases). The full block lands between 300 and 500 words for most categories.

The lead sentence carries the most extraction weight. 'Cold-press juicers extract juice without heat, producing a brighter flavour and longer shelf life than centrifugal juicers' is the kind of opening that Google quotes in AI Overview answers and ChatGPT comparisons. 'Welcome to our collection of cold-press juicers' is the kind of opening that fails. The discipline: define the category, name the differentiator, and answer the implicit 'why this category and not the alternative' in the first 30 words.

Linking the category into and out of the catalogue

The category page should be reachable from the homepage navigation (or the main shop hub) in one click — every catalogue category should be top-level navigable, not buried behind a sub-menu. Cross-link related categories from within the category copy ('see also: our Cold-Brew Coffee category', 'compare with: our Centrifugal Juicers category'). The internal-link signal tells Google the category is part of a coherent catalogue with related neighbours, which lifts ranking for category-shaped queries that span multiple categories.

The 'see also' pattern inside the Markdown block is the highest-leverage internal-link slot. Two or three cross-category links per Markdown block produces a clean topical graph without overlinking. The links should be editorial — placed inside sentences in the copy — rather than appended as a 'related categories' block. Editorial links carry more weight than widget links in Google's algorithm.

ItemList schema for category pages

An ItemList JSON-LD block on a category page enumerates the products listed on that page by URL, signalling to Google that the page is a structured product collection<InlineCite n={3} sourceId='schema-itemlist' />. Google's carousel structured-data guidance<InlineCite n={4} sourceId='google-product-data' /> reads ItemList of Product entries as a candidate for the product-carousel rich result, which surfaces the page as a horizontally-scrollable carousel on mobile search. The block is owner-implemented via page-level Code Injection — Squarespace does not auto-emit ItemList on category pages.

The implementation is straightforward. The ItemList block lists each product by URL and ordinal position; the per-product Product JSON-LD lives on each individual product page (auto-emitted plus supplemental). The two layers complement rather than conflict: ItemList describes the collection, Product describes each item, Google reads both cleanly.

JSON-LD ItemList JSON-LD for a Squarespace category page
 <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "ItemList", "itemListElement": [ { "@type": "ListItem", "position": 1, "url": "https://yourstore.com/shop/p/cold-press-juicer-x150" }, { "@type": "ListItem", "position": 2, "url": "https://yourstore.com/shop/p/cold-press-juicer-c200" } ] } </script>