Schema Markup Implementation: Structured Data for Legal Practices
Law firm schema markup tells search engines what your practice does, which attorneys work there, and where you take cases. Get it right and a plain blue link becomes a result with star ratings, office hours, phone numbers, and answers pulled directly from your page.
Most legal websites ship with whatever structured data their theme happened to include, which usually means a generic Organization block and nothing else. Filling that gap is one of the cheaper wins available in law firm SEO, because the competition in most markets has not bothered.
What Law Firm Schema Markup Actually Does
Schema.org is a shared vocabulary that Google, Bing, and other engines read to interpret page content. Without it, a search engine sees a block of text and infers meaning. With it, you are handing over labeled fields: this string is a phone number, this person is an attorney, this number is an aggregate rating across 47 reviews.
That labeling drives two outcomes. Rich results change how your listing looks in the SERP. Entity understanding changes how confidently Google connects your firm to queries about specific practice areas and locations.
That second outcome now reaches past Google. ChatGPT, Perplexity, and AI Overviews lean on structured data to establish what a business is and whether its claims hold up, which makes schema a foundation of answer engine optimization for law firms rather than a purely technical SEO chore. Clean entity markup makes a firm easier for an AI system to cite with confidence.
The Schema Types That Matter Most
LegalService is the specific type for a law practice. It inherits from LocalBusiness, so it carries address, hours, phone, and price range alongside legal-specific properties like areaServed.
Attorney is a subtype of LegalService that Schema.org defines for individual practitioners and firms holding themselves out as attorneys. Many implementations skip it and default to LocalBusiness, which works but leaves specificity on the table.
Person handles each individual lawyer: bar admissions, alma mater, honorific suffix, job title, and a sameAs array pointing to their bar profile, Avvo listing, and LinkedIn.
FAQPage and BreadcrumbList are the two types most likely to produce a visible change in search results on a content page. Both are straightforward to implement and both are eligible for rich result treatment.
A Working LegalService Block
Here is a complete example for a single-office firm. Replace the placeholder values and drop it in the page head:
{
"@context": "https://schema.org",
"@type": "Attorney",
"name": "Example Law Firm",
"url": "https://examplelawfirm.com/",
"telephone": "+1-864-555-0100",
"priceRange": "Free consultation",
"address": {
"@type": "PostalAddress",
"streetAddress": "101 Main Street, Suite 400",
"addressLocality": "Greenville",
"addressRegion": "SC",
"postalCode": "29601",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 34.8526,
"longitude": -82.3940
},
"areaServed": [
{ "@type": "City", "name": "Greenville" },
{ "@type": "City", "name": "Spartanburg" },
{ "@type": "State", "name": "South Carolina" }
],
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:30",
"closes": "17:30"
}],
"sameAs": [
"https://www.facebook.com/examplelawfirm",
"https://www.linkedin.com/company/examplelawfirm"
]
}
Every value in that block should match what appears on the rendered page and in your Google Business Profile. Mismatches between structured data and visible content are a documented reason Google ignores markup.
Marking Up Attorney Credentials
Individual attorney bio pages deserve their own Person markup. The properties that carry weight are hasCredential for bar admissions, alumniOf for law school, and sameAs for authoritative third-party profiles.
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Jane Doe",
"honorificSuffix": "J.D.",
"jobTitle": "Managing Partner",
"worksFor": { "@type": "Attorney", "name": "Example Law Firm" },
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "University of South Carolina School of Law"
},
"hasCredential": {
"@type": "EducationalOccupationalCredential",
"credentialCategory": "Bar Admission",
"recognizedBy": { "@type": "Organization", "name": "South Carolina Bar" }
},
"sameAs": ["https://www.scbar.org/member/jane-doe"]
}
The sameAs array does the heaviest lifting here. It connects your attorney to entities Google already trusts, which strengthens the association between the person and the firm.
Practice Areas and Service Areas
Practice area pages are where most firms compete, and most leave them unmarked. Use LegalService with a knowsAbout array or an OfferCatalog listing each service. Keep the list honest and specific: “premises liability” and “commercial trucking collisions” describe real capability in a way that “personal injury” does not.
areaServed defines geographic reach. A firm licensed in one state should not list counties across three. Overstating coverage invites both a Google trust problem and a bar advertising problem.
Reviews and Ratings
AggregateRating markup can produce star ratings in search results, and those stars measurably affect click behavior. Two constraints apply.
Google requires that reviews marked up on your site be genuinely collected by your site and displayed on the page carrying the markup. Copying your Google Business Profile rating into your own AggregateRating block violates the guidelines and risks a manual action.
Separately, most state bars restrict how attorneys present client testimonials. South Carolina Rule 7.1 governs communications about a lawyer’s services, and comparable rules exist in every jurisdiction. Confirm your review display and markup with whoever handles your firm’s advertising compliance before publishing.
FAQ Schema on Content Pages
FAQPage markup is the most reliable rich result available to a legal content page. Google narrowed FAQ rich result eligibility in 2023 to well-known authoritative government and health sites for many queries, so treat visible FAQ snippets as a bonus rather than the goal. The markup still helps engines parse question-answer structure on the page.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Which schema types matter most for a law firm site?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Attorney or LegalService for the firm, Person for each lawyer, and BreadcrumbList sitewide."
}
}]
}
Article schema belongs on blog posts and legal guides. HowTo markup fits procedural content, though Google deprecated HowTo rich results on desktop and mobile in 2023, so its value now is parsing rather than display.
JSON-LD Is the Only Format Worth Using
Google states a preference for JSON-LD. It sits in a script tag, stays separate from your HTML, survives theme changes, and can be edited without touching page content. Microdata and RDFa remain valid formats that create maintenance headaches for no upside.
On WordPress, three delivery options work. Yoast SEO generates a connected schema graph automatically and exposes settings per page type. A dedicated plugin like Schema Pro handles more complex needs. Hand-coded JSON-LD in a header hook gives you full control at the cost of ongoing maintenance.
Running two plugins that both output Organization schema produces duplicate conflicting entities. Audit what your site already emits before adding anything.
Multi-Office Firms
Each physical office needs its own LegalService entity on its own location page, with a distinct address, phone number, and geo coordinates. A shared toll-free number across every location weakens the local signal for all of them.
Firms licensed across state lines should scope areaServed to actual admission. A Georgia office run by attorneys admitted only in Georgia should not claim South Carolina coverage, in schema or anywhere else.
Testing and Ongoing Maintenance
Google’s Rich Results Test at search.google.com/test/rich-results shows which rich result types your page qualifies for. The Schema Markup Validator at validator.schema.org catches vocabulary errors the Rich Results Test ignores because they map to no rich result.
Search Console’s Enhancements reports surface errors at scale across the site. Check them after any theme update, plugin update, or template change, since those are the three events that silently break markup.
Errors That Show Up Repeatedly
Markup describing content that does not appear on the page. Google treats this as spam and may issue a manual action.
Duplicate Organization entities from competing plugins, which leaves search engines choosing between contradictory descriptions of the same business.
Inconsistent name, address, and phone data between schema, the visible page, the footer, and the Google Business Profile.
Missing required properties, which cause Google to drop the entity entirely rather than partially process it.
Technical Standards and Implementation Resources
The World Wide Web Consortium maintains the web standards underlying structured data formats at w3.org, including the JSON-LD specification itself. Its documentation is the authoritative reference for syntax questions that vendor documentation leaves ambiguous.
The National Institute of Standards and Technology publishes technical and security standards at nist.gov relevant to professional websites handling confidential client intake data.
FAQ
Which schema types are most important for a law firm website? Attorney or LegalService for the firm itself, Person for each individual lawyer, and BreadcrumbList across the site. Practice area pages benefit from LegalService with a specific knowsAbout array. AggregateRating can produce star ratings if your firm collects and displays reviews on its own site and your state bar permits testimonial display. Start with the firm-level entity, since everything else references it.
Does schema markup improve rankings? Structured data is not a ranking factor in the direct sense. It affects how your result is displayed and how confidently search engines understand what your business does. Rich results tend to draw more clicks than plain listings, and click behavior does influence performance over time. Treat markup as a visibility and comprehension tool rather than a ranking lever.
Can bad schema implementation hurt a law firm site? It can. Google issues manual actions for structured data that describes content not present on the page, most commonly fabricated review ratings. Markup that fails validation is typically ignored rather than penalized, which wastes the effort without causing damage. The real risk sits with review and testimonial markup, where a Google guidelines violation and a state bar advertising violation can arrive from the same mistake.
Ready to Fix Your Structured Data?
A structured data audit finds the duplicate entities, missing properties, and compliance exposure sitting in your current implementation. Schedule a consultation to see what your firm’s markup is telling search engines right now.
About the Author
Jim Toppe is the founder of Toppe Consulting, a digital marketing agency specializing in law firms. He holds a Master of Science in Management from Clemson University and teaches Business Law and Marketing at Greenville Technical College. Jim also serves as publisher and editor for South Carolina Manufacturing, a digital magazine. His background combines legal knowledge with digital marketing expertise to help attorneys grow their practices through compliant, results-driven strategies.
