Providing metadata is never harmful, unless
- you try to deceive/spam, or
- you provide so much metadata that it affects the page’s performance (which is unlikely to happen), or
- you let it get outdated or don’t care about accurateness.
In general, the more metadata the better. The idea behind this is that you can never know all consumers (neither all that currently exist, nor those that’ll come in the future), so you can’t know which metadata would be useful to provide. And providing what consumers are interested in (so they can do with your data whatever their job is) is the whole point of offering metadata, right?
However, if you are only interested in supporting specific, known consumers, simply provide whatever they document to support. Typically less work, but you’ll possibly exclude many other consumers. (more details)
(Note that the "duplicate content" issue is about something different.)
Duplicate metadata should be no problem for SEO (again, with the exceptions from above).
In Microdata, it’s impossible to use the same
meta element as meta tag (with
name) and as Microdata property (with
itemprop). We can expect consumers to know this, and it wouldn’t make sense for them to require authors to use only one of these ways, as both can be useful and have different use cases.
Of course it’s preferable to avoid duplicating something, if possible. As shown in the linked answer above, RDFa allows a
meta element with
property, so if you use RDFa, using one instead of two elements is the best way to go. Same idea if you have two or more meta tags with the same value: use them together in the same
name attribute (e.g.,
Syntaxes and vocabularies
Your examples show the use of Microdata (for Schema.org), RDFa (for Open Graph), and plain HTML meta tags (for Dublin Core and the
Note that Schema.org cannot only be used with the syntaxes Microdata and JSON-LD, but also with RDFa. And Dublin Core is also defined as RDF vocabulary, so it can be used with RDFa, too. That means that you could use RDFa to cover Schema.org, Open Graph, Dublin Core, and any other relevant vocabulary.
(As JSON-LD is also a RDF serialization, this would be possible with JSON-LD, too, but at least Facebook doesn’t seem to support to consume the Open Graph data as JSON-LD.)
That means you could avoid using Microdata, and provide only one instead of four
<meta property="dc:description og:description schema:description" name="description" content="fdsa" />
(relying on RDFa’s Initial Context, where the prefixes
schema are defined)
Conforming consumers pick out what they’re interested in (e.g., for Google’s rich results, Google would only look for the
schema properties/types and ignore the rest).