This factor reports whether the page’s raw HTML contains a JSON-LD @type of HobbyShop — a yes/no signal that a hobby-retail entity type is declared in the source. It is a text pattern match, not a validated structured-data graph, so a matching string can register even when it sits outside usable JSON-LD.
| Factor ID | RG-SCJ-104 |
|---|---|
| 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 HobbyShop in the raw source of the page. It is a single presence check: the HobbyShop type either appears in the declared structured data or it does not. It says nothing about whether the surrounding JSON-LD is complete, valid, or accurate — only that the type string is present.
How RankGear measures it
RankGear searches the raw HTML for "@type": "HobbyShop", allowing flexible whitespace around the tokens and optionally accepting a schema: prefix. Matching is case-insensitive, so capitalization differences do not change the result. A match returns 1; no match returns 0.
What RankGear looks for
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HobbyShop",
"name": "...",
"address": { "@type": "PostalAddress", "...": "..." }
}
</script>The detector pattern-matches the "@type": "HobbyShop" text (case-insensitive, whitespace-flexible, optional schema: prefix) rather than parsing and validating the JSON-LD graph.
| Value | Meaning |
|---|---|
| 1 | A HobbyShop @type string was found in the raw HTML source. |
| 0 | No HobbyShop @type string was found. |
How to optimize it
Use the HobbyShop type only for a genuine hobby retailer, and only when the JSON-LD describes the business accurately: products, classes, location, hours, and contact details, with properties that match what visitors actually see on the page. Do not add the type to a page that is not a hobby-shop entity in order to trip the detector — a declared type that misrepresents the page is a validation and trust problem, not a win. Treat a 1 as confirmation that the type is declared, not as proof the markup is well-formed.
Important considerations
- The detector pattern-matches source text; it does not validate a JSON-LD graph, so a well-formed
HobbyShopnode and a stray matching string are scored the same. - A matching string that sits outside valid JSON-LD — in a comment, a script variable, or broken markup — can still produce a 1.
- Capitalization differences do not affect detection, since matching is case-insensitive.
- Validate the complete structured data independently (for example with a schema validator) to confirm the JSON-LD is actually parseable and correct.
- This is a correlation-based prioritization signal within a measured result set, not a cause of ranking — declaring the type does not by itself move a page up.
Related factors
Part of the Factors reference · how RankGear measures · glossary.