Has JSON-LD LegalService is a 0 / 1 flag for whether a page’s raw HTML contains an @type value of LegalService in its JSON-LD structured data, the schema.org type for a law firm or other legal-service provider. Important caveat: it matches source text, so a 1 confirms the string is present, not that a valid structured-data graph exists.
| Factor ID | RG-SCJ-131 |
|---|---|
| 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 LegalService in the raw source of the page. The LegalService type on schema.org describes a provider of legal services — a law firm, attorney, or similar practice — and, when implemented well, carries practice areas, credentials, service area, location, hours, and contact details in a machine-readable form.
How RankGear measures it
RankGear searches the raw HTML for the @type declaration LegalService, tolerating flexible whitespace around the key and value and optionally allowing a schema: prefix on the type. Matching is case-insensitive, so differences in capitalization do not affect the result. The factor returns 1 when a matching string is found and 0 when it is not. Because the check pattern-matches source text rather than parsing and validating a JSON-LD graph, a match anywhere in the source — even outside a valid JSON-LD block — can produce a 1.
What RankGear looks for
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LegalService",
"name": "Acme Law",
"areaServed": "...",
"telephone": "+1-555-0100"
}
</script>
# matched pattern (case-insensitive, flexible whitespace, optional schema: prefix):
# "@type" : "LegalService"
# "@type":"schema:LegalService"| Value | Meaning |
|---|---|
| 1 | A LegalService @type string was found in the raw HTML. |
| 0 | No matching LegalService @type string was found in the raw HTML. |
How to optimize it
Treat this as an observation, not a target. Use LegalService only for a genuine legal-service provider, and make every property truthful: accurate practice areas, credentials, service area, location, hours, and contact information. Ensure each value reflects content a visitor can verify on the page itself. Do not add or alter the markup merely to move this flag — because the detector matches source text, a stray string could set it to 1 without any real structured data behind it.
Important considerations
- The detector pattern-matches source text instead of validating a JSON-LD graph, so a 1 confirms the string, not a well-formed structured-data object.
- A matching string that sits outside valid JSON-LD can still produce a 1.
- Capitalization differences do not affect detection; matching is case-insensitive.
- Validate your complete structured data independently with a dedicated schema validator rather than relying on this flag.
- 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.