问题
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?
回答1:
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
回答2:
No, it isn't. That is why the validator reports an error.
回答3:
<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>
回答4:
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/#">
回答5:
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