</> Web Validators

RDFa Validator

Check RDFa attributes, vocabularies and prefixes, and see the objects they actually produce.

RDFa fails quietly: a bare term with no vocab in scope, or a CURIE whose prefix was never declared, is valid HTML that publishes nothing. This walks the document the way an RDFa processor does, shows the objects that came out, and names the attributes that produced nothing.

Based on: W3C RDFa Core 1.1 · Schema.org

About this validation

Checks RDFa Lite and Core attributes over an HTML page -- vocab, typeof, property, resource and prefix -- and reports the mistakes that stop RDFa producing any statement at all. It is not a conforming RDFa processor: it does not emit a triple store or chain subjects through rel/rev.

Protocol / standard:
Rules reviewed:
Nov 15, 2026

SEOTechTests methodology: Walks the document carrying vocab and prefix declarations down the tree the way RDFa does, attaches each property to the nearest typed ancestor, and reports the attributes that produce nothing: a bare term with no vocab in scope, a CURIE whose prefix was never declared and is not in RDFa's initial context, a rel with no resource to point at. Where the vocabulary is schema.org, the vocabulary check applies as well.

Standards and vendor-documented behavior can change. This reflects the source as last reviewed above, not a permanent guarantee.

FAQ

What is the difference between RDFa and RDFa Lite?

RDFa Lite is a subset of five attributes -- vocab, typeof, property, resource and prefix -- that covers most publishing needs. RDFa Core adds about, rel, rev, content, datatype and inlist for the cases Lite cannot express. Both are checked here.[1]

Why is my property reported as having no vocabulary?

A bare term such as property="name" only means something when a vocab is in scope on that element or an ancestor. Without one it resolves to nothing at all, which is the most common way RDFa silently publishes nothing.[1]

Is this a conforming RDFa processor?

No. It does not emit a triple store, chain subjects through rel and rev, or resolve every CURIE against the initial context. It builds the typed-object view a schema.org check needs and reports the errors that stop RDFa producing anything.[1]