HTML microdata is a way to add extra information to your web pages that can be easily read by search engines and other machines. This extra information is called "microdata" because it's a small piece of data that provides more context about the content on your page.
Microdata is a simple way to add structure to your web pages, making it easier for search engines to understand what your content is about. By adding microdata, you can help search engines like Google provide more accurate search results.
Microdata is made up of three main parts: the vocabulary, the properties, and the values. The vocabulary is the type of microdata you're using, the properties are the specific details about the content, and the values are the actual data.
Explore further: Webflow Add Custom Html
What is Microdata
Microdata is a way to add context to your website's content, making it easier for search engines like Google to understand what your site is about.
It's a type of HTML attribute that provides additional information about a piece of content, such as the name of a person, the price of a product, or the rating of a review.
Microdata is used to describe the structure and meaning of your content, rather than just its appearance.
Item Properties
Item properties are the building blocks of microdata, and they can be quite flexible. They can have values that are strings, URLs, dates, times, or even dates and times.
A property can be identified by adding the itemprop attribute to an HTML element. This attribute specifies the property name and its value. For example, the property "image" can be defined as a URL.
Properties can also be nested inside other properties. This is achieved by adding the itemscope attribute to an element with itemprop. This creates a nested item with its own properties.
Here are some key facts about item properties:
The itemprop attribute can have multiple values, which are separated by spaces. Each value must be a unique token, and it can be either a valid absolute URL or a string without dots, colons, or spaces.
The order of properties is not important, and authors should not rely on it being preserved in the resulting microdata. This means that the following code is equivalent to the next example:
The itemprop attribute can be used to add properties to multiple items. In this case, the requirement for unique tokens applies for each item individually.
For example, the following code defines two items with the property "z", which is a valid property name for both the http://example.com/a and http://example.com/b vocabularies.
Data Formats
You can convert microdata to other formats, such as RDFa, which is a markup format that allows you to embed RDF data in HTML.
RDFa is a powerful tool for representing data in a structured way, and it's often used in conjunction with microdata to provide a more comprehensive data model.
See what others are reading: Data Text Html
Encoding
Encoding is a crucial step in data formats, and it's done in various ways depending on the specific format.
The algorithm to determine the value for a name-value pair is given by applying the first matching case in a list, as seen in encoding microdata.
This list of cases can be quite long, with multiple conditions to check before determining the value.
In some cases, the value is determined by a simple comparison, while in others, it involves more complex calculations.
For example, in encoding microdata, the algorithm is used to determine the value for a name-value pair by applying the first matching case in the list.
Converting Formats
Converting between different data formats is a crucial step in working with data.
Converting microdata to other formats is possible, as demonstrated with the example of converting model locomotive data to RDFa.
In some cases, conversion is straightforward, while in others, it requires careful consideration of the data's structure and meaning.
The example of converting microdata to RDFa shows that this process can be done, as seen in the given example data.
Application/Json
Application/Json is a data format used for transferring data intended for use with Microdata, particularly in drag-and-drop contexts.
This format is primarily used for applications that need to transfer data, and it's essential to note that fragment identifiers used with application/microdata+json resources have the same semantics as when used with application/json.
The algorithm for extracting Microdata expressed as application/microdata+json involves checking if each node in a Document is a top-level Microdata item, and if it is, adding its object to an array called "items".
For each node, the algorithm also checks if the item has any item types, global identifier, or properties, and adds them to the result object accordingly.
Here's a simplified overview of the algorithm's steps:
- Check if each node is a top-level Microdata item.
- Add the item's object to an array called "items".
- Check if the item has any item types, global identifier, or properties.
- Add them to the result object accordingly.
The resulting object has a single property that is an array, making it possible to extend the algorithm in the future if necessary.
In fact, the algorithm returns an object with a single property that is an array, instead of just returning an array, to allow for potential future extensions.
Data
Microdata has its limitations, and it's not the best choice for every project. It can only express two types of data: text strings and URLs.
If you need more expressivity, you might want to consider using JSON-LD or RDFa instead. These formats can handle a wider range of datatypes and include features like language support.
Microdata can be converted to RDFa, which is a more powerful format. This is possible thanks to the process described in Section 6 of the article.
Advanced Topics
Microdata allows you to add context to your website's content, making it easier for search engines to understand the meaning and structure of your pages.
You can use properties like itemtype and itemscope to specify the type of data being described, such as a person, organization, or event. For example, the article section mentioned using itemtype="http://schema.org/Person" to describe a person.
The itemprop property is used to specify the individual properties of the data being described, such as name, birthDate, or email. Using itemprop="name" and itemprop="email" can help search engines understand the contact information of a person.
Here's an interesting read: Email Html Editor
Rdfa
Rdfa is a powerful tool for converting typed items into a more standardized format. Almost all typed items can be easily converted to RDFa.
This is especially useful for supporting internationalization, allowing you to include markup in the resulting data beyond what microdata can handle. A minimal conversion to RDFa-Lite is defined in this specification.
To convert a Microdata item to RDFa, you need to include the triples produced by applying a specific algorithm. This algorithm involves four steps: changing the data attribute to a resource attribute, changing itemprop to property, and handling elements with an itemref attribute.
The algorithm can be optimized, but it may result in redundant vocab declarations. For example, an itemref can be rewritten to make the conversion process more efficient.
Here's a simple example of how to convert microdata to RDFa:
- Add a section describing how to convert microdata to RDFa.
- Add a section describing how to convert microdata to JSON-LD (now removed).
- iditem may be specified on an element with an itemscope attribute, not just a typed item.
Criticism on Microformats.org
On microformats.org, there's a warning against using vCard and vEvent microdata vocabularies. The microformats wiki says microformats are still simpler and easier to use for common web semantics.
The difference between microformats and microdata is actually quite marginal. If you use recommended microformat profile links, it's essentially a wash. However, no one uses them that way.
Microdata is simpler to use for date/time data than microformat equivalents. It's also more explicit, avoiding internationalisation issues like the "implied fn optimisation".
Explore further: How to Use Notepadd for Html Coding
Internationalization and Security
Internationalization and Security is crucial for microdata to work across different languages and regions. This is because microdata uses HTML attributes to provide additional information about a web page's content, which needs to be compatible with various languages and character sets.
To achieve internationalization, microdata uses the `itemprop` attribute, which can handle languages that use non-ASCII characters, such as Japanese and Chinese. This attribute allows for the encoding of characters that would otherwise be lost in translation.
For security, microdata relies on the HTML5 specification, which includes built-in security features to prevent malicious scripts from accessing sensitive user information. This ensures that microdata is used in a way that protects user data and prevents unauthorized access.
W3C Working Group Note 28 Jan 2021
The W3C Working Group Note 28 January 2021 is a significant document that outlines new HTML attributes for embedding machine-readable data in HTML documents.
It's called HTML-extensions, and it's designed to be simple to learn and process, making it a great option for authors who want to get started with microdata quickly.
The document emphasizes that HTML-extensions is generally less expressive than RDFa, a more advanced format that supports internationalization.
This means that if you need to include content in multiple languages, you might want to consider using RDFa instead of HTML-extensions.
However, HTML-extensions is still a great choice for simple use cases, and it's easy to learn and implement.
If you need to record a property value that's not suitable for the element content, you can use the content attribute of the element.
This attribute can even be populated by a script, and a microdata processor can extract the content without running the script.
For example, the value of the product-id property can be recorded using the content attribute, as shown in the specification.
Accessibility
Accessibility is crucial for making content usable by everyone. Authors should consider the possibility that Microdata is used to provide machine-parseable information about content, which can be processed by tools to improve accessibility.
Authors should implement the Authoring Tool Accessibility Guidelines, specifically Guideline B1.1.2, to ensure accessibility information is preserved. This is especially important when editing content that contains Microdata.
A great deal of accessibility information is ignored in extracting Microdata, including attributes such as alt and ARIA information. Authors should consider whether to encode accessibility information explicitly or use a more expressive approach like RDFa.
To make content more accessible, authors should be aware of the limitations of Microdata and consider using alternative approaches like RDFa. This can help ensure that accessibility information is not lost or ignored.
Internationalisation and Localisation
Internationalisation and localisation can be a challenge, especially when it comes to machine-readable data. Microdata doesn't preserve internationalization-related information in the source document, unless it's specifically encoded as Microdata.
This can lead to errors when editing the source document, similar to how accessibility issues can arise. Authors may prefer to convert their data to RDFa for better support of internationalization.
Vocabulary design is a difficult task, as different languages and cultures present ambiguity in various ways. Two terms with different meanings in one situation may be translated by a single term with both meanings, or a single term may have two natural translations.
Providing sufficient contextual information about terms in a vocabulary is crucial for accurate translation during localisation.
Privacy Considerations
As we explore the intersection of internationalization and security, it's essential to consider the potential impact on user privacy.
Microdata, in particular, doesn't introduce new mechanisms to transmit privacy-sensitive information, but it does make it easier to identify and merge data from various sources.
This increased visibility can be a double-edged sword, as it also raises concerns about data protection. Authors and processors should take care to ensure their use of Microdata aligns with privacy policies and relevant regulations.
Browser Support
Browser support for microdata is still in its early stages. Unfortunately, no major browser has implemented full support for microdata yet.
Chrome and Safari do not currently support microdata. Internet Explorer also lacks support for this feature.
Firefox is working on implementing microdata, but it's still a work in progress. Opera has experimental support in their latest snapshot, with support expected in Opera 12.
Here's a quick rundown of the current browser support for microdata as of August 16th, 2011:
Despite the lack of browser support, microdata is still useful for search engine robots and third-party tools, such as Bing, Google, and Yahoo, which are using microdata with the schema.org vocabularies in search results.
Frequently Asked Questions
How do I add microdata?
To add microdata, you'll need to edit your website's code or work with a developer. You can use systems like OpenGraph, Schema.org, or JSON-LD to get started.
Sources
- Beihang (buaa.edu.cn)
- Keio (keio.ac.jp)
- MIT (mit.edu)
- HTML Living Standard (whatwg.org)
- Github commit log (github.com)
- HTML - Microdata (tutorialspoint.com)
- RSS (feedburner.com)
- Salter Cane (saltercane.com)
- MusicGroup is a specialised kind of Organization vocabulary (schema.org)
- WDE-ex Vol.11 — Designing for iPad: Our experience so far (atnd.org)
- Apple Ginza (apple.com)
- schema.org (schema.org)
- Rich Snippets (google.com)
- http://schema.org/Organization vocabulary (schema.org)
- http://schema.org/Person vocabulary (schema.org)
- Live Microdata (foolip.org)
- http://schema.org/Event vocabulary (schema.org)
- Rich Snippet testing tool (google.com)
- extend these vocabularies (schema.org)
- schema.org email list (google.com)
- supported (along with hProduct) by Rich Snippets (google.com)
- GoodRelations vocabulary terms (heppnetz.de)
- Product Types Ontology (productontology.org)
- www.data-vocabulary.org (data-vocabulary.org)
- vCard (whatwg.org)
- tools for microdata are starting to appear (rdfs.org)
- Mida (github.com)
- PHP Microdata Parser (soyrex.com)
- microdatajs (gitorious.net)
- Live Microdata (foolip.org)
- Validator.nu (validator.nu)
- “register your interest” in having your rich snippets actually be displayed (google.com)
- HTML5 Microdata Templates (freebaseapps.com)
- Microdata Generator (microdatagenerator.com)
- Schemafied (schemafied.com)
- Schema Creator (schema-creator.org)
- Schema for WordPress plugin (schemaforwordpress.com)
- Rich Snippets Person (data-vocabulary.org)
- Rich Snippets Organization (data-vocabulary.org)
- Rich Snippets Event (data-vocabulary.org)
- vEvent (microformats.org)
- Rich Snippets Review-aggregate (data-vocabulary.org)
- Rich Snippets Review (data-vocabulary.org)
- hReview (microformats.org)
- schema.org AggregateRating (schema.org)
- schema.org Review (schema.org)
- Rich Snippets Product (data-vocabulary.org)
- GoodRelations Product (purl.org)
- hProduct (microformats.org)
- schema.org Product (schema.org)
- Rich Snippets Recipe (data-vocabulary.org)
- hRecipe (microformats.org)
- schema.org Recipe (schema.org)
- http://prefix.cc (prefix.cc)
- microformats.org (microformats.org)
- Understanding HTML Microdata - W3Schools (w3schools.in)
- Schema.org (schema.org)
- this short video (youtube.com)
- library (github.com)
- JMicrodata (github.com)
- https://github.com/PAlexcom/Spider4Schema (github.com)
- types.json (github.com)
Featured Images: pexels.com