Summary
- The
nameproperty is missing from a schema.org type that requires it - Most common cause: the
namefield was left out of the top-level object or placed inside a nested object by mistake - Fix: add a
nameproperty 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
nameas the first property after@typein 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
namefield maps to a non-empty database column. Empty product titles or missing page titles are a common source of this error at scale.
Related Errors
- Either ‘offers’, ‘review’, or ‘aggregateRating’ should be specified - another common Product markup error
- Unparsable structured data - when the JSON itself is malformed
- Product schema reference - full list of required and recommended properties
- Testing Structured Data - validation tools and workflows