Has JSON-LD MenuSection

Has JSON-LD MenuSection reports whether a page’s raw HTML contains a MenuSection structured-data type marker: it returns 1 when RankGear finds an @type value of MenuSection in the source and 0 when it does not. It is a text-pattern presence check only — a 1 confirms the string is present, not that it sits inside valid JSON-LD or describes a real menu section.

Factor IDRG-SCJ-148
FamilyStructured data — JSON-LD
MeasurementBinary presence (0 / 1)
Measured zoneRaw rendered HTML

What it measures

This factor reports whether RankGear finds an @type value of MenuSection in the raw source. MenuSection is the schema.org type used to describe a named section of a menu — for example a “Starters” or “Desserts” grouping — that nests the individual menu items beneath it. A value of 1 means the marker string was present in the source; a value of 0 means it was not. The factor measures presence of the type marker only. It does not confirm that the surrounding JSON-LD is valid, that the section carries an accurate name, or that its nested items match what visitors see on the page.

How RankGear measures it

RankGear searches the raw HTML for the @type declaration of MenuSection, allowing flexible whitespace around the "@type": "MenuSection" pairing and optionally accepting a schema: prefix. Matching is case-insensitive, so capitalization differences do not affect the result. Finding at least one qualifying string returns 1; otherwise the value is 0. Because the check pattern-matches source text rather than parsing and validating a JSON-LD graph, a matching string that appears outside valid structured data can still produce a 1.

What RankGear looks for

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "MenuSection",
    "name": "Starters",
    "hasMenuItem": [
      { "@type": "MenuItem", "name": "Garden Salad" }
    ]
  }
</script>
ValueMeaning
1A MenuSection type marker was found in the raw HTML (case-insensitive, schema: prefix allowed).
0No MenuSection marker was found in the source.

How to optimize it

Use MenuSection only for a genuine section of a menu, with an accurate name and correctly nested visible menu items beneath it. Ensure every property reflects content users can verify on the page, and keep the markup in step with the menu as items and sections change. Treat this factor as an observation of presence rather than a target to chase — add MenuSection because the page actually presents a structured menu, not to make a string appear in the source. If the page has no menu, its absence is correct.

Important considerations

  • The detector pattern-matches source text instead of validating a JSON-LD graph, so a 1 confirms the string is present, not that the structured data is well-formed.
  • A matching string that appears outside valid JSON-LD — in a comment, a code sample, or plain text — can still produce a 1.
  • Capitalization differences do not affect detection, since matching is case-insensitive.
  • Validate the complete structured data independently with a schema testing tool before relying on it.
  • Presence is a signal that relates to how pages are described and prioritized, not a guarantee of a rich result or a ranking.

Related factors

Part of the Factors reference · how RankGear measures · glossary.