Microdata (HTML)
Microdata is a WHATWG HTML specification used to nest metadata within existing content on web pages.[1] Search engines, web crawlers, and browsers can extract and process Microdata from a web page and use it to provide a richer browsing experience for users. Search engines benefit greatly from direct access to this structured data because it allows them to understand the information on web pages and provide more relevant results to users.[2][3] Microdata uses a supporting vocabulary to describe an item and name-value pairs to assign values to its properties.[4] Microdata is an attempt to provide a simpler way of annotating HTML elements with machine-readable tags than the similar approaches of using RDFa and microformats.
HTML |
---|
Comparisons |
|
In 2013, because the W3C HTML Working Group failed to find someone to serve as an editor for the Microdata HTML specification, its development was terminated with a 'Note'.[5][6] However, since that time, two new editors were selected, and five newer versions of the working draft have been published,[7][8][9][10] the most recent being W3C Working Draft 26 April 2018.[10]
Vocabularies
Microdata vocabularies do not provide the semantics, or meaning of an Item.[11] Web developers can design a custom vocabulary or use vocabularies available on the web. A collection of commonly used markup vocabularies are provided by Schema.org schemas which include: Person, "Place", Event, Organization, Product, Review, Review-aggregate, Breadcrumb, Offer, Offer-aggregate. The website schema.org was established by search engine operators like Google, Microsoft, Yahoo!, and Yandex, which use microdata markup to improve search results.[12]:85
For some purposes, an ad-hoc vocabulary is adequate. For others, a vocabulary will need to be designed. Where possible, authors are encouraged to re-use existing vocabularies, as this makes content re-use easier.[1]
Localization
In some cases, search engines covering specific regions may provide locally-specific extensions of microdata. For example, Yandex, a major search engine in Russia, supports microformats such as hCard (company contact information), hRecipe (food recipe), hReview (market reviews) and hProduct (product data) and provides its own format for definition of the terms and encyclopedic articles. This extension was made in order to solve transliteration problems between the Cyrillic and Latin alphabets. After the implementation of additional parameters from Schema's vocabulary,[13] indexation of information in Russian-language web-pages became more successful.
Global attributes
itemscope
– Creates the Item and indicates that descendants of this element contain information about it.[1]itemtype
– A valid URL of a vocabulary that describes the item and its properties context.itemid
– Indicates a unique identifier of the item.itemprop
– Indicates that its containing tag holds the value of the specified item property. The property's name and value context are described by the item's vocabulary. Properties values usually consist of string values, but can also use URLs using thea
element and itshref
attribute, theimg
element and itssrc
attribute, or other elements that link to or embed external resources.[1]itemref
– Properties that are not descendants of the element with theitemscope
attribute can be associated with the item using this attribute. Provides a list of element ids (notitemid
s) with additional properties elsewhere in the document.[1]datetime
- Indicates date or duration as specified by ISO 8601 standard.
Example
The following HTML5 markup may be found on a typical “About” page containing information about a person:
<section> Hello, my name is John Doe, I am a graduate research assistant at
the University of Dreams.
My friends call me Johnny.
You can visit my homepage at <a href="http://www.JohnnyD.com">www.JohnnyD.com</a>.
I live at 1234 Peach Drive, Warner Robins, Georgia.</section>
Here is the same markup with added Schema.org[14][15][16] Microdata:
<section itemscope itemtype="http://schema.org/Person">
Hello, my name is
<span itemprop="name">John Doe</span>,
I am a
<span itemprop="jobTitle">graduate research assistant</span>
at the
<span itemprop="affiliation">University of Dreams</span>.
My friends call me
<span itemprop="additionalName">Johnny</span>.
You can visit my homepage at
<a href="http://www.JohnnyD.com" itemprop="url">www.JohnnyD.com</a>.
<section itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
I live at
<span itemprop="streetAddress">1234 Peach Drive</span>,
<span itemprop="addressLocality">Warner Robins</span>,
<span itemprop="addressRegion">Georgia</span>.
</section>
</section>
As the above example shows, Microdata items can be nested. In this case, an item of type http://schema.org/PostalAddress is nested inside an item of type http://schema.org/Person.
The following text shows how Google parses the Microdata from the above example code. Developers can test pages containing Microdata using Google's Rich Snippet Testing Tool.[17]
Item Type: http://schema.org/Person name = John Doe jobTitle = graduate research assistant affiliation = University of Dreams additionalName = Johnny url = http://www.johnnyd.com/ address = Item(1) Item 1 Type: http://schema.org/PostalAddress streetAddress = 1234 Peach Drive addressLocality = Warner Robins addressRegion = Georgia
The same machine-readable terms can be used not only in HTML Microdata, but also in other annotations such as RDFa or JSON-LD in the markup, or in an external RDF file in a serialization such as RDF/XML, Notation3, or Turtle.
Support
- Servers: Google can[18] use microdata in its result pages.[17] It is the preferred snippet format for the Google+ social network.[19]
- Browsers: As of December 2013, notable browsers that added support for the Microdata DOM API, are.[20] As of April 2018, Microdata DOM API is deprecated according to Mozilla.[21]
Browser | Version | Support |
---|---|---|
Maxthon | 5.2.7.100 | No |
Opera (Presto) | 12.17 | Yes |
Opera (Blink) | 15 | No |
Firefox | 49 | No[22] |
Chrome | 71.0.3578.98 | No |
Internet Explorer | 8 | No |
Safari | No | |
Microsoft Edge | No |
- Libraries: MicrodataJS[23] is a JavaScript library and jQuery plugin that emulates the DOM API.
References
- "Microdata — HTML Draft Standard". Whatwg.org. Retrieved 2016-06-30.
- "MicroData - The Future of Search Engine Relevance and Optimization (SEO)". Lyquix.com. Retrieved 2016-06-30.
- Schema.org http://schema.org/
- ""Distributed," "Extensibility," And Other Fancy Words". Diveintohtml5.info. Retrieved 2016-06-30.
- Cotton, Paul (2 Oct 2013). "WG Decision to publish HTML Microdata as a WG Note". public-html-admin@w3.org (Mailing list). Retrieved 2016-06-30.
- "HTML Microdata". W3.org. 23 June 2014. Retrieved 2016-06-30.
- "HTML Microdata W3C First Public Working Draft 04 May 2017". World Wide Web Consortium (W3C). Retrieved 2017-09-06.
- "HTML Microdata W3C Working Draft 26 June 2017". World Wide Web Consortium (W3C). Retrieved 2017-09-06.
- "HTML Microdata W3C Working Draft 09 October 2017". World Wide Web Consortium (W3C). 9 October 2017. Retrieved 16 March 2018.
- "HTML Microdata W3C Working Draft 10 October 2017". World Wide Web Consortium (W3C). 10 October 2017. Retrieved 16 March 2018.
- "HTML Standard". Web Hypertext Application Technology Working Group. Retrieved 30 December 2016.
- MacDonald, Matthew (2014). HTML5: The missing manual (2nd ed.). O'Reilly and Associates. ISBN 978-1-4493-6326-0.
- "Semantic markup deployment in Russia". Academia.edu. Retrieved 2016-06-30.
- "Documentation". Schema.org. Retrieved 2016-06-30.
- "Type Hierarchy". Schema.org. Retrieved 2016-06-30.
- "Schema.org Turtle RDFS Schema". Archived from the original on 2014-09-21. Retrieved 2013-05-29.
- "Rich snippets (microdata, microformats, RDFa)". Google Inc. 2016-05-17. Retrieved 2016-06-30.
- "Rich Snippet display clarification". 2016-06-22. Retrieved 2016-06-30.
- Google Webmasters Channel (2011-12-06). Types of Rich Snippets (Video). Retrieved 2016-06-30.
- Opera Software Documentation Team (2011-12-06). "Opera 11.60 for Windows changelog". Opera.com. Archived from the original on 2014-10-23. Retrieved 2016-06-30.
- "Microdata DOM API". mozilla.org. Retrieved 18 April 2018.
- Remove HTML Microdata API
- "MicrodataJS". Github.com. 2011-12-12. Retrieved 2016-06-30.
External links
- Microdata — HTML Draft Standard, WHATWG
- W3C HTML Microdata Working Group Note, W3C
- Almaer, Dion (2009-05-11), Hixie discusses the addition of HTML5 "microdata", Ajaxian
- HTML5 Microdata Specs, Data-Vocabulary.org