Has JSON-LD LegalService

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 IDRG-SCJ-131
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 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"
ValueMeaning
1A LegalService @type string was found in the raw HTML.
0No 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.