Guide : ItemList Schema
ItemList est schema.org's générique ordered-liste container — le mechanism Google's Carousel rich résultat est construit on, et le parent type BreadcrumbList inherits depuis. Ce que il fait, ce que il ne fait pas, et comment le pieces fit.
1 indice probant sur cette page
- Outil en ligne associéRich-Result Eligibility Checker
ItemList est schema.org's générique 'ce est an ordered liste de choses' container — deux properties (itemListElement et a 1-fondé position) faire presque tout le fonctionner. Le unique biggest misconception: ItemList par itself n’est pas a rich résultat et ne fait pas obtenir vous a carousel. Google's Carousel rich résultat est construit on top de ItemList, et seulement fires quand vous pair il avec a pris en charge companion type (Course liste, Movie, Recipe, Restaurant pour le classic carousel; LocalBusiness/Produit/Event pour a newer geo-gated beta limited à le EEA, Turkey, et South Africa). BreadcrumbList est formally a subtype de ItemList — même itemListElement/position mechanics — qui est le detail que trips up même experienced implementers. Éléments doit tout être le même type on le classic carousel (le beta permet mixing), vous besoin 2+ éléments (3+ pour le beta), et le markup doit match visible contenu. Et comme tout données structurées, ItemList n’est pas a facteur de classement; son valeur est rich-résultat eligibility, pas position — et Google est explicit que meeting le requirements jamais guarantees le fonctionnalité en réalité displays.
Preuve à l’appui de cette affirmation Schema.org ItemList models an ordered or unordered collection and ListItem can supply item positions and URLs. Portée : Schema.org ItemList vocabulary. Niveau de confiance : élevé · Vérifié : Schema.org: ItemList Preuve à l’appui de cette affirmation Google uses ItemList within specific features such as host carousels; a generic valid ItemList has no standalone guaranteed rich result. Portée : Current Google carousel implementation and eligibility. Niveau de confiance : élevé · Vérifié : Google Search Central: Carousel structured dataTL;DR — ItemList est a bit de schema.org code que dit “ce page est a liste de choses, dans ce order.” Le deux important parties sont le liste de entries (
itemListElement) et a classer number on chaque un (position). Par itself il fait pas obtenir vous a fancy résultat de recherche — Google’s swipeable Carousel est construit on top de ItemList, et seulement montre up quand vous pair il avec un de a quelques spécifique contenu types (recipes, movies, courses, restaurants). Il ne va pas aider vous classer plus élevé, soit.
Ce que ItemList schema is
Quand vous construire a “Top 10” page, or a recipe roundup, or a liste de courses, vous peut voir c’est a liste. A moteur de recherche mostly voit a wall de texte et some HTML. ItemList est a petit bloquer de structured-données code que spells il out: “ce est a liste, ici sont le éléments, et ici’s le order ils go dans.”
Schema.org décrit il as “A liste de éléments de quelconque sort—Par exemple, Top 10 Movies
À propos de Weathermen, or Top 100 Party Songs.” Il aussi ajoute a clarifying line worth
remembering: “Pas à être confused avec HTML listes, qui sont souvent utilisé seulement pour
formatting.” An ordinary <ol> or <ul> rend a liste regarder comme a liste; ItemList
rend il signifier a liste à a machine.
Two properties do almost tout the fonctionner:
itemListElement— le liste de entries. Chaque entry est généralement aListItem.position— a number starting à 1 que dit où chaque entry se classe dans le liste.
The un chose everyone obtient incorrect
Ajout ItemList par itself ne fait pas obtenir vous a special résultat de recherche. Ce est le top misconception, donc c’est worth stating plainly. ItemList est le mechanism; le visible payoff — a swipeable définir de cards dans Google’s résultats — est a séparé fonctionnalité appelé a Carousel. Et a carousel seulement apparaît quand vous combine ItemList avec un de a court, Google-controlled liste de contenu types (pour le classic carousel: Course liste, Movie, Recipe, Restaurant). A générique “Top 10 blog posts” page marked up avec plain ItemList ne fait pas earn que afficher.
il y a aussi a family connection que surprises personnes: breadcrumbs utiliser le même
mechanism. BreadcrumbList — le schema behind ceux “Home › Category › Page” trails —
est technically a type de ItemList. Même itemListElement, même position. Une fois vous
apprendre un, vous avez mostly learned le autre.
Pourquoi c’est important (and ce que it doesn’t do)
- Il peut faire vous eligible pour a carousel — si vous ont a pris en charge contenu type et tout sinon est correct. Eligible n’est pas le même as guaranteed, soit: Google dit plainly il ne fait pas guarantee que fonctionnalités consuming données structurées va en réalité montrer up dans résultats de recherche.
- Il aide machines comprendre votre page est a structured liste. c’est le container’s job — Je’m pas going à claim a broader “aide AI systèmes lire votre page” payoff on top de que sans Google publishing quelque chose spécifique à point à.
- Il fait pas améliorer votre rankings. Comme tout données structurées, ItemList n’est pas a facteur de classement. Google a été consistent on ce pour années.
Vouloir le complet picture — le deux implementation patterns, le exact pris en charge types, le newer geo-limited beta carousel, comment BreadcrumbList fits dans, et le courant validation échecs? Switch à le Avancé tab.
Preuve à l’appui de cette affirmation Schema.org ItemList models an ordered or unordered collection and ListItem can supply item positions and URLs. Portée : Schema.org ItemList vocabulary. Niveau de confiance : élevé · Vérifié : Schema.org: ItemList Preuve à l’appui de cette affirmation Google uses ItemList within specific features such as host carousels; a generic valid ItemList has no standalone guaranteed rich result. Portée : Current Google carousel implementation and eligibility. Niveau de confiance : élevé · Vérifié : Google Search Central: Carousel structured dataTL;DR — ItemList est schema.org’s générique ordered-liste container;
itemListElement
- a 1-fondé
positionfaire le fonctionner, avecitemListOrderetnumberOfItemsas lesser-utilisé extras (numberOfItemsmatters pour paginated listes). Il est pas itself a rich résultat — Google’s Carousel est construit on top de il et seulement fires avec a pris en charge companion type: Course liste, Movie, Recipe, Restaurant pour le classic carousel, et LocalBusiness/Produit/Event pour a newer beta c’est geo-gated à le EEA, Turkey, et South Africa. Deux patterns: summary-page (url-seulement ListItems) et tous-dans-un (nested éléments). Règles: 2+ éléments (3+ pour le beta), tout le même type on le classic carousel (le beta permet mixing), markup doit match visible contenu. BreadcrumbList est formally a subtype de ItemList (avec HowToSection, HowToStep, OfferCatalog) — le detail la plupart guides miss. Et données structurées n’est pas a facteur de classement — son payoff est eligibility et understanding, pas position.
Ce que ItemList en réalité is
Schema.org’s definition est deliberately broad: “A liste de éléments de quelconque sort—Par exemple,
Top 10 Movies À propos de Weathermen, or Top 100 Party Songs.” Le line que explique pourquoi
le type nécessite à exist est le suivant un: “Pas à être confused avec HTML listes, qui sont
souvent utilisé seulement pour formatting.” An <ol>/<ul> conveys “ces sont a liste, dans ce
order” purely par visual convention. ItemList declares le container (ItemList), chaque
entry (ListItem), et chaque entry’s classer (position) as données a machine peut lire sans
inferring n’importe quoi depuis layout.
Deux properties faire le heavy lifting:
itemListElement— the array of entries. Schema.org: “Pour itemListElement valeurs, vous pouvez utiliser simple strings (e.g. ‘Peter’, ‘Paul’, ‘Mary’), existing entities, or utiliser ListItem.” Pour anything que veut une URL or a position (i.e. anything aiming at a rich result), vous utiliserListItem.position— a 1-fondé integer giving chaqueListItemits rank.
Two plus are documented but skipped by la plupart guides:
itemListOrder— “Type of ordering (e.g. Ascending, Descending, Unordered).” A declaration, pas quelque chose Google enforces.numberOfItems— “Le number de éléments dans an ItemList. Remarque que some descriptions pourrait pas entièrement décrire tout éléments dans a liste.” Ce un earns son garder on paginated listes: a “Top 100” split à travers five pages peut utilisernumberOfItemsà state le complet count même though quelconque un page marks up seulement twenty entries.
«(There’s also aggregateElement for holding aggregate ratings/offers across the list —
genuinely niche; you’ll rarely touch it.)
» (Traduction) (Résumé en français de la section vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«## The two implementation patterns » (Traduction) (Résumé en français de la section vingt-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Google’s carousel documentation describes two shapes, and which one you use changes what
each ListItem looks like:
» (Traduction) (Résumé en français de la section vingt-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«### Summary page and multiple detail pages » (Traduction) (Résumé en français de la section vingt-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
A summary page listes chaque élément briefly, et chaque entry liens out à a dedicated detail
page. Ici le ListItem est minimal — Google: le summary page defines an ItemList où
chaque ListItem a seulement three properties: @type (définir à ListItem), position (le
position dans le liste), et url (l’URL canonique de le élément’s detail page). Le complet
per-élément données structurées (le Recipe, le Movie, etc.) lives on chaque detail page.
All-in-one summary page
Tout lives on un page, donc chaque ListItem carries a nested item containing le
complet companion-type markup (le entier Recipe object, pour instance) plutôt que simplement a
url. Utiliser ce quand là sont aucun séparé detail pages.
ItemList n’est pas le Carousel — ce est le core distinction
Ici’s le accuracy spine de le entier topic. ItemList est a container; Carousel est a rich résultat construit on top de il. ItemList alone, avec aucun pris en charge companion type, fait pas produce a distinct “liste” rich résultat dans classic Recherche Google. Google’s docs sont explicit que carousel eligibility exige les deux pieces.
Classic Carousel — the pris en charge types
To be eligible pour a host carousel rich result, vous ajouter ItemList données structurées in combination with un of a petit, Google-controlled définir of pris en charge fonctionnalités. As of Google’s current (2026) documentation, que liste is:
- Course liste
- Movie
- Recipe
- Restaurant
c’est il pour le classic carousel. Autre types — Produit, BlogPosting, Event — peut carry ItemList markup pour organization et machine understanding, mais que alone fait pas faire les classic-carousel-eligible.
Carousels (Beta) — le newer, geo-gated program
«There’s a second, newer program — Carousels (Beta) — that Google describes as “a list-like rich result that people can scroll horizontally to see more entities from a given site.” It’s the more actively-evolving part of this feature area, and it differs from the classic carousel in three important ways: » (Traduction) (Résumé en français de la section trente-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Different supported types: ItemList combined with LocalBusiness and its subtypes
(Restaurant, Hotel, VacationRental), Product, or Event — a broader and different
set than the classic four.
» (Traduction) (Résumé en français de la section trente-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Geographically limited: it’s available only in EEA countries, Turkey, and South
Africa, on desktop and mobile, with the eligible query types varying by region. This is
not a global feature — a caveat worth stating plainly, since several third-party
write-ups discuss it as if it’s generally available.
» (Traduction) (Résumé en français de la section trente-neuf, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- A higher minimum: the beta requires a summary page plus detail pages with at least
three itemListElement.item entries, versus the classic carousel’s two.
» (Traduction) (Résumé en français de la section trente-neuf, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Mixing is allowed: unlike the classic carousel’s strict same-type rule, Google’s
beta documentation says you “can mix and match different types of entities (for
example, hotels, restaurants), if needed for your scenario” — don’t carry the
classic same-type assumption over when you’re working with the beta.
» (Traduction) (Résumé en français de la section trente-neuf, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
Treat le beta as “watch this space” plutôt que a stable, universal fonctionnalité.
Comment BreadcrumbList (et a quelques others) relate à ItemList
«This is the single most under-covered, differentiating fact about ItemList, and it clears up a common point of confusion: BreadcrumbList is not a separate, unrelated schema type — it is formally a subtype of ItemList. Schema.org states it directly: “A BreadcrumbList is an ItemList consisting of a chain of linked Web pages, typically described using at least their URL and their name, and typically ending with the current page.” And schema.org’s own “More specific Types” list for ItemList is exactly four entries: BreadcrumbList, HowToSection, HowToStep, and OfferCatalog. » (Traduction) (Résumé en français de la section quarante-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Practically, que signifie le itemListElement + position mechanics vous utiliser pour a carousel
sont literally le même ones vous utiliser pour breadcrumbs — seulement le outer @type
(BreadcrumbList vs. plain ItemList) et le semantic objectif modifier. Google frames
breadcrumbs le même façon: à specify breadcrumbs, vous define a BreadcrumbList containing à
le moins deux ListItems. Si vous avez implemented un, vous déjà comprendre le autre. (Le
breadcrumb side de ce family lives dans son propre deep dive, et le visible carousel résultat
est le subject de a sibling carousel piece — les deux sit dans ce même structured-données
sub-cluster.)
Implementation requirements and courant validation échecs
La plupart carousel/ItemList échecs come bas to a handful of documented rules:
- Minimum élément count. Google exige le
itemListElementarray à contenir deux or plusListItemelements pour le classic carousel (three or plus pour le beta). Un élément n’est pas a liste. - Même-type règle (classic carousel) — le frequent réel causer de échecs. Google: “Tout éléments dans le liste doit être de le même type. Par exemple, si a liste est à propos de recipes, seulement inclure Recipe éléments. ne pas mix différent types.” A liste que mixes Recipes et Produits ne va pas valider as a classic carousel. Ce règle est spécifique à le classic program — le beta ci-dessus explicitly permits mixing entity types, donc ne pas carry le même-type assumption over quand c’est le program vous êtes targeting.
- Visible-contenu parity. A general structured-données policy c’est appelé out précisément ici: le texte visible à le utilisateur doit être similaire à le information dans le structured données. Vous pouvez’t mark up éléments que ne sont pas genuinely represented dans le visible page.
- Même-domain URLs. A host carousel montre cards depuis le même site; le élément URLs devrait être on votre propre domain.
- Standard structured-données hygiene s’applique. JSON-LD est Google’s recommended format, tout requis properties pour votre companion type doit être présent (“Éléments que sont manquant requis properties ne sont pas eligible pour résultats enrichis”), et vous doit pas bloquer le marked-up pages depuis Googlebot via robots.txt or noindex. Ces sont le même general guidelines que govern chaque rich-résultat type — le broader structured-données hub covers les dans complet.
Fait ItemList schema affecter rankings? (Aucun.)
Court réponse: aucun. Données structurées n’est pas a facteur de classement, et que inclut ItemList. Ce est Google’s consistent, repeated position. À Recherche Central Actif APAC 2025, Gary Illyes fait le point que “excessive or redundant schema seulement ajoute page bloat et a aucun additional classement avantages,” framing schema as an aid à entity understanding et machine fonctionnalités — explicitly pas partie de le classement traiter. Google’s standing position à travers recent années est le même: données structurées n’est pas a classement signal, et même dans cas de structured-données misuse le consequence est loss de rich-résultat eligibility (via a manual action), pas a classement penalty.
«Where does the value come from, then? Two places: rich-result eligibility (a carousel can lift click-through, not position) and machine understanding. On the second point, John Mueller — speaking personally, and explicitly “not official guidance” — noted in early 2026 that some features genuinely benefit from structured data, giving the example that “pricing, shipping, availability for shopping is basically impossible to read in high fidelity & accurately from a text page.” That’s the honest frame: ItemList helps machines understand a structured list; it does not rank it higher. » (Traduction) (Résumé en français de la section quarante-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
ItemList vs. CollectionPage — a rapide disambiguation
Ces obtenir confused parce que les deux appliquer à “listing” pages, mais ils réponse différent questions.
ItemList décrit an ordered liste de discrete éléments — le entries et leur positions.
CollectionPage est a page type que represents a themed collection; c’est à propos de page-level
semantics (“ce page est a collection de things”) plutôt que le ordering de spécifique liste
éléments. ils sont pas mutually exclusive — a category page peut être a CollectionPage que aussi
contient an ItemList de son produits — mais reach pour ItemList quand ce que vous vouloir à express
est “ici sont le ranked éléments,” et CollectionPage quand vous vouloir à express “ce page est a
curated collection.”
Où ce fits
ItemList est a deep dive sous le broader données structurées hub, alongside le sibling pieces on le visible carousel rich résultat (ItemList’s principal Google application) et on BreadcrumbList (formally a subtype de le very même mechanism). Pour le fundamentals que govern chaque type ici — le schema.org vocabulary, JSON-LD, le “not a ranking factor” spine, et le shrinking liste de pris en charge résultats enrichis — voir le Données structurées hub. Que sub-cluster lives à l’intérieur le broader sur la page SEO cluster.
AI summary
A condensed prendre on the Avancé version:
«- ItemList = a generic schema.org list container. “A list of items of any sort.”
itemListElement (the entries, usually ListItem) + a 1-based position do the work;
itemListOrder and numberOfItems are lesser-used extras (numberOfItems matters for
paginated lists).
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- ItemList is NOT a rich result by itself. Google’s Carousel is built on top of it and
only fires with a supported companion type. This container-vs-rich-result distinction is the
top misconception.
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Classic Carousel supported types: Course list, Movie, Recipe, Restaurant — pair one
with ItemList to be eligible (never guaranteed).
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Carousels (Beta) is a separate, newer program: LocalBusiness/Product/Event, geo-gated
to the EEA, Turkey, and South Africa, minimum three entities. Not globally available.
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Two implementation patterns: summary-page (ListItems with just @type/position/url,
detail markup on separate pages) and all-in-one (each ListItem nests the full item).
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- BreadcrumbList is a formal SUBTYPE of ItemList (with HowToSection, HowToStep, OfferCatalog).
Breadcrumbs and carousels share the exact same itemListElement/position mechanics.
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Rules that cause most failures: 2+ items (3+ beta), all the same type on the classic
carousel (the beta allows mixing), and markup must match visible content.
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Not a ranking factor. Illyes (2025): redundant schema is “page bloat” with “no additional
ranking benefits.” Value = rich-result eligibility + machine understanding; misuse costs
eligibility, not rankings. Mueller (personally, “not official guidance”) notes schema helps for
hard-to-parse data like pricing/availability.
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie huit : le texte source est conservé pour vérification lors de la relecture francophone.)
«- ItemList vs. CollectionPage: ItemList = an ordered list of discrete items; CollectionPage =
a page type for a themed collection. Not mutually exclusive.
» (Traduction) (Résumé en français de la section cinquante-huit, sous-partie neuf : le texte source est conservé pour vérification lors de la relecture francophone.)
Documentation officielle
Primary-source documentation depuis Google et schema.org.
- Carousel (ItemList) Données structurées — le classic host carousel: pris en charge types (Course liste, Movie, Recipe, Restaurant), le summary-page vs. tous-dans-un patterns, le 2+ éléments et même-type règles.
- Carousels (Beta) Données structurées — le newer, geo-gated program (LocalBusiness/Produit/Event; EEA, Turkey, South Africa; 3+ entities).
- Breadcrumb (BreadcrumbList) Données structurées — le breadcrumb application de le même ItemList mechanism.
- Données structurées General Guidelines — le policies que appliquer à ItemList as à chaque type: visibility, accuracy, requis properties, aucun robots.txt/noindex blocking.
schema.org
- ItemList — le type itself: le definition, le HTML-liste distinction,
itemListElement/itemListOrder/numberOfItems, et le “More specific Types” liste confirming le subtypes. - BreadcrumbList — confirms, depuis le autre direction, que BreadcrumbList est an ItemList.
- ListItem — le entry type que carries
position,url, etitem.
Quotes from the source
On-le-record statements depuis Google et schema.org. Où une page exposes le texte, le lien est a deep lien que jumps à le quoted passage.
schema.org — ce que ItemList is
«- “A list of items of any sort—for example, Top 10 Movies About Weathermen, or Top 100 Party Songs.”
— schema.org, ItemList.
Jump to quote
» (Traduction) (Résumé en français de la section soixante-dix, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “Not to be confused with HTML lists, which are often used only for formatting.”
Jump to quote
» (Traduction) (Résumé en français de la section soixante-dix, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- On itemListElement: “For itemListElement values, you can use simple strings (e.g. ‘Peter’, ‘Paul’, ‘Mary’), existing entities, or use ListItem.”
Jump to quote
» (Traduction) (Résumé en français de la section soixante-dix, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
schema.org — BreadcrumbList est an ItemList
«- “A BreadcrumbList is an ItemList consisting of a chain of linked Web pages, typically described using at least their URL and their name, and typically ending with the current page.” — schema.org, BreadcrumbList. Jump to quote » (Traduction) (Résumé en français de la section soixante-douze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — the same-type rule
«- “All items in the list must be of the same type. For example, if a list is about recipes, only include Recipe items. Don’t mix different types.” — Google Search Central, Carousel documentation. Jump to quote » (Traduction) (Résumé en français de la section soixante-quatorze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Gary Illyes, Google (Search Central Live APAC 2025, via Moteur de recherche Journal’s write-up)
«- Excessive or redundant schema “only adds page bloat and has no additional ranking benefits” — schema helps entity understanding and machine features, but is not part of the ranking process. Read the coverage » (Traduction) (Résumé en français de la section soixante-seize, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«John Mueller, Google (Reddit, reported Jan 2026 by Search Engine Roundtable — explicitly framed as personal opinion, “not official guidance”) » (Traduction) (Résumé en français de la section soixante-dix-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- On where schema genuinely helps: “Pricing, shipping, availability for shopping is basically impossible to read in high fidelity & accurately from a text page, for example.” Read the coverage » (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Remarque: le schema.org et Google carousel/breadcrumb citations étaient verified contre le actif pages ce cycle. Le Illyes line est relayed via Moteur de recherche Journal’s écrire-up de his APAC 2025 talk, et le Mueller line via Moteur de recherche Roundtable’s rapport de a Reddit thread — les deux sont secondary-sourced relays de statements à propos de données structurées dans general (pas ItemList précisément), et Mueller explicitly prefaced his as personal, pas official, guidance. Treat les as rep context, et confirmer contre le originals avant treating quelconque wording as final.«## ItemList — cheat sheet » (Traduction) (Résumé en français de la section quatre-vingt-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«The properties » (Traduction) (Résumé en français de la section quatre-vingt-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«| Property | What it does | Notes |
| --- | --- | --- |
| itemListElement | The array of entries | Usually ListItem; can be strings or entities |
| position | 1-based rank of each entry | On each ListItem |
| url | Detail-page URL for a ListItem | Summary-page pattern |
| item | Nested full markup for an entry | All-in-one pattern |
| itemListOrder | Ascending / Descending / Unordered | A hint, not enforced |
| numberOfItems | Total count of the list | Matters for paginated lists |
» (Traduction) (Résumé en français de la section quatre-vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Classic Carousel vs. Carousels (Beta) » (Traduction) (Résumé en français de la section quatre-vingt-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
| Classic Carousel | Carousels (Beta) | |
|---|---|---|
| Pris en charge types | Course liste, Movie, Recipe, Restaurant | LocalBusiness (+ subtypes), Product, Event |
| Availability | Global | EEA, Turkey, South Africa seulement |
| Minimum items | 2+ ListItems | 3+ entities |
| Mixing types | Pas allowed — même type seulement | Allowed si the scenario calls pour it |
| Status | Stable | Beta — actively evolving |
Le règles que break validation
- Fewer que le minimum éléments (2 classic / 3 beta).
- Mixed élément types on le classic carousel — tout éléments doit être le même type là (le beta permet mixing).
- Markup que ne fait pas match visible sur la page contenu.
- Élément URLs off votre propre domain (host carousels sont même-site).
- Manquant requis properties on le companion type.
Rapide facts
- ItemList alone est pas a rich résultat — vous besoin a pris en charge companion type pour a carousel.
- BreadcrumbList est a subtype de ItemList (avec HowToSection, HowToStep, OfferCatalog).
- Pas a facteur de classement — valeur est eligibility + machine understanding.
- JSON-LD est Google’s recommended format.
- ItemList vs. CollectionPage: ordered liste de éléments vs. a themed-collection page type.
Do I besoin ItemList — and va it obtenir me a carousel?
Fonctionner bas le questions; chaque réponse points vous à le correct déplacer.
1. Est votre page genuinely a liste de discrete, ranked/ordered éléments?
- Aucun → ItemList n’est pas le correct type. Si lune page est a themed collection, regarder à
CollectionPageà la place. Si c’est a breadcrumb trail, c’estBreadcrumbList(a subtype de ItemList, mais avec son propre requis shape). - Oui → continuer.
2. Sont ceux éléments un de le carousel-pris en charge types?
- Course liste / Movie / Recipe / Restaurant → vous êtes eligible pour le classic Carousel (mondial). Continuer à 3.
- LocalBusiness / Produit / Event → vous pouvez seulement obtenir a carousel via le Carousels (Beta) program, qui est limited à le EEA, Turkey, et South Africa et nécessite 3+ entities. Elsewhere, votre ItemList encore aide machine understanding mais ne va pas produce a carousel.
- N’importe quoi sinon (blog posts, générique “Top 10”) → plain ItemList est fine pour structure et understanding, mais il va pas produce a carousel rich résultat. ne pas expect un.
3. Faire vous ont séparé detail pages pour chaque élément?
- Oui → utiliser le summary-page modèle: chaque
ListItemnécessite seulement@type,position, eturl; put le complet companion-type markup on chaque detail page. - Aucun, tout’s on un page → utiliser le tous-dans-un modèle: chaque
ListItemnests le completitemmarkup.
4. Final eligibility vérifications avant vous expect a carousel:
- 2+ éléments (3+ pour le beta)? · Tout le même type (classic seulement — le beta permet mixing)? · Markup matches visible contenu? · Élément URLs on votre propre domain? · Requis companion-type properties présent? · Page pas bloqué par robots.txt/noindex?
- Tout oui → vous êtes eligible. Remember Google encore decides si à en réalité rendre il — résultats enrichis sont jamais guaranteed.
Reality vérifier: none de ce lifts rankings. Le upside est a possible carousel (meilleur click-via) et cleaner machine understanding — pas a plus élevé position.
Courant ItemList/carousel problems and Comment corriger les
Symptom-cause-corriger lookups pour le situations que en réalité arrêter a carousel depuis appearing, or que break le BreadcrumbList side de le même mechanism.
Le markup valide clean, mais aucun carousel ever apparaît
Probable causer: ItemList par itself n’est pas a rich résultat — a carousel seulement fires quand ItemList est paired avec a pris en charge companion type (Course liste, Movie, Recipe, Restaurant pour le classic carousel; LocalBusiness/Produit/Event pour le geo-gated beta). Si lune page’s éléments sont a type à l’extérieur ceux listes (a générique “Top 10 blog posts,” pour instance), le ItemList est doing son job pour machine understanding mais était jamais going à produce a carousel. Corriger: confirmer le companion type est un de le pris en charge ones pour le program vous êtes targeting; si il n’est pas, ne pas expect a carousel — remember que même entièrement eligible markup seulement rend vous eligible, jamais guaranteed, since Google encore decides si à rendre il.
The liste validates but Google flags a same-type or count error
Probable causer: le deux la plupart courant structural échecs — mixing élément types on le
classic carousel (“Tout éléments dans le liste doit être de le même type… ne pas mix
différent types”) or having fewer que le minimum (2+ pour le classic carousel, 3+
pour le beta). Si vous êtes targeting le beta à la place, mixed types ne sont pas votre problème —
Google’s beta docs explicitly autoriser mixing entity types quand le scenario calls pour il.
Corriger: pour le classic carousel, vérifier chaque ListItem dans itemListElement est le
même schema.org type; pour le beta, skip que vérifier et confirmer le entry count
contre le correct minimum pour le program vous êtes pairing avec à la place.
Le carousel ne fait pas rendre même though élément count et type sont correct
Probable causer: visible-contenu parity — le texte visible à le utilisateur doit être similaire à le information dans le données structurées, et le élément URLs devrait être on votre propre domain pour a host carousel. A liste que marks up éléments pas genuinely represented on le visible page, or que points à off-domain URLs, fails ce general structured-données policy même quand le ItemList shape itself est technically correct. Corriger: vérifier chaque marked-up élément est genuinely visible on lune page (or, dans le summary-page modèle, que chaque detail page carries le complet companion-type markup) et que URLs resolve on votre propre domain, alors re-valider.
Breadcrumbs (or un autre ItemList subtype) échouer the même façon
Probable causer: parce que BreadcrumbList est formally a subtype de ItemList sharing
le même itemListElement/position mechanics, le même structural mistakes — aussi
quelques éléments, mismatched visible contenu — break breadcrumb eligibility aussi. Corriger:
appliquer le même vérifications (minimum éléments, visible-contenu match) à le BreadcrumbList
markup as vous voudrait à a carousel ItemList; si vous avez debugged un, vous déjà know
comment debug le autre.
Worked exemples: the two ItemList patterns
Le article ci-dessus décrit summary-page et tous-dans-un patterns dans prose seulement — ici’s ce que chaque en réalité semble comme as JSON-LD, plus comment BreadcrumbList reuses le exact même shape.
Modèle 1 — summary page + séparé detail pages
Chaque ListItem carries seulement @type, position, et url; le complet Recipe/Movie/etc.
markup lives on le lié detail page, pas ici.
{
"@context": "https://schema.org",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"url": "https://example.com/recipes/lemon-bars"
},
{
"@type": "ListItem",
"position": 2,
"url": "https://example.com/recipes/banana-bread"
}
]
}positionest 1-fondé, pas 0-fondé.urlest l’URL canonique de que élément’s propre detail page — leRecipeobject itself est marked up over là, pas nested ici.- Ce shape nécessite 2+ entries pour le classic carousel (3+ pour le beta), et chaque entry doit être le même companion type on le far fin.
Pattern 2 — all-in-one page (aucun separate detail pages)
Everything lives on un page, so chaque ListItem nests the complet item object à la place
of simplement a url.
{
"@context": "https://schema.org",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Recipe",
"name": "Lemon Bars",
"url": "https://example.com/recipes#lemon-bars"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "Recipe",
"name": "Banana Bread",
"url": "https://example.com/recipes#banana-bread"
}
}
]
}«- Use this when there’s no dedicated detail page per item — the whole companion-type
object (Recipe here) nests under item.
» (Traduction) (Résumé en français de la section cent vingt et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Both items are Recipe — mixing in a Product or Movie here would break the
same-type rule and disqualify the whole list from carousel eligibility.
» (Traduction) (Résumé en français de la section cent vingt et un, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«### How BreadcrumbList reuses the same mechanism » (Traduction) (Résumé en français de la section cent vingt-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«BreadcrumbList is formally a subtype of ItemList — same itemListElement/position
shape, just a different outer @type and semantic purpose:
» (Traduction) (Résumé en français de la section cent vingt-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Recipes",
"item": "https://example.com/recipes/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Lemon Bars"
}
]
}- Google exige au moins deux
ListItems pour a breadcrumb trail — le même “2+ éléments” mechanic as le classic carousel, simplement applied à page hierarchy à la place de contenu éléments. - Le final crumb (le actuel page) typically omits
item, since il a aucun plus loin lien cible.
Outils pour checking ItemList et carousel eligibility
- Rich-Résultat Eligibility Checker — paste votre JSON-LD, an HTML page, or récupérer a actif URL et voir, per type, qui de Google’s résultats enrichis il qualifies pour, notamment le Breadcrumb fonctionnalité ce article establishes as a subtype de ItemList — il flags le exact manquant requis champ plutôt que simplement a générique réussir/échouer, qui est le fastest façon à voir si a BreadcrumbList (or a carousel companion type) est en réalité eligible.
- Balisage de données structurées Validator — paste or récupérer votre
JSON-LD et exécuter il via severity-tiered structured-données validation: schema.org
vocabulary vérifications, Google’s rich-résultat requirements, et cross-bloquer
@idgraph vérifications, avec a corrected copy-pasteable JSON-LD bloquer back. Utile pour catching le même-type mismatches et manquant-property erreurs que sont le la plupart courant causer de ItemList/carousel validation échecs. - Google’s Résultats enrichis Tester — Google’s propre eligibility checker; a bon deuxième opinion une fois le deux outils ci-dessus come back clean, since il reflects Google’s actif parsing plutôt que a tiers interpretation de le spec.
Confirming an ItemList/carousel modifier en réalité took effect
Le vérifications ci-dessous prove a spécifique ItemList or BreadcrumbList modifier fonctionne, dans le order à exécuter les, avec le signal que signifie “undo ce.”
Confirmer le JSON-LD parses et hits le correct eligibility bar
Tester à exécuter: paste le mis à jour JSON-LD dans le
Rich-Résultat Eligibility Checker or le
Balisage de données structurées Validator. Attendu résultat: le
companion type (Recipe, Movie, Course liste, Restaurant, or le beta’s
LocalBusiness/Produit/Event) montre as eligible, avec aucun manquant-requis-property
erreurs et aucun même-type mismatches flagged. Échec interpretation: a flagged
manquant property signifie le companion type’s propre requis champs ne sont pas présent yet;
a même-type warning signifie le itemListElement array mixes types, qui
disqualifies le entier liste. Monitoring window: immediate — ce est a
point-dans-time parse vérifier, re-exécuter correct après quelconque markup edit. Rollback trigger:
si le checker rapports nouveau eligibility erreurs que n’étaient pas là avant le modifier,
revert à le dernier known-passing JSON-LD pendant que vous investigate.
Confirmer le élément et minimum-count règles hold
Tester à exécuter: count le ListItem entries dans itemListElement et vérifier chaque
un’s @type (on le nested item, or on le lié detail page pour le
summary-page modèle) contre le même-type règle. Attendu résultat: 2 or plus
entries pour le classic carousel (3 or plus pour le beta), et chaque entry
resolving à le identical companion type. Échec interpretation: fewer entries
que le minimum, or a mixed-type liste, signifie le ItemList est structurally valide
JSON-LD mais encore ne va pas qualify pour a carousel. Monitoring window: immediate —
ce est a static structural vérifier contre le actuel markup. Rollback trigger:
si a contenu modifier drops le liste ci-dessous le minimum count, treat que as a
regression et restore le supprimé éléments or pull le carousel-targeting markup jusqu’à
le count est back up.
Confirmer Google en réalité renders the fonctionnalité (pas simplement eligibility)
Tester à exécuter: exécuter le actif page via Google’s Résultats enrichis Tester, alors watch Search Console’s Enhancements rapport pour le pertinent carousel or breadcrumb fonctionnalité over le suivant weeks. Attendu résultat: Résultats enrichis Tester confirms le fonctionnalité est detected avec aucun erreurs, et le Enhancements rapport montre valide éléments avec aucun nouveau warnings. Échec interpretation: eligibility passing dans a tiers outil mais Google’s propre tester or Search Console showing erreurs généralement signifie a policy problème (visible-contenu mismatch, bloqué page) plutôt que a markup syntax problème. Monitoring window: a carousel’s réel appearance dans recherche résultats est jamais guaranteed même quand eligible, donc treat 2–4 weeks de Search Console données as le point où vous pouvez judge si le fonctionnalité est étant picked up à tout. Rollback trigger: si Search Console commence reporting a rising erreur count pour ce élément type après le modifier, revert le markup à le dernier version que showed zero erreurs.
Ressources utiles
Mon connexe writing
- Données structurées: Ce que c’est et Comment utiliser Il — mon Ahrefs guide à schema types, implementation méthodes, validation outils, et le
sameAsentity angle; le broader context ItemList sits à l’intérieur. - Le Beginner’s Guide à SEO technique — où données structurées (et listes comme ce) fit dans le bigger picture.
«My speaking » (Traduction) (Résumé en français de la section cent quarante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- How Search Works (SlideShare) — my walkthrough of crawling, rendering, indexing, and ranking, for the context of where markup like ItemList does and doesn’t move the needle. (My standing disclaimer applies: “This is my understanding of systems… not going to be 100% complete or accurate.”) » (Traduction) (Résumé en français de la section cent quarante-quatre, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
Official
- Google — Carousel (ItemList) Données structurées et Carousels (Beta) — le deux carousel programs, leur pris en charge types, et requirements.
- Google — Données structurées General Guidelines — le policies chaque rich-résultat type (ItemList inclus) a à satisfy.
- schema.org — ItemList et BreadcrumbList — le type definitions, et le subtype relationship confirmed depuis les deux directions.
Depuis autour le industry
- Recherche Google Central APAC 2025: Tout Depuis Day 2 (Moteur de recherche Journal) — Gary Illyes on schema, classement, et “page bloat.”
- John Mueller (Personally) On Si Schema Aide Avec LLMs & Google (Moteur de recherche Roundtable, Jan 2026) — Mueller’s personal, non-official prendre on où données structurées genuinely aide.
- Ce que Est ItemList Schema? A Complet Guide (Greadme) — a solid tiers walkthrough de carousel eligibility conditions et le deux implementation patterns.
- ItemList Schema (Classer Math KB) — plugin-oriented référence que separates “ItemList” depuis “Carousel” et covers les deux utiliser-case patterns.
Testez vos connaissances: ItemList Schema
Five rapide questions on ce que ItemList is — and isn’t. Pick an réponse pour chaque, alors vérifier.
Journal des modifications
Mis à jour le 18 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.