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 ID | RG-SCJ-110 |
|---|---|
| Family | Structured data — JSON-LD |
| Measurement | Binary presence (0 / 1) |
| Measured zone | Raw 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"| Value | Meaning |
|---|---|
| 1 | The HotelRoom type string was found in the raw HTML — but this can include a match that sits outside valid JSON-LD. |
| 0 | No 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.