Skip to main content
HTML Validation

Element “meta” is missing one or more of the following attributes: “itemprop”, “property”.

About This HTML Issue

The <meta> element is most commonly used inside the <head> section to define metadata like character encoding, viewport settings, or descriptions. Inside <head>, attributes like charset, http-equiv, and name are perfectly valid. However, the HTML specification also allows <meta> to appear inside the <body> — but only under specific conditions.

When a <meta> element appears in the <body>, it must have either an itemprop attribute (for microdata) or a property attribute (for RDFa). It must also have a content attribute. Additionally, it cannot use http-equiv, charset, or name attributes in this context. These rules exist because the only valid reason to place a <meta> tag in the <body> is to embed machine-readable metadata as part of a structured data annotation — not to define document-level metadata.

Why this matters

  • Standards compliance: The HTML living standard explicitly restricts which attributes <meta> can use depending on its placement. Violating this produces invalid HTML.
  • Browser behavior: Browsers may ignore or misinterpret <meta> elements that appear in the <body> without proper attributes. For example, a <meta http-equiv="content-type"> tag inside the <body> will have no effect on character encoding, since that must be determined before the body is parsed.
  • SEO and structured data: Search engines rely on correctly structured microdata and RDFa. A <meta> element in the body without itemprop or property won’t contribute to any structured data and serves no useful purpose.

Common causes

  1. Misplaced <meta> tags: A <meta> element meant for the <head> (such as <meta http-equiv="..."> or <meta name="description">) has accidentally been placed inside the <body>. This can happen due to an unclosed <head> tag, a CMS inserting tags in the wrong location, or simply copying markup into the wrong section.
  2. Missing itemprop or property: A <meta> element inside the <body> is being used for structured data but is missing the required itemprop or property attribute.

Examples

Incorrect: <meta> with http-equiv inside the <body>

This <meta> tag belongs in the <head>, not the <body>:

<body>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <form>
    <input type="text" name="q">
  </form>
</body>

Fixed: Move the <meta> to the <head>

<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>My Page</title>
</head>
<body>
  <form>
    <input type="text" name="q">
  </form>
</body>

Incorrect: <meta> in the <body> without itemprop or property

<div itemscope itemtype="https://schema.org/Offer">
  <span itemprop="price">9.99</span>
  <meta content="USD">
</div>

The <meta> element is missing the itemprop attribute, so the validator reports the error.

Fixed: Add the itemprop attribute

<div itemscope itemtype="https://schema.org/Offer">
  <span itemprop="price">9.99</span>
  <meta itemprop="priceCurrency" content="USD">
</div>

Correct: Using property for RDFa

The property attribute is also valid for <meta> elements in the <body> when using RDFa:

<div vocab="https://schema.org/" typeof="Event">
  <span property="name">Concert</span>
  <meta property="startDate" content="2025-08-15T19:00">
</div>

Incorrect: <meta name="..."> inside the <body>

The name attribute is only valid on <meta> elements inside the <head>:

<body>
  <meta name="author" content="Jane Doe">
  <p>Welcome to my site.</p>
</body>

Fixed: Move it to the <head>

<head>
  <title>My Site</title>
  <meta name="author" content="Jane Doe">
</head>
<body>
  <p>Welcome to my site.</p>
</body>

Find issues like this automatically

Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.

Help us improve our guides

Was this guide helpful?
🌍 Trusted by teams worldwide

Validate at scale.
Ship accessible websites, faster.

Automated HTML & accessibility validation for large sites. Check thousands of pages against WCAG guidelines and W3C standards in minutes, not days.

Scheduled Reports
API Access
Open Source Standards
$7 / 7 days

Pro Trial

Full Pro access. Cancel anytime.

Start Pro Trial →

Join teams across 40+ countries