Panduan ItemList Schema

ItemList adalah schema.org's generic ordered-list container — mechanism Google's Carousel rich hasil adalah dibangun pada, dan parent jenis BreadcrumbList inherits dari. What ini melakukan, what ini doesn't, dan how pieces fit.

Pertama kali diterbitkan: 2 Jul 2026 · Terakhir diperbarui: 3 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

ItemList adalah schema.org's generic 'ini adalah sebuah ordered list dari things' container — two properties (itemListElement dan sebuah 1-based position) melakukan almost semua berfungsi. single biggest misconception: ItemList oleh itself adalah not sebuah rich hasil dan doesn't get Anda sebuah carousel. Google's Carousel rich hasil adalah dibangun pada top dari ItemList, dan hanya fires when Anda pair ini dengan sebuah didukung companion jenis (Course list, Movie, Recipe, Restaurant untuk classic carousel; LocalBusiness/Product/Event untuk sebuah newer geo-gated beta limited untuk EEA, Turkey, dan South Africa). BreadcrumbList adalah formally sebuah subtype dari ItemList — sama itemListElement/position mechanics — which adalah detail itu trips up bahkan experienced implementers. Items harus semua menjadi yang sama jenis pada classic carousel ( beta allows mixing), Anda perlu 2+ items (3+ untuk beta), dan markup harus match terlihat konten. dan like semua data terstruktur, ItemList adalah not sebuah peringkat factor; -nya nilai adalah rich-hasil eligibility, not position — dan Google adalah explicit itu meeting requirements tidak pernah guarantees fitur actually displays.

TL;DR — ItemList adalah schema.org’s generic ordered-list container; itemListElement

  • sebuah 1-based position melakukan berfungsi, dengan itemListOrder dan numberOfItems sebagai lesser-digunakan extras (numberOfItems penting untuk paginated lists). ini adalah not itself sebuah rich hasil — Google’s Carousel adalah dibangun pada top dari ini dan hanya fires dengan sebuah didukung companion jenis: Course list, Movie, Recipe, Restaurant untuk classic carousel, dan LocalBusiness/Product/Event untuk sebuah newer beta itu’s geo-gated untuk EEA, Turkey, dan South Africa. Two patterns: summary-halaman (url-hanya ListItems) dan semua-di-one (nested items). aturan: 2+ items (3+ untuk beta), semua yang sama jenis pada classic carousel ( beta allows mixing), markup harus match terlihat konten. BreadcrumbList adalah formally sebuah subtype dari ItemList (dengan HowToSection, HowToStep, OfferCatalog) — detail sebagian besar guides miss. dan data terstruktur adalah not sebuah peringkat factor — -nya payoff adalah eligibility dan understanding, not position.
Evidence for this claim Schema.org ItemList models an ordered or unordered collection and ListItem can supply item positions and URLs. Scope: Schema.org ItemList vocabulary. Confidence: high · Verified: Schema.org: ItemList Evidence for this claim Google uses ItemList within specific features such as host carousels; a generic valid ItemList has no standalone guaranteed rich result. Scope: Current Google carousel implementation and eligibility. Confidence: high · Verified: Google Search Central: Carousel structured data

What ItemList actually adalah

Schema.org’s definition adalah deliberately broad: “A list of items of any sort—for example, Top 10 Movies About Weathermen, or Top 100 Party Songs.” (terjemahan) “sebuah list dari items dari apa pun sort—misalnya, Top 10 Movies tentang Weathermen, atau Top 100 Party Songs.” line itu menjelaskan why jenis perlu untuk exist adalah next one: “Not to be confused with HTML lists, which are often used only for formatting.” (terjemahan) “Not untuk menjadi confused dengan HTML lists, which adalah sering digunakan hanya untuk formatting.” sebuah <ol>/<ul> conveys “these are a list, in this order” (terjemahan) “ini adalah sebuah list, di ini order” purely oleh visual convention. ItemList declares container (ItemList), setiap entry (ListItem), dan setiap entry’s peringkat (position) sebagai data sebuah machine dapat read without inferring anything dari layout.

Two properties melakukan heavy lifting:

  • itemListElement — array dari entries. Schema.org: “For itemListElement values, you can use simple strings (e.g. ‘Peter’, ‘Paul’, ‘Mary’), existing entities, or use ListItem.” (terjemahan) “untuk itemListElement nilai, Anda dapat gunakan sederhana strings (e.g. ‘Peter’, ‘Paul’, ‘Mary’), existing entities, atau gunakan ListItem.” untuk anything itu ingin sebuah URL atau sebuah position (i.e. anything aiming di sebuah rich hasil), Anda gunakan ListItem.
  • position — sebuah 1-based integer giving setiap ListItem -nya peringkat.

Two more adalah documented tetapi skipped oleh sebagian besar guides:

  • itemListOrder“Type of ordering (e.g. Ascending, Descending, Unordered).” (terjemahan) “jenis dari ordering (e.g. Ascending, Descending, Unordered).” sebuah declaration, not something Google enforces.
  • numberOfItems“The number of items in an ItemList. Note that some descriptions might not fully describe all items in a list.” (terjemahan) “ angka dari items di sebuah ItemList. Note itu beberapa deskripsi mungkin not fully describe semua items di sebuah list.” ini one earns -nya pertahankan pada paginated lists: sebuah “Top 100” (terjemahan) “Top 100” split di seluruh five halaman dapat gunakan numberOfItems untuk state full count bahkan though apa pun one halaman marks up hanya twenty entries.

(There’s juga aggregateElement untuk holding aggregate ratings/offers di seluruh list — genuinely niche; Anda’ll rarely touch ini.)

two implementation patterns

Google’s carousel documentation describes two shapes, dan which one Anda gunakan perubahan what setiap ListItem looks like:

Summary halaman dan multiple detail halaman

sebuah summary halaman lists setiap item briefly, dan setiap entry tautan out untuk sebuah dedicated detail halaman. Here ListItem adalah minimal — Google: summary halaman defines sebuah ItemList where setiap ListItem memiliki hanya three properties: @type (atur ke ListItem), position ( position di list), dan url ( canonical URL dari item’s detail halaman). full per-item data terstruktur ( Recipe, Movie, etc.) lives pada setiap detail halaman.

semua-di-one summary halaman

Everything lives pada one halaman, so setiap ListItem carries sebuah nested item containing full companion-jenis markup ( whole Recipe object, misalnya) alih-alih hanya sebuah url. gunakan ini when tidak ada separate detail halaman.

Here’s accuracy spine dari whole topic. ItemList adalah sebuah container; Carousel adalah sebuah rich hasil dibangun pada top dari ini. ItemList alone, dengan no didukung companion jenis, melakukan not produce sebuah distinct “list” (terjemahan) “list” rich hasil di classic Google Search. Google’s docs adalah explicit itu carousel eligibility memerlukan both pieces.

untuk menjadi eligible untuk sebuah host carousel rich hasil, Anda tambahkan ItemList data terstruktur di combination dengan one dari sebuah kecil, Google-controlled set dari didukung fitur. sebagai dari Google’s saat ini (2026) documentation, itu list adalah:

  • Course list
  • Movie
  • Recipe
  • Restaurant

itu’s ini untuk classic carousel. lainnya jenis — Product, BlogPosting, Event — dapat carry ItemList markup untuk organization dan machine understanding, tetapi itu alone melakukan not membuat them classic-carousel-eligible.

Carousels (Beta) — newer, geo-gated program

There’s sebuah kedua, newer program — Carousels (Beta) — itu Google describes sebagai “a list-like rich result that people can scroll horizontally to see more entities from a given site.” (terjemahan) “sebuah list-like rich hasil itu people dapat scroll horizontally untuk see more entities dari sebuah given situs.” ini adalah more actively-evolving bagian dari ini fitur area, dan ini differs dari classic carousel di three penting cara:

  • berbeda didukung jenis: ItemList combined dengan LocalBusiness dan -nya subtypes (Restaurant, Hotel, VacationRental), Product, atau Event — sebuah broader dan berbeda set daripada classic four.
  • Geographically limited: ini adalah available hanya di EEA countries, Turkey, dan South Africa, pada desktop dan mobile, dengan eligible kueri jenis varying oleh region. ini adalah not sebuah global fitur — sebuah caveat worth stating plainly, since several ketiga-party write-ups discuss ini sebagai jika ini adalah umumnya available.
  • sebuah higher minimum: beta memerlukan sebuah summary halaman plus detail halaman dengan setidaknya three itemListElement.item entries, versus classic carousel’s two.
  • Mixing adalah allowed: unlike classic carousel’s strict sama-jenis aturan, Google’s beta documentation says Anda “can mix and match different types of entities (for example, hotels, restaurants), if needed for your scenario” (terjemahan) “dapat mix dan match berbeda jenis dari entities (untuk contoh, hotels, restaurants), jika needed untuk Anda scenario” — don’t carry classic sama-jenis assumption di atas when Anda’re berfungsi dengan beta.

Treat beta sebagai “watch this space” (terjemahan) “watch ini space” alih-alih sebuah stable, universal fitur.

How BreadcrumbList (dan sebuah few others) relate untuk ItemList

ini adalah single sebagian besar di bawah-covered, differentiating fact tentang ItemList, dan ini clears up sebuah umum poin dari confusion: BreadcrumbList adalah not sebuah separate, unrelated schema jenis — ini adalah formally sebuah subtype dari ItemList. Schema.org states ini 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.” (terjemahan) “sebuah BreadcrumbList adalah sebuah ItemList consisting dari sebuah chain dari ditautkan halaman web, typically described menggunakan setidaknya mereka URL dan mereka name, dan typically ending dengan saat ini halaman.” dan schema.org’s own “More specific Types” (terjemahan) “More spesifik jenis” list untuk ItemList adalah exactly four entries: BreadcrumbList, HowToSection, HowToStep, dan OfferCatalog.

Practically, itu berarti itemListElement + position mechanics Anda gunakan untuk sebuah carousel adalah literally yang sama ones Anda gunakan untuk breadcrumbs — hanya outer @type (BreadcrumbList vs. plain ItemList) dan semantic purpose perubahan. Google frames breadcrumbs yang sama cara: untuk specify breadcrumbs, Anda define sebuah BreadcrumbList containing di least two ListItems. jika Anda’ve implemented one, Anda sudah memahami lainnya. ( breadcrumb side dari ini family lives di -nya own deep dive, dan terlihat carousel hasil adalah subject dari sebuah sibling carousel piece — both sit di ini sama structured-data sub-cluster.)

Implementation requirements dan umum validation failures

sebagian besar carousel/ItemList failures come down untuk sebuah handful dari documented aturan:

  • Minimum item count. Google memerlukan itemListElement array untuk berisi two atau more ListItem elements untuk classic carousel (three atau more untuk beta). One item adalah not sebuah list.
  • sama-jenis aturan (classic carousel) — frequent nyata cause dari failures. Google: “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.” (terjemahan) “semua items di list harus menjadi dari yang sama jenis. misalnya, jika sebuah list adalah tentang recipes, hanya sertakan Recipe items. Don’t mix berbeda jenis.” sebuah list itu mixes Recipes dan Products won’t validate sebagai sebuah classic carousel. ini aturan adalah spesifik untuk classic program — beta above explicitly permits mixing entity jenis, so don’t carry yang sama-jenis assumption di atas when itu’s program Anda’re targeting.
  • terlihat-konten parity. sebuah umum structured-data policy itu’s called out specifically here: text terlihat untuk pengguna harus menjadi similar untuk informasi di structured data. Anda dapat’t mark up items itu aren’t genuinely represented di terlihat halaman.
  • sama-domain URLs. sebuah host carousel menampilkan cards dari sama situs; item URLs seharusnya menjadi pada Anda own domain.
  • Standard structured-data hygiene applies. JSON-LD adalah Google’s recommended format, semua diperlukan properties untuk Anda companion jenis harus menjadi present (“Items that are missing required properties are not eligible for rich results” (terjemahan) “Items itu adalah missing diperlukan properties adalah not eligible untuk rich hasil”), dan Anda harus not block marked-up halaman dari Googlebot via robots.txt atau noindex. ini adalah yang sama umum guidelines itu govern setiap rich-hasil jenis — broader structured-data hub covers them di full.

melakukan ItemList schema affect rankings? (No.)

pendek jawaban: no. data terstruktur adalah not sebuah peringkat factor, dan itu mencakup ItemList. ini adalah Google’s consistent, repeated position. di Search Central Live APAC 2025, Gary Illyes dibuat poin itu “excessive or redundant schema only adds page bloat and has no additional ranking benefits,” (terjemahan) “excessive atau redundant schema hanya menambahkan halaman bloat dan memiliki no additional peringkat benefits,” framing schema sebagai sebuah aid untuk entity understanding dan machine fitur — explicitly not bagian dari peringkat process. Google’s standing position di seluruh recent years adalah yang sama: data terstruktur adalah not sebuah sinyal peringkat, dan bahkan di cases dari structured-data misuse consequence adalah loss dari rich-hasil eligibility (via sebuah manual tindakan), not sebuah peringkat penalty.

Where melakukan nilai come dari, lalu? Two places: rich-hasil eligibility (sebuah carousel dapat lift click-melalui, not position) dan machine understanding. pada kedua poin, John Mueller — speaking personally, dan explicitly “not official guidance” (terjemahan) “not official guidance” — noted di early 2026 itu beberapa fitur genuinely benefit dari data terstruktur, giving contoh itu “pricing, shipping, availability for shopping is basically impossible to read in high fidelity & accurately from a text page.” (terjemahan) “pricing, shipping, availability untuk shopping adalah basically impossible untuk read di tinggi fidelity & accurately dari sebuah text halaman.” itu’s honest frame: ItemList helps machines memahami sebuah structured list; ini melakukan not peringkat ini higher.

ItemList vs. CollectionPage — sebuah quick disambiguation

ini get confused because both apply untuk “listing” (terjemahan) “listing” halaman, tetapi mereka jawaban berbeda pertanyaan. ItemList describes sebuah ordered list dari discrete items — entries dan mereka positions. CollectionPage adalah sebuah halaman jenis itu mewakili sebuah themed collection; ini adalah tentang halaman-tingkat semantics (“this page is a collection of things” (terjemahan) “ini halaman adalah sebuah collection dari things”) alih-alih ordering dari spesifik list items. mereka’re not mutually exclusive — sebuah category halaman dapat menjadi sebuah CollectionPage itu juga berisi sebuah ItemList dari -nya products — tetapi reach untuk ItemList when what Anda ingin express adalah “here are the ranked items,” (terjemahan) “here adalah diperingkatkan items,” dan CollectionPage when Anda ingin express “this page is a curated collection.” (terjemahan) “ini halaman adalah sebuah curated collection.”

Where ini fits

ItemList adalah sebuah deep dive di bawah broader data terstruktur hub, alongside sibling pieces pada terlihat carousel rich hasil (ItemList’s main Google application) dan pada BreadcrumbList (formally sebuah subtype dari very sama mechanism). untuk fundamentals itu govern setiap jenis here — schema.org vocabulary, JSON-LD, “not a ranking factor” (terjemahan) “not sebuah peringkat factor” spine, dan shrinking list dari didukung rich hasil — see data terstruktur hub. itu sub-cluster lives inside broader pada-halaman SEO cluster.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.