Resources / Structured data / Reference

Structured data type-selection reference

Use 26 Schema.org selection entries to choose markup that accurately describes visible, maintainable page content.

Use this type-selection reference

Structured data labels the people, organizations, products, offers, articles, videos, and other subjects described on a page. Most website implementations use the Schema.org vocabulary and express it as JSON-LD, a block of machine-readable data attached to the page.

Choose a type because it accurately describes visible page content, not because the type exists or might produce a special search result. The markup should use the same facts as the page and any connected feeds. Valid code can still be misleading when its values are incomplete, outdated, or attached to the wrong page.

The 26 entries below are commonly useful across business, publishing, ecommerce, local, and specialist websites. Some entries group related types because the decision is shared. Search engines support only some types for enhanced search displays, and eligibility does not guarantee that a feature will appear. Use this reference to identify plausible types, then confirm the vocabulary definition, consumer requirements, visible evidence, and maintenance owner before implementation.

Read Structured Data first if you need the concepts, system boundaries, planning model, or implementation workflow before selecting individual types. Copyable examples are linked from the relevant entries, and the complete template library groups all published implementations.

Choose what to fix first

If existing markup has a material factual conflict, points to the wrong subject or page, or no longer reflects visible maintained content, repair the governed fact and the existing implementation before selecting a new type. Validate the repaired page and record its maintenance owner before moving on.

When no such failure is demonstrated, use the site’s purpose and the table below to select only entries that describe relevant visible content. A new type is optional unless it accurately describes maintained page content and serves an identified consumer or integration. You may defer types that do not fit the current page, business model, or maintenance capacity. This reference is complete for the immediate task when the applicable markup is accurate, validated, and owned; it does not require all 26 entries.

Start with the site’s purpose

If you are describing…Review these entries firstLikely next action
The publisher, its site, a person, or an individual page1–6Use the linked foundation templates and the live-page validation tutorial
A location, purchasable product, variant, or offer2, 7–12Confirm selected-page facts and commerce ownership before code
An article, public profile, publisher-written FAQ, review, or list4–6, 13–20Select the actual page subject; do not add a FAQ or review section solely for markup
A scheduled, specialist, or downloadable resource14–16, 21–26Check the type’s consumer requirements and maintenance trigger

You may stop after the entries that fit. This is not an implementation sequence and no site needs all 26 entries.

Jump to a selection group

Foundational entities and site structure

1. Organization

Use Organization to identify a company, nonprofit, institution, or other formal group. It can connect the organization’s preferred name, website, logo, contact details, identifiers, and verified profiles, helping systems distinguish it from organizations with similar names.

Start with the Organization JSON-LD template.

2. LocalBusiness

Use LocalBusiness, or a more specific subtype such as Restaurant or Dentist, for an organization that serves customers from a physical location or defined local area. Keep its name, address, telephone number, opening hours, and other location facts aligned with the page and the organization’s maintained business profiles.

Use the LocalBusiness JSON-LD template for one physical location or branch.

3. WebSite

Use WebSite to describe the website as a whole and connect it to its name, URL, language, and publisher. It is normally a site-level entity rather than a description repeated independently for every page.

Connect the site and publisher with the WebSite JSON-LD template.

4. WebPage and its subtypes

Use WebPage when you need to identify an individual page and connect it to its website, subject, author, or primary content. More specific types such as AboutPage, ContactPage, ProfilePage, CollectionPage, and ItemPage can clarify the page’s role when they accurately match it.

See the WebPage and AboutPage JSON-LD template for the page-to-site and page-to-entity connections.

5. Person

Use Person for an identifiable individual such as an author, founder, instructor, or subject of a profile. Include only relevant, supportable facts, and use a stable identifier when the same person appears across articles, profile pages, and organization relationships.

Use the Person JSON-LD template to establish a restrained, reusable identity record.

6. BreadcrumbList

Use BreadcrumbList to describe a page’s position in the site’s hierarchy. Its ordered items should match a useful navigation path rather than a collection of keywords, and each linked step should lead to the page it names.

Build the ordered path with the BreadcrumbList JSON-LD template.

Products, offers, services, and locations

For a retail catalog, the markup in this group usually has a counterpart in a submitted product feed. Keep the two consistent, and use the merchant feed readiness checklist when a feed is going to an AI merchant program.

7. Product

Use Product for a specific product or model described on the page. Connect its name, brand, identifiers, images, and other product facts to the information a visitor can verify, then use an offer when the page also presents purchasing terms.

Use the Product JSON-LD template for one product and its current offer.

8. ProductGroup for product variants

Use ProductGroup when several Product entities are variants of one parent product, such as different sizes, colors, materials, or capacities. Identify what varies and give each selectable variant a distinct identity; the correct URL and markup pattern depends on whether variants share a page or have separate pages.

See the ProductGroup and variant template for a compact single-page example.

9. Offer

Use Offer for the terms under which a product, service, ticket, or other item is available. Price, currency, availability, seller, condition, and eligible region are offer facts, so they should change when the actual terms change rather than being copied permanently into a template.

Choose and customize an Offer or AggregateOffer template.

10. AggregateOffer

Use AggregateOffer when a page presents a meaningful summary of multiple offers for the same item, such as a price range and offer count. Do not use it to hide the individual offers a visitor needs to evaluate or to combine unrelated products into one apparent deal.

The Offer and AggregateOffer templates show the difference between one set of terms and a supported summary.

11. Service

Use Service for work or assistance provided by an organization or person, including professional, home, financial, government, or digital services. Describe the actual service, provider, service area, and available offer where those facts are present on the page.

12. MerchantReturnPolicy and ShippingService

Use MerchantReturnPolicy and ShippingService to describe maintained business-wide return and delivery rules for an online store. These types support product offers but should come from the same operational policies shown to customers, including applicable countries, fees, methods, and timeframes.

Editorial and audience content

13. Article, BlogPosting, and NewsArticle

Use Article for editorial content, with BlogPosting or NewsArticle when the more specific type fits the publication. Connect the headline, author, dates, images, and publisher to visible, accurate page information, and update the modification date only when the content changes meaningfully.

Use the Article and BlogPosting JSON-LD template to connect the work, author, publisher, and page.

14. VideoObject

Use VideoObject for a video that is an important part of the page. Describe its name, thumbnail, upload date, duration, and playable location accurately; related types such as Clip or BroadcastEvent can describe key segments or a livestream when applicable.

15. ImageObject

Use ImageObject when an image is a meaningful entity with details such as its creator, caption, date, license, or representative content URL. It is most useful when those facts matter independently, not as a requirement to wrap every decorative image in markup.

16. ProfilePage

Use ProfilePage for a page primarily about one person or organization, such as an author, employee, member, or creator profile. The page should identify its main subject explicitly and connect that subject to the content, credentials, or relationships the visitor can see.

17. FAQPage

Use FAQPage when one organization publishes a list of questions with its own authoritative answers and visitors cannot submit alternative answers. Search-display support is limited and can change, so implement it for an accurate content description rather than assuming it will produce a rich result.

The FAQPage JSON-LD template keeps the questions and accepted answers tied to visible content.

18. QAPage and discussion content

Use QAPage for a page centered on one question where users can submit answers, and use discussion types for forum threads and related posts. Do not mark an editorial FAQ or a marketing page as user-generated question-and-answer content.

19. Review and AggregateRating

Use Review for an identifiable evaluation of an item and AggregateRating for a summary based on multiple ratings. Mark up the thing actually reviewed, retain the scale and count, and do not add ratings that visitors cannot find or that the publisher created about itself in a prohibited context.

Use the Review and AggregateRating JSON-LD template to preserve the reviewed item, source, scale, and counts.

20. CollectionPage and ItemList

Use CollectionPage for a page whose main purpose is presenting a collection, and ItemList for the ordered or unordered items in that collection. These types can describe category pages, rankings, galleries, and curated lists when the items and order match what the page displays.

Specialized content

21. Event

Use Event for a scheduled occurrence with a date, location or online attendance method, organizer, and attendance status. Keep postponements, cancellations, schedule changes, and ticket offers current so the markup does not preserve an obsolete event state.

22. JobPosting

Use JobPosting for a specific open position, with its employer, location, employment terms, publication date, and valid-through date. Remove or update the markup when the role closes; an expired vacancy should not continue to appear available.

23. Course and CourseInstance

Use Course for an educational program or class and CourseInstance for a particular offering with its own schedule, delivery mode, instructor, or location. Keep the course description separate from the dates and availability of each scheduled instance.

24. Recipe

Use Recipe for instructions that tell a reader how to prepare a dish or drink. Ingredients, yield, time, nutrition, images, and instructions should agree with the recipe people see and should not be inferred merely to complete optional properties.

25. SoftwareApplication

Use SoftwareApplication, or a suitable subtype such as MobileApplication or WebApplication, for a specific software product. Describe the supported platform, category, version, pricing offer, and requirements only when the page supplies and maintains those facts.

26. Dataset

Use Dataset for a structured body of data that people can access or download. Identify its creator, description, coverage, license, distribution format, and update history so readers and systems can judge what the dataset contains and how it may be used.

Choose the next template deliberately

Begin with the entities that matter to the site and the facts the organization can maintain. A typical publication may need Organization, WebSite, WebPage, Person, Article, and BreadcrumbList; an online store may add Product, ProductGroup, Offer, shipping, and return-policy types.

Before implementation, decide where each fact comes from, which page should describe it, and who will update it. Browse the structured data template library for copyable code, customization instructions, and validation steps.