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

> Canonical HTML version: https://rocketvalidator.com/html-validation/element-meta-is-missing-one-or-more-of-the-following-attributes-content-itemprop-property
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The `<meta>` element is used to provide metadata about an HTML document. According to the HTML specification, a `<meta>` element must serve a specific purpose, and that purpose is determined by its attributes. A bare `<meta>` tag or one with only a `charset` attribute in the wrong context will trigger this validation error.

There are several valid patterns for `<meta>` elements:

- **`name` + `content`**: Standard metadata pairs (e.g., description, viewport, author).
- **`http-equiv` + `content`**: Pragma directives that affect how the browser processes the page.
- **`charset`**: Declares the document's character encoding (only valid once, in the `<head>`).
- **`itemprop` + `content`**: Microdata metadata, which can appear in both `<head>` and `<body>`.
- **`property` + `content`**: Used for Open Graph and RDFa metadata.

When a `<meta>` tag doesn't match any of these valid patterns, the validator raises this error. The most common causes are:

1. **Forgetting the `content` attribute** when using `name` or `property`.
2. **Using non-standard attributes** without the required ones (e.g., only specifying a custom attribute).
3. **Placing a `charset` meta in the `<body>`**, where it's not valid.
4. **Typos** in attribute names like `contents` instead of `content`.

This matters for standards compliance and can also affect SEO and social sharing. Search engines and social media crawlers rely on properly formed `<meta>` tags to extract page information. Malformed tags may be silently ignored, meaning your metadata won't take effect.

## Examples

### Incorrect: `<meta>` with `name` but no `content`

```html
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <meta name="description">
</head>
```

The `<meta name="description">` tag is missing its `content` attribute, so the validator reports the error.

### Correct: `<meta>` with both `name` and `content`

```html
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <meta name="description" content="A brief description of the page.">
</head>
```

### Incorrect: `<meta>` with `property` but no `content`

```html
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <meta property="og:title">
</head>
```

### Correct: Open Graph `<meta>` with `property` and `content`

```html
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <meta property="og:title" content="My Page">
</head>
```

### Incorrect: `<meta>` with only a non-standard attribute

```html
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <meta name="theme-color" value="#ff0000">
</head>
```

Here, `value` is not a valid attribute for `<meta>`. The correct attribute is `content`.

### Correct: Using `content` instead of `value`

```html
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <meta name="theme-color" content="#ff0000">
</head>
```

### Incorrect: Bare `<meta>` tag with no meaningful attributes

```html
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <meta>
</head>
```

A `<meta>` element with no attributes serves no purpose and should be removed entirely.

### Correct: Using `itemprop` in the `<body>`

The `itemprop` attribute allows `<meta>` to be used within the `<body>` as part of microdata:

```html
<body>
  <div itemscope itemtype="https://schema.org/Product">
    <span itemprop="name">Example Product</span>
    <meta itemprop="sku" content="12345">
  </div>
</body>
```
