On this page
3 blocks and each has one letter: S, E, O

Google Rich Results and no items detected

Google Rich Results, no items detected, and how to fix it.

Structured data assists search engines in determining the type of content on a page. JSON-LD (<script type="application/ld+json">) is a structured data type recommended by Google. It offers a variety of schemas for various types of web pages, such as FAQs, Articles, Products, and so on. Including the appropriate schema markups can help Google better understand and rank the web page.

However, while working with schema on Google Rich Results, you may get a message: No items detected (known also as no rich results detected in this url). It could mean that the specific page being analyzed doesn’t have any structured data that qualifies for rich results. In other words, Google didn’t find any relevant information to display in an enhanced format.

What does that mean?

Why do I see No items detected message?

Rich Results Test in Google Search Console for ld+json schema Thing

Here are 3 common issues that cause No items detected message:

  1. The structured data may not be accessible or fetched by Googlebot due to JavaScript generation or other technical issues. Check that the JSON-LD code is easily accessible and parseable by search engine bots.
  2. The page may not contain any structured data that qualifies for rich results, or the provided schema is not supported by Google. In other words, there may not be any relevant information for Google to display in an enhanced format.
  3. The schema has an invalid structure and could not be parsed because of a syntax error.

How to fix it

Here are the potential solutions:

Test your structured data

The schema type used on the web page may be unsupported by Google or have an incorrect structure or syntax, preventing Google from correctly parsing it. Google advises that you start with the Rich Results Test to determine what Google rich results can be generated for your page.

Ensure that you use a schema type that is compatible with Google’s parsing capabilities.

Validate your JSON-LD code with the online validator to ensure it is correct.
You can go beyond and use the Schema Markup Validator to evaluate any type of schema.org markup without requiring Google-specific validation.

Keep JSON as a single string

Make sure your structured data LD+JSON is being represented as a single string, without whitespaces, especially new lines.

Keeping JSON without whitespaces ensures compatibility across different platforms and tools that may have varying expectations regarding whitespace in JSON. Additionally, it simplifies validation processes since the absence of whitespace makes the JSON structure clearer and easier to validate against schemas.

Example of formatted JSON
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "How are you doing?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "I am doing fine."
    }
  }]
}
Example of JSON as a single line
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How are you doing?","acceptedAnswer":{"@type":"Answer","text":"I am doing fine."}}]}

Use schema that is supported by Google

Use schema that is supported by Google. If you can’t and your schema is valid from the specification perspective, then leave it. It won’t negatively impact your ranking and there is always a chance that other search engines will support it.

Escape HTML in your JSON

When including HTML content in JSON, it’s important to escape the HTML to ensure that it is properly represented and does not interfere with the JSON structure. Escaping HTML in JSON helps prevent errors during JSON parsing by ensuring that special characters within the HTML content are properly encoded. Otherwise, it won’t be parsed.

The NPM package escape-html can help you escape special characters in a given string of text so that they can be interpolated in HTML content.

Example of invalid JSON (contains unescaped HTML)
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "How are you doing?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "I am doing <strong>fine</strong>"
    }
  }]
}
Example of valid JSON (contains escaped HTML)
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "How are you doing?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "I am doing &lt;strong&gt;fine&lt;/strong&gt;"
    }
  }]
}

Schema and WordPress

If you’re using WordPress plugin Markup (JSON-LD) structured in schema.org then enable (check the checkbox) option Compress output data under section Schema.org Config.

PHP language

For PHP language use: json_encode($value, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES).

The second parameter of this function specifies options that modify how the output JSON string is formatted.

  • JSON_UNESCAPED_UNICODE: This option tells json_encode to encode multibyte Unicode characters literally, instead of escaping them. This means that if your $value contains characters outside the ASCII range (like emojis, accented letters, etc.), they will appear exactly as they are in the resulting JSON string without being escaped. Without this option, such characters would be represented using escape sequences like \uXXXX, where XXXX is the hexadecimal representation of the character’s Unicode code point.
  • JSON_UNESCAPED_SLASHES: This option prevents json_encode from adding slashes (\) before double quotes inside strings. Normally, json_encode escapes double quotes within strings by prefixing them with a backslash, which is standard behavior in JSON. However, this can sometimes lead to confusion or errors, especially when dealing with JSON strings that contain double quotes. By setting this option, you ensure that the resulting JSON string has the simplest possible form, which can be particularly useful when generating JSON for use in JavaScript or other contexts where minimal escaping is preferred.

Final words

Remember that just because you see no items detected does not always indicate there is a problem with your webpage. It simply implies that Google’s technologies could not identify any structured data that met the requirements for rich results at the time. If you feel your website should be displaying rich results but are receiving this warning, you should check and correct the implementation of your structured data.

We recommend also reading the article Unable to parse JSON-LD tag and how to fix malformed JSON.

Related posts

Comments

Leave a Reply

Search in sitelint.com

Is your site slow?

Discover performance bottlenecks to provide a better customer experience and meet your company’s revenue targets.

Real-user monitoring for Accessibility, Performance, Security, SEO & Errors (SiteLint)