Has JSON-LD Menu

Has JSON-LD Menu records whether RankGear finds a Menu @type declaration in a page’s raw HTML, returning 1 when the string is present and 0 when it is absent. It is a text-pattern check on the source, not a validation of your structured-data graph — so a stray match can register 1 even where no valid Menu schema exists.

Factor IDRG-SCJ-146
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 Menu in the raw source of the page. Menu is the schema.org type used to describe a restaurant or venue menu — its sections, items, prices, and availability. The factor is a simple presence signal: it does not grade the quality or completeness of the markup, only whether the declaration appears at all.

How RankGear measures it

RankGear searches the raw HTML for the string "@type": "Menu", tolerating flexible whitespace around the colon and optionally allowing a schema: prefix on the value. Matching is case-insensitive, so differences in capitalization do not change the result. If the pattern is found anywhere in the source, the factor returns 1; otherwise it returns 0.

What RankGear looks for

"@type": "Menu"

// also matches, case-insensitively and with flexible spacing:
"@type":"menu"
"@type" : "schema:Menu"
ValueMeaning
1A Menu @type string was found in the raw HTML.
0No Menu @type string was found in the raw HTML.

How to optimize it

Use the Menu type only for a genuine menu whose sections, items, prices, availability, and provider match the offerings visible on the page. Ensure every property reflects content a user can verify on the page itself. Because the detector only confirms the string is present, treat a value of 1 as evidence that markup exists — not proof that it is valid or accurate. Validate the complete structured data with an independent tool so the declared graph parses correctly and describes real content.

Important considerations

  • The detector pattern-matches the source text rather than validating a full JSON-LD graph, so it cannot confirm the markup is well-formed or complete.
  • A matching string that appears outside valid JSON-LD — in a comment, a code sample, or unrelated script — can still produce a value of 1.
  • Capitalization differences do not affect detection; matching is case-insensitive.
  • Validate the complete structured data independently to confirm it parses and describes content users can verify.
  • This factor relates to how pages are described within a measured result set; it is a prioritization signal, not a guarantee of ranking. Correlation is not causation.

Related factors

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