I would like to know if the opengraph markup is W3C valid, I'm getting the following error when I try to validate it:
Line 14, Column 17: there is no attribute "PROPERTY"
<meta property="og:site_name" content="sitename">
In case it's not valid, will it impact my pagerank and other search engines algo?
Is it possible to cloak those properties?
It's not valid in the normal HTML doctypes, but there is a doctype you can use to validate XHTML documents including Open Graph:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
See this question: Html validation error for property attribute
No, it isn't. That is why the validator reports an error.
<html version="HTML+RDFa 1.1" lang="en"> <head> <title>Example Document</title> </head> <body> <p>Moved to <a href="http://example.org/">example.org</a>.</p> </body> </html>
With this seems to work:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="http://rdf.data-vocabulary.org/#">
With this you are solving the issue:
<!DOCTYPE html>
<html vocab="http://www.w3.org/2011/rdfa-context/rdfa-1.1">
With this you can use lines in your html like this:
<meta property="og:title dc:title" content="m.clinic.pt - Está em boas mãos!">
or from other vocabularies listed (http://www.w3.org/2011/rdfa-context/rdfa-1.1) like this one:
cat: http://www.w3.org/ns/dcat#
qb: http://purl.org/linked-data/cube#
grddl: http://www.w3.org/2003/g/data-view#
ma: http://www.w3.org/ns/ma-ont#
owl: http://www.w3.org/2002/07/owl#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfa: http://www.w3.org/ns/rdfa#
rdfs: http://www.w3.org/2000/01/rdf-schema#
rif: http://www.w3.org/2007/rif#
rr: http://www.w3.org/ns/r2rml#
skos: http://www.w3.org/2004/02/skos/core#
skosxl: http://www.w3.org/2008/05/skos-xl#
wdr: http://www.w3.org/2007/05/powder#
void: http://rdfs.org/ns/void#
wdrs: http://www.w3.org/2007/05/powder-s#
xhv: http://www.w3.org/1999/xhtml/vocab#
xml: http://www.w3.org/XML/1998/namespace
xsd: http://www.w3.org/2001/XMLSchema#
prov: http://www.w3.org/ns/prov#
sd: http://www.w3.org/ns/sparql-service-description#
org: http://www.w3.org/ns/org#
gldp: http://www.w3.org/ns/people#
cnt: http://www.w3.org/2008/content#
dcat: http://www.w3.org/ns/dcat#
earl: http://www.w3.org/ns/earl#
ht: http://www.w3.org/2006/http#
ptr: http://www.w3.org/2009/pointers#
cc: http://creativecommons.org/ns#
ctag: http://commontag.org/ns#
dc: http://purl.org/dc/terms/
dc11: http://purl.org/dc/elements/1.1/
dcterms: http://purl.org/dc/terms/
foaf: http://xmlns.com/foaf/0.1/
gr: http://purl.org/goodrelations/v1#
ical: http://www.w3.org/2002/12/cal/icaltzd#
og: http://ogp.me/ns#
rev: http://purl.org/stuff/rev#
sioc: http://rdfs.org/sioc/ns#
v: http://rdf.data-vocabulary.org/#
vcard: http://www.w3.org/2006/vcard/ns#
schema: http://schema.org/
describedby:http://www.w3.org/2007/05/powder-s#describedby
license: http://www.w3.org/1999/xhtml/vocab#license
role: http://www.w3.org/1999/xhtml/vocab#role
You can validate it through http://validator.w3.org/ or http://html5.validator.nu/ very well.
So instead of this:
<div vocab="http://schema.org/" typeof="Product">
<img property="image" src="dell-30in-lcd.jpg" />
<span property="name">Dell UltraSharp 30" LCD Monitor</span>
</div>
You can have this:
<!-- The schema: prefix is defined in the vocabulary http://www.w3.org/2011/rdfa-context/rdfa-1.1 -->
<div typeof="schema:Product">
<img property="schema:image" src="dell-30in-lcd.jpg" />
<span property="schema:name">Dell UltraSharp 30" LCD Monitor</span>
</div>
Some resources http://www.w3.org/TR/rdfa-primer/ http://manu.sporny.org/2012/mythical-differences/ http://rdfa.info/
来源:https://stackoverflow.com/questions/2834091/opengraph-w3c-valid