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.

Première publication : 2 juil. 2026 · Dernière mise à jour : 3 août 2026 · Avancé
1 indice probant sur cette page

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.

TL;DR — ItemList est schema.org’s générique ordered-liste container; itemListElement

  • a 1-fondé position faire le fonctionner, avec itemListOrder et numberOfItems as lesser-utilisé extras (numberOfItems matters 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.
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 data

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 utiliser ListItem.
  • position — a 1-fondé integer giving chaque ListItem its 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 utiliser numberOfItems à 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.

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.

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 itemListElement array à contenir deux or plus ListItem elements 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.

Ajouter une note d’expert

Épingler une citation d’expert

Nouvelle personne ? Créez son profil non revendiqué à /admin/experts/ → Épingler une citation d’expert d’abord.