Has JSON-LD HotelRoom

Has JSON-LD HotelRoom is a 0 / 1 flag for whether a page’s raw HTML contains an @type value of HotelRoom, the JSON-LD type used to describe a specific bookable hotel room. Important caveat: this is a raw-text string match, not JSON-LD graph validation, so a 1 only means the string was present somewhere in the source.

Factor IDRG-SCJ-110
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 HotelRoom in the raw source of the page. In Schema.org, HotelRoom describes a specific hotel-room offering — its occupancy, bed configuration, amenities, pricing, and availability — as machine-readable structured data. The factor returns 1 when that type string is found and 0 when it is not.

How RankGear measures it

RankGear searches the raw HTML for the text "@type": "HotelRoom", allowing flexible whitespace around the pattern and optionally allowing a schema: prefix on the type. Matching is case-insensitive, so capitalization differences do not affect the result. The check operates on source text rather than on a parsed JSON-LD graph.

What RankGear looks for

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HotelRoom",
  "occupancy": { "@type": "QuantitativeValue", "maxValue": 2 },
  "bed": "Queen",
  "amenityFeature": [ ... ]
}
</script>

# matched (case-insensitive, flexible whitespace, optional schema: prefix):
#   "@type": "HotelRoom"   or   "@type": "schema:HotelRoom"
ValueMeaning
1The HotelRoom type string was found in the raw HTML — but this can include a match that sits outside valid JSON-LD.
0No HotelRoom type string was found in the raw source.

How to optimize it

Treat this as an observation, not a target. Use HotelRoom only for a genuine, specific hotel-room offering, and describe it truthfully — accurate occupancy, bed configuration, amenities, pricing, and availability — with properties that match the room details a visitor can see on the page. Because the detector matches source text rather than validating a graph, do not add or duplicate the type string to influence the score; implement correct markup for its own sake and validate it independently.

Important considerations

  • The detector pattern-matches source text instead of validating a JSON-LD graph.
  • A matching string that sits outside valid JSON-LD can still produce a 1.
  • Capitalization differences do not affect detection.
  • Validate the complete structured data independently with a dedicated tool.
  • Structured data correlates with, and does not guarantee, ranking outcomes; it is a prioritization signal measured within a result set, not a cause of position.

Related factors

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