Missing field 'name'

Last updated:

Summary
  • The name property is missing from a schema.org type that requires it
  • Most common cause: the name field was left out of the top-level object or placed inside a nested object by mistake
  • Fix: add a name property with a non-empty string value at the correct level of your JSON-LD
  • Affects nearly every schema type: Product, Organization, LocalBusiness, Person, Recipe, Event, and more

Google Search Console and the Rich Results Test report this error when a schema.org type is missing its name property. Since name is required by almost every type that qualifies for rich results, this is one of the most common structured data errors you will encounter.

What This Error Means

Google expects a name property on the top-level object of your structured data. The name tells Google (and other consumers) what the entity is called. Without it, Google cannot generate a rich result because there is nothing to display as the title.

This error also fires when name is present but nested inside a child object instead of the parent. For example, if you have a Product with an author object, Google needs name on the Product itself, not just on the author.

Common Causes

The name property is missing entirely. The most frequent case. The JSON-LD block defines a type but never includes name.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "description": "A lightweight running shoe for trail use",
  "brand": {
    "@type": "Brand",
    "name": "TrailCo"
  }
}

The Product object above has no name. Google flags this as an error.

The name is on the wrong object. This happens when name exists on a nested entity but not on the parent.

{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "author": {
    "@type": "Person",
    "name": "Jamie Oliver"
  },
  "recipeIngredient": ["flour", "sugar", "butter"]
}

The Recipe itself has no name. The name on the Person does not satisfy the requirement.

The name value is an empty string. Google treats "name": "" as a missing field.

The name is misspelled or has wrong casing. JSON-LD properties are case-sensitive. "Name", "NAME", or "naem" are not valid.

How to Fix It

Add a name property with a descriptive, non-empty string value to the object that Google is flagging.

Fix for the Product example:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "TrailCo Speedrunner 3000",
  "description": "A lightweight running shoe for trail use",
  "brand": {
    "@type": "Brand",
    "name": "TrailCo"
  }
}

Fix for the Recipe example:

{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Classic Shortbread Cookies",
  "author": {
    "@type": "Person",
    "name": "Jamie Oliver"
  },
  "recipeIngredient": ["flour", "sugar", "butter"]
}

For nested objects that also need name: If Google flags a nested entity like author or publisher, add name at that level too.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "name": "How to Train for a Marathon",
  "headline": "How to Train for a Marathon",
  "author": {
    "@type": "Person",
    "name": "Alex Chen"
  },
  "publisher": {
    "@type": "Organization",
    "name": "RunFast Media"
  }
}

Prevention

  • Use a template for each schema type that includes all required properties from the start. See the Schema Reference pages for complete property lists.
  • Add name as the first property after @type in every JSON-LD block. This makes it obvious when it is missing.
  • Set up automated validation in your build process. See Testing Structured Data for CI/CD integration approaches.
  • If your CMS generates structured data, check that the name field maps to a non-empty database column. Empty product titles or missing page titles are a common source of this error at scale.