My Tool Studio
SchemaURL-first

CollectionPage Schema Generator

CollectionPage schema marks a URL as a page that groups other pages, such as a shop category, a blog archive or a tag page, and this generator writes it as JSON-LD with the items listed inside. Paste a category URL and it fills the title, description, image and language, then reads the product or post links on the page into an ItemList with numbered positions. Edit the list, reorder it or add items by hand. The block can link to your WebSite with isPartOf, name a publisher, carry a BreadcrumbList built from the URL and set the list order. Two example buttons load an ecommerce category and a blog archive, or paste existing CollectionPage JSON-LD. Store owners use it on collection pages with no markup. Google shows no rich result for CollectionPage itself, so the gain is a clearer site structure.

Always freeNo sign upRuns in your browser
Paste your category or archive URL. We'll read the title, description, image and language, then look for the product or post links the page lists and add them to the ItemList.
Import existing JSON-LD(paste code or read it from a URL)

Paste a CollectionPage JSON-LD block, several script tags or a whole page's HTML. The form fills with what it finds so you can edit and improve it.

Or load an example:

Collection page details

Items in this collection (mainEntity ItemList) 0 with a URL

List the products or posts shown on this page, in the order they appear. Positions are numbered for you. On page 2 and later, list only the items on that page.

1

Publisher and site (optional)

Breadcrumb and list order (optional)

For page 2 and later of a category, give each page its own URL in the Page URL field and list only the items shown on that page.

  • Add the page URL.
  • Add at least one item URL for the ItemList.
Output
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "CollectionPage"
}
</script>
Test in Google Rich Results TestValidate at validator.schema.orgThe test links copy your code first. Paste it into the tester's Code tab.

How to use

01

Auto-fill from the category URL

Paste the category or archive URL and press Auto-fill from URL. The page details fill in and the product or post links found on the page appear as items.

02

Check the items

Remove links that are not part of the collection, fix names, reorder with the arrows and press Add item for anything missed. Positions are numbered for you.

03

Set publisher and copy

Add the publisher, keep isPartOf ticked, add a breadcrumb with Build from page URL, then press Copy script. Check the result with Validate at validator.schema.org or the Rich Results Test.

Why CollectionPage Schema Generator

CollectionPage, ItemList or ItemPage

These three types are easy to mix up. The difference is whether you are describing a page of many things, the list itself, or a page about one thing.

On a shop, the category is a CollectionPage, the products on it form an ItemList, and each product page carries Product markup. ItemPage is valid for product pages, but Product is what Google reads for product results.

TypeDescribesTypical pageGoogle feature
CollectionPageA page that groups many itemsShop category, blog archive, tag pageNone
ItemListAn ordered list of itemsInside a CollectionPage, or a list articleCarousels for some item types
ItemPageA page about one itemA product or listing detail pageNone (use Product for products)

Worked examples: shop category and blog archive

Ecommerce category: a trail running shoes collection at shop.example.com/collections/trail-running-shoes. The CollectionPage has name Trail Running Shoes, a description, a banner image, inLanguage en-US, isPartOf the shop's WebSite and a publisher. Its mainEntity ItemList has numberOfItems 3 and three ListItems pointing to the product pages.

Blog archive: a sourdough category at bakeblog.example.com/category/sourdough/. The same structure applies, but the ListItems point to posts such as How to Make a Sourdough Starter, and there is no image. Load either example in the tool to see the full JSON-LD and edit it.

If your theme already outputs an ItemList for the category, auto-fill reads it first and uses those items, so compare them with what you see on the page before copying. Remove any that are menu or footer links rather than items.

Paginated categories

Long categories are split across page 2, page 3 and so on. Each of those URLs is a collection in its own right, so each can carry its own CollectionPage block.

  • Set url to the address of that page, such as /collections/shoes?page=2, or to its canonical URL.
  • List only the items visible on that page, starting again at position 1.
  • Keep the name and description the same as page 1, or add Page 2 to the name if your title does.
  • Do not add items from other pages to reach a bigger numberOfItems.
  • Filtered or sorted versions of a category that point their canonical to the main category do not need a block of their own.
  • Check a paginated page with Test live URL after publishing to make sure the right items are listed.

Common questions

What is CollectionPage schema used for?
It labels a page whose main job is to group other pages: product categories, collections, blog archives, tag pages and portfolios. Listing the items in a mainEntity ItemList shows what the collection contains.
What is a CollectionPage schema example for an ecommerce category?
Press Ecommerce category to load one. It has a CollectionPage with name, url, description, image and inLanguage, an isPartOf WebSite, a publisher, and a mainEntity ItemList with three products, each a ListItem with position, url and name.
Does CollectionPage markup produce a rich result in Google?
No. Google has no rich result for CollectionPage. The markup describes your structure; if the items are a type Google shows in carousels, such as recipes or courses, the ItemList Schema Generator covers that case.
How does the tool find the products or posts on a category page?
It first looks for an ItemList already in the page's JSON-LD. If there is none, it reads links inside product cards, article headings and card headings, keeps same-site links, drops cart, account, login, search, tag and pagination links, and removes duplicates.
How is CollectionPage different from ItemList?
CollectionPage describes the page. ItemList describes the list of items on it. This tool puts the ItemList inside the CollectionPage as mainEntity, so one block covers both.
How do I mark up page 2 of a category with CollectionPage schema?
Give page 2 its own block with its own URL and list only the items shown on page 2, with positions starting at 1. Do not point every page's url at page 1.
What does isPartOf add to CollectionPage JSON-LD?
It links the page to your WebSite through an @id such as https://example.com/#website. If your homepage publishes WebSite markup with the same @id, the two connect.
Why did an item disappear from the CollectionPage output?
Items without a URL are left out, because a ListItem in a collection needs a link. Rows with a URL but no name are kept, with only the position and url.
Can CollectionPage markup include a breadcrumb?
Yes. Press Build from page URL to turn the category path into levels such as Home, Shop and Shoes, then fix the names to match your menu. The trail is written as a BreadcrumbList in the breadcrumb property of the CollectionPage.

More Schema tools

View all