Law Firm Schema Markup: The Complete JSON-LD Guide
This guide provides validated, copy-paste JSON-LD templates for the two schema types that matter most for law firm AI visibility: LegalService at the firm level, and Attorney for individual attorney profile pages.
Templates in this guide
1. LegalService, for the Firm
{
"@context": "https://schema.org",
"@type": "LegalService",
"name": "Your Firm Name",
"description": "Full-service law firm practicing
personal injury, family law, and business
litigation, serving [area].",
"areaServed": [
{"@type": "City", "name": "City One"}
],
"address": {
"@type": "PostalAddress",
"addressLocality": "City",
"addressRegion": "State/Region",
"addressCountry": "US"
},
"telephone": "+1 000-000-0000"
}
2. Attorney, for Individual Attorney Pages
{
"@context": "https://schema.org",
"@type": "Attorney",
"name": "Attorney Full Name",
"worksFor": {
"@type": "LegalService",
"name": "Your Firm Name"
},
"description": "Personal injury attorney admitted
to the [State] Bar in [year], handling
car accident and workplace injury cases.",
"areaServed": [
{"@type": "City", "name": "City One"}
]
}
3. Supporting Schema: Organization, BreadcrumbList, FAQPage
Organization (homepage)
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Firm Name",
"url": "https://yourfirm.com",
"logo": "https://yourfirm.com/logo.png"
}
BreadcrumbList (every inner page)
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1,
"name": "Home", "item": "https://yourfirm.com/"},
{"@type": "ListItem", "position": 2,
"name": "Page Name",
"item": "https://yourfirm.com/page/"}
]
}
FAQPage (pages with genuine Q&A content)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{"@type": "Question",
"name": "Your question here?",
"acceptedAnswer": {"@type": "Answer",
"text": "A direct, complete answer."}}
]
}
Per current schema guidance, FAQPage markup is primarily a GEO and AI Overview signal rather than a guaranteed rich-result feature in Google, still worth deploying for AI-answer visibility, but not the only schema priority on a page.
4. How to Validate and Deploy
- Place the JSON-LD inside a
<script type="application/ld+json">tag in the page<head>. - Validate at validator.schema.org, confirming zero errors.
- Test in Google's Rich Results Test.
- Combine multiple schema types on one page using a single
@grapharray. - Re-validate after every content update, bar renewal, or new attorney hire.
Want this implemented correctly, site-wide?
We deploy and validate this full schema stack for law firms across every practice area.
Get My Free AI Visibility Audit →This guide is a companion to the complete 2026 guide to AI search optimization for law firms. See also: how ChatGPT chooses attorneys, the death of traditional legal SEO, personal injury firms.
Source: Schema.org vocabulary specification. Validation tools: validator.schema.org, Google Rich Results Test.