In beta, with limited placesOpen to everyone in Q1 2027

↑↓ to move · Enter to open · Esc to close

Structured data

What is RDFa (Resource Description Framework in Attributes)?

RDFa (Resource Description Framework in Attributes) is a W3C specification for writing structured data with attributes inside the HTML itself, such as vocab, typeof and property, so that the visible text of the page is also the data machines read. Google supports it alongside JSON-LD and microdata, though it recommends JSON-LD.

Written by
Reviewed by
Published 7 min read
Takeaway:

Key takeaways

  • RDFa writes structured data in attributes on the same tags the visitor sees, like microdata and unlike JSON-LD.
  • Its light version, RDFa Lite 1.1, gets by with five attributes: vocab, typeof, property, resource and prefix.
  • Google still reads RDFa and the Rich Results Test validates it, though it recommends JSON-LD as easier to maintain at scale.
  • The og: tags of Open Graph, the ones many stores carry in the head, were born from RDFa.
  • What is distinctive about RDFa is mixing vocabularies on a single page thanks to the prefix attribute.

Open a store's source code and look for property="og:title" in the head: that way of writing metadata comes from RDFa. RDFa is one of the three formats in which a page's structured data can be written, the least known of the three, and it is alive in more places than it seems. It matters for two reasons: Google reads it like any other format, and if your theme or an old app uses it, it coexists with the markup you add later.

How it works

The W3C published the current version, RDFa Core 1.1 in its third edition, as a recommendation on March 17, 2015. It defines it as a specification of attributes for expressing structured data in any markup language; the name comes from RDF in Attributes, the RDF data model written in attributes. Its idea is to reuse what the document already contains instead of repeating it somewhere else, and it defines thirteen attributes to do so.⁠[1]W3C (Recommendation of March 17, 2015). RDFa Core 1.1, Third Edition

In practice almost nobody needs all thirteen. The same day, the W3C published RDFa Lite 1.1, a minimal subset for expressing machine-readable data in documents such as HTML, SVG or XML, with just five attributes:⁠[2]W3C (Recommendation of March 17, 2015). RDFa Lite 1.1, Second Edition

Attribute What it does
vocab Says which vocabulary is used to describe what is on the page
typeof Says what type the thing being described is
property Names each property of that thing
resource Gives a unique identifier to each thing on the page
prefix Allows other vocabularies to be used when the main one lacks the term

The most common vocabulary is Schema.org. RDFa Lite's own example describes a person with vocab="http://schema.org/" on a paragraph and marks their name and phone number with property on the visible text, so that the sentence the visitor reads is the same one the search engine reads.⁠[2]W3C (Recommendation of March 17, 2015). RDFa Lite 1.1, Second Edition

Google supports three structured data formats. It describes RDFa as an HTML5 extension that adds attributes to the tags that correspond to visible content, and recommends JSON-LD if your site allows it, because it is the easiest solution to implement and to maintain at scale.⁠[3]Google Search Central (updated December 10, 2025). Introduction to structured data markup in Google Search Recommending one is not the same as ignoring the others: well-done RDFa markup works for qualifying for rich results, and the Rich Results Test validates JSON-LD, RDFa and microdata alike.⁠[4]Search Console Help. Rich Results Test

The inheritance you will actually see: Open Graph

The Open Graph protocol, the one behind the og: tags, was based on RDFa from its first version, which is why it is written with meta tags that use the property attribute in the page's head. It asks for four basic properties, og:title, og:type, og:image and og:url, and declares its vocabulary with the prefix attribute, the same one RDFa Lite defines.⁠[5]ogp.me. The Open Graph protocol⁠[2]W3C (Recommendation of March 17, 2015). RDFa Lite 1.1, Second Edition Its goal is to turn any page into an object in a social graph.⁠[5]ogp.me. The Open Graph protocol It is page metadata, not the product markup Google reads for its rich results.

In a store

A tripod's offer marked up with RDFa Lite and the Schema.org vocabulary. Fictitious example: the store, the product, the reference and the price are invented.

<div vocab="https://schema.org/" typeof="Product">
  <h1 property="name">TV-200 travel tripod</h1>
  <p>Reference: <span property="sku">STORE-0457</span></p>
  <div property="offers" typeof="Offer">
    <span>$129.00</span>
    <meta property="price" content="129.00" />
    <meta property="priceCurrency" content="USD" />
    <link property="availability" href="https://schema.org/InStock" />In stock
  </div>
</div>

If you have read the entry on microdata, the resemblance is obvious. Where microdata uses itemscope and itemtype, RDFa uses vocab once and typeof on each element; where microdata uses itemprop, RDFa uses property.⁠[2]W3C (Recommendation of March 17, 2015). RDFa Lite 1.1, Second Edition The product is a Product and carries its offer inside, an Offer, declared with property and typeof at once: that is how types nest in this format. The name and the SKU come from the visible text; the price for machines goes in a meta, because the visitor sees "$129.00" and the vocabulary asks for the number and the currency separately.

What RDFa does and microdata does not is mix vocabularies on the same page: with prefix you can declare, for example, Open Graph's in the html tag and keep using Schema.org in the body.⁠[2]W3C (Recommendation of March 17, 2015). RDFa Lite 1.1, Second Edition⁠[5]ogp.me. The Open Graph protocol The cost is the same as with microdata: the markup lives inside the template, and changing themes can take it out without anyone deciding to.

Warning:

What people often get wrong

That RDFa is an abandoned format that Google no longer reads, and that it has to be removed or redone for that reason alone. Google still names it among the three formats it supports, even though it recommends JSON-LD,⁠[3]Google Search Central (updated December 10, 2025). Introduction to structured data markup in Google Search and its Rich Results Test validates it just like the other two.⁠[4]Search Console Help. Rich Results Test The problem is not the format, but that it says something different from what the page says or from what another markup of the same product says.

How to check it

  1. Open the source code of a product page and search for vocab= and typeof=. If they appear in the body of the page, your theme or an app writes structured data in RDFa.⁠[2]W3C (Recommendation of March 17, 2015). RDFa Lite 1.1, Second Edition
  2. Set aside what is Open Graph. The meta tags with property="og: in the head are Open Graph metadata, not product markup.⁠[5]ogp.me. The Open Graph protocol
  3. Run the URL through the Rich Results Test. It reads all three formats, tells you what it detects and with what errors, and also accepts a pasted code snippet.⁠[4]Search Console Help. Rich Results Test
  4. If the page carries RDFa and JSON-LD at the same time, compare them: the same name, the same price, the same availability.
  5. If you are going to redo the markup, decide the format once. Google recommends JSON-LD because it is the easiest to maintain when you have many pages.⁠[3]Google Search Central (updated December 10, 2025). Introduction to structured data markup in Google Search

Microdata and RDFa are cousins: Google describes the first as a way of nesting structured data inside HTML content, and the second as attributes on the tags that correspond to visible content.⁠[3]Google Search Central (updated December 10, 2025). Introduction to structured data markup in Google Search The practical difference is one of scope. RDFa is a W3C specification meant for any markup language, not just HTML,⁠[1]W3C (Recommendation of March 17, 2015). RDFa Core 1.1, Third Edition and with prefix it supports several vocabularies at once on the same page.⁠[2]W3C (Recommendation of March 17, 2015). RDFa Lite 1.1, Second Edition For a product page with Schema.org, the two say the same thing; the useful question is not which is better, but whether the one your store has matches what it shows.

To go further, the structured data reading path orders the rest of the terms, and the JSON-LD entry explains the format Google recommends.

Synonyms

English
RDFa, RDF in Attributes
Español
marcado RDFa

Sources

  1. [1] W3C (Recommendation of March 17, 2015). RDFa Core 1.1, Third Edition. Accessed . ↑ ↑
  2. [2] W3C (Recommendation of March 17, 2015). RDFa Lite 1.1, Second Edition. Accessed . ↑ ↑ ↑ ↑ ↑ ↑ ↑
  3. [3] Google Search Central (updated December 10, 2025). Introduction to structured data markup in Google Search. Accessed . ↑ ↑ ↑ ↑
  4. [4] Search Console Help. Rich Results Test. Accessed . ↑ ↑ ↑
  5. [5] ogp.me. The Open Graph protocol. Accessed . ↑ ↑ ↑ ↑

Change history

  • First English version.

This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.

Make your catalog easy for bots to read

Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.