Schema Markup Guide

CollectionPage + ItemList Schema

Schema MarkupPublished Jul 17, 2026Updated Jul 19, 20263 min readLinkedInX

CollectionPage marks a page as a curated collection — a hub, category, or list — and ItemList enumerates the entries on it in order, giving Google a structured view of what the page pulls together. Unlike the foundational entity types, these are ones you often can add yourself, because most SEO plugins do not generate them for custom hub pages. They power list understanding and, in some cases, carousels.

What These Types Do

CollectionPage says “this page is a collection”; ItemList says “here are its members, in this order.” Together they help Google understand hub and category pages as structured lists rather than generic pages.

This is the exact markup the blog pillars on this site use — each pillar is a CollectionPage whose mainEntity is an ItemList of its child articles. It is one of the types this cluster’s own guidance says you may safely add, alongside FAQ, because it does not conflict with the platform-owned Article and Organization entities.

How CollectionPage and ItemList Nest

The clean pattern is a CollectionPage with a mainEntity that is an ItemList, whose itemListElement is an array of ListItems — each with a position, url, and name, exactly like a BreadcrumbList but describing content rather than navigation.

Positions start at 1 and should reflect the intended reading or ranking order. You can point each ListItem’s url at the member page. The structure mirrors BreadcrumbList; the difference is semantic — a collection of content versus a navigation trail.

For certain content types — recipes, courses, movies, restaurants — an ItemList of eligible items can make a page eligible for a host carousel rich result, where Google shows a swipeable set from your site.

The carousel only applies to specific supported types and requires each item to also carry its own valid markup; a generic list of blog links will not produce a carousel. Check Google’s list-format documentation before expecting one, and validate with the Rich Results Test.

When to Add It

Add CollectionPage + ItemList to genuine hub, category, and curated-list pages where your platform does not already emit it — it clarifies structure and is one of the safe, additive types.

Do not force it onto ordinary article pages, and do not duplicate it if a plugin already outputs it for archives. It pairs naturally with strong internal linking and hub architecture from the Content Strategy pillar.

Example Markup

A CollectionPage wrapping an ItemList (shown as code):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "CollectionPage",
  "name": "Schema Markup References",
  "mainEntity": {
    "@type": "ItemList",
    "itemListElement": [
      { "@type": "ListItem", "position": 1, "url": "https://example.com/a/", "name": "Guide A" },
      { "@type": "ListItem", "position": 2, "url": "https://example.com/b/", "name": "Guide B" }
    ]
  }
}
</script>

See JSON-LD vs Microdata for the format.

Key Takeaways

  • CollectionPage marks a page as a collection; ItemList enumerates its ordered members.
  • Clean pattern: CollectionPage → mainEntity ItemList → itemListElement of ListItems (position, url, name).
  • For supported types, an ItemList can enable a host carousel — each item needs its own valid markup.
  • These are safe, additive types you can hand-add to hub/category pages your platform doesn’t already mark up.
  • Positions start at 1 and should reflect intended order; do not force it onto ordinary articles.

Frequently Asked Questions

Is it safe to add CollectionPage/ItemList myself?

Yes — unlike Article or Organization, these are additive types your SEO plugin usually does not emit for custom hub pages, so hand-adding them for genuine collections is appropriate and does not create duplicate-entity conflicts.

Will an ItemList give me a carousel?

Only for specific supported content types (recipes, courses, movies, and a few others) where each item also has valid item-level markup. A plain list of blog-post links will not produce a carousel, though the markup still helps Google understand the page.

What is the difference from BreadcrumbList?

They share the ItemList/ListItem structure but mean different things: BreadcrumbList describes the navigational path to a page, while CollectionPage + ItemList describes a collection of content on a page. Use the one that matches your intent.

The Bottom Line

CollectionPage and ItemList are the structured-data types for pages that gather things together — hubs, categories, curated lists. They are safe to add where your platform doesn’t, they clarify structure, and for a few content types they unlock carousels. Use them on real collections and keep the positions honest, following the ownership guidance across the schema cluster.


Further reading & sources

See how your site actually shows up in AI search. An AI visibility audit maps where you’re cited, where you’re invisible, and what to fix first — in plain English.

Get your AI visibility auditTry the free SEO tools →

Prefer self-serve? The interactive checklists turn guides like this one into a working to-do list.

Keep reading in Schema Markup

Get one email when something genuinely changes

AI search moves fast and most of it is noise. We send one short email when a real shift is worth your time. Unsubscribe anytime.

Published by Plain Intelligence — practical AI SEO, GEO, and technical SEO, documented in plain English. About Plain Intelligence →

↑ Back to Schema Markup · Explore all articles · Free tools & resources · Glossary