Skip to content

itemtype - Microdata Vocabulary URL

Global Attribute HTML5

The itemtype attribute specifies the URL of the vocabulary that defines the item properties in Microdata. It works in conjunction with the itemscope attribute to create structured data that search engines and other tools can understand, enabling rich snippets in search results and improved SEO.

Result
<element itemscope itemtype="vocabulary-url">
<span itemprop="property">value</span>
</element>

The itemtype attribute must:

ValueDescription
URLAn absolute URL pointing to the vocabulary definition. Most commonly uses Schema.org URLs (e.g., https://schema.org/Person).

Schema.org is the most widely used vocabulary for structured data on the web. Here are the most common types:

Result
Result
Result
Result
Result
Result
Result
Result
Result

You can specify multiple types for an item by providing space-separated URLs. This is useful when an item fits multiple vocabularies:

Result

While Schema.org is the most common vocabulary, you can use custom vocabularies by providing your own URL:

<div itemscope itemtype="https://example.com/vocab/CustomProduct">
<span itemprop="productCode">ABC123</span>
<span itemprop="internalCategory">electronics</span>
</div>

The itemtype attribute, when used with proper Microdata markup, can significantly enhance your site’s appearance in search results:

Rich snippets are enhanced search results that display additional information beyond the standard title, URL, and description. They can include:

Products can show price, availability, and ratings directly in search results, increasing click-through rates.

<div itemscope itemtype="https://schema.org/Product">
<span itemprop="name">Wireless Headphones</span>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<span itemprop="price">79.99</span>
<meta itemprop="priceCurrency" content="USD">
</div>
<div itemprop="aggregateRating" itemscope
itemtype="https://schema.org/AggregateRating">
<span itemprop="ratingValue">4.5</span> stars
</div>
</div>

Use these tools to validate your Microdata markup:

The itemtype attribute is supported in all modern browsers as part of the HTML5 Microdata specification.

BrowserVersionNotes
Chrome6+Full support
Firefox16+Full support
Safari5+Full support
EdgeAll versionsFull support
Opera11.6+Full support

Choose the most specific Schema.org type that applies to your content:

<!-- Too generic -->
<div itemscope itemtype="https://schema.org/Thing">
<span itemprop="name">My Restaurant</span>
</div>
<!-- Better - more specific -->
<div itemscope itemtype="https://schema.org/Restaurant">
<span itemprop="name">My Restaurant</span>
<span itemprop="servesCuisine">Italian</span>
</div>

Each Schema.org type has required properties. Always include them for valid markup:

<!-- Product requires name and at least one of offers, review, or aggregateRating -->
<div itemscope itemtype="https://schema.org/Product">
<span itemprop="name">Laptop Computer</span>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<span itemprop="price">899.99</span>
<meta itemprop="priceCurrency" content="USD">
</div>
</div>

Nest related types to provide comprehensive structured data:

<div itemscope itemtype="https://schema.org/JobPosting">
<span itemprop="title">Frontend Developer</span>
<div itemprop="hiringOrganization" itemscope
itemtype="https://schema.org/Organization">
<span itemprop="name">TechCorp</span>
</div>
<div itemprop="jobLocation" itemscope
itemtype="https://schema.org/Place">
<div itemprop="address" itemscope
itemtype="https://schema.org/PostalAddress">
<span itemprop="addressLocality">New York</span>
</div>
</div>
</div>

Whenever possible, use Microdata on visible content rather than hidden elements:

<!-- Preferred - marking up visible content -->
<h1 itemprop="name">Product Name</h1>
<p itemprop="description">This is the product description.</p>
<!-- Avoid - hidden metadata (unless necessary) -->
<meta itemprop="name" content="Product Name">
<meta itemprop="description" content="This is the product description.">

The itemtype attribute requires itemscope to be present:

<!-- Wrong - itemtype without itemscope -->
<div itemtype="https://schema.org/Person">
<span itemprop="name">John Doe</span>
</div>
<!-- Correct -->
<div itemscope itemtype="https://schema.org/Person">
<span itemprop="name">John Doe</span>
</div>

The itemtype value must be an absolute URL:

<!-- Wrong - relative URL -->
<div itemscope itemtype="/schema/Person">
<!-- Correct - absolute URL -->
<div itemscope itemtype="https://schema.org/Person">

Use the exact property names defined in the vocabulary:

<!-- Wrong - "fullName" is not a valid Person property -->
<div itemscope itemtype="https://schema.org/Person">
<span itemprop="fullName">John Doe</span>
</div>
<!-- Correct - "name" is the valid property -->
<div itemscope itemtype="https://schema.org/Person">
<span itemprop="name">John Doe</span>
</div>

Schema.org

The most widely used vocabulary for structured data

schema.org