For law firms · schema markup
Schema markup for law firms, stated truthfully.
The markup tells search and AI systems exactly who the firm is, who its attorneys are, and what they practice. Most law firm websites get it wrong in ways a validator never flags. Here is what to use, what to skip, and how to keep it honest.
What is schema markup for a law firm?
Schema markup for a law firm is structured data — JSON-LD using the Schema.org vocabulary — embedded in each page to state explicitly what the page describes: the firm, an attorney, a practice area, an office, or an article. Search engines and AI systems use it to interpret the firm precisely instead of inferring it from prose.
The same thing goes by several names — schema markup for lawyers, attorney schema markup, legal schema markup, law firm structured data — and they all mean this: a small set of Schema.org nodes, kept true, that let a machine resolve one firm, its attorneys, and its practice areas without guessing.
It is not a ranking lever, and anyone selling it as one is selling eligibility you may already have. What correct markup buys a firm is interpretation: one unambiguous identity, attorneys whose credentials machines can verify against the visible page, and practice areas that resolve to real services in real places. Wrong markup buys the opposite — and wrong is common, because most of it is pasted once into a plugin and never read again.
The schema types a law firm actually needs
| Criterion | Where it lives | What it must state |
|---|---|---|
| LegalService (or Attorney) | The firm, sitewide graph | Legal name, address per real office, telephone, areas served, sameAs to verified profiles. One node, one identity, referenced everywhere. |
| Person | Each attorney profile page | Name as licensed, role, bar admissions, education, practice focus, and a link to the profile page it describes. No inflated titles. |
| Service | Each practice-area page | The practice area as the firm actually offers it, the audience, the area served, and the firm as provider by reference. |
| Article / BlogPosting | Commentary and insights | Headline, dates that match the visible page, and a named author whose Person node exists. |
| BreadcrumbList | Every interior page | The real navigation path, so machines learn the site’s structure. |
| WebSite + WebPage | Sitewide graph | Stable identifiers tying every node into one connected graph instead of orphaned snippets. |
What to skip: FAQPage markup earns nothing in Google anymore — keep the questions and answers as visible, headed content instead. Self-serving AggregateRating on the firm’s own pages is ineligible for review stars and reads as manipulation. And no markup should ever state a fact — an award, a rating, an office, a specialty — that a visitor cannot verify on the page itself.
A correct example
A minimal, truthful firm node. Each attorney and practice area gets its own node on its own page, referencing this one. It ships inside a script tag of type application/ld+json.
{
"@context": "https://schema.org",
"@type": "LegalService",
"@id": "https://examplefirm.com/#firm",
"name": "Example Law Firm LLP",
"url": "https://examplefirm.com/",
"telephone": "+1-217-555-0100",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 N Main St, Suite 400",
"addressLocality": "Champaign",
"addressRegion": "IL",
"postalCode": "61820",
"addressCountry": "US"
},
"areaServed": { "@type": "State", "name": "Illinois" },
"sameAs": ["https://www.linkedin.com/company/example-law-firm"],
"employee": { "@id": "https://examplefirm.com/attorneys/jane-example/#person" }
} Notice what is absent: no ratings, no awards, no ten invented “locations.” Every property above is checkable against the visible site, which is the standard machines — and opposing counsel — hold a firm to. These mistakes are the norm, not the exception: in Hyrizen’s 50-city study of top-ranking injury firms, 63% still shipped markup deprecated since 2024 and only 39% marked up a single attorney as a person.
The mistakes law firm websites actually make
- Markup that drifts from the page. The plugin says five attorneys; the team page says seven. Machines notice disagreement and trust neither.
- Several identities for one firm. Different names, phone formats, or duplicate Organization nodes across pages — the firm dissolves into entities machines cannot resolve.
- Dead or ineligible types.
FAQPagemarkup that earns nothing, star ratings the firm gave itself, “speakable” experiments no platform reads. - Attorney pages with no Person node — or one Person node stamped identically on every profile.
- Practice areas as prose only. The firm’s actual services exist nowhere in the graph, so the answer to “does this firm handle X in Y” is left to inference.
Does schema markup improve law firm rankings?
Not directly — Google is explicit that structured data is not a ranking factor, and a firm should walk away from anyone who guarantees otherwise. What it changes is eligibility for supported result features and, increasingly important, how accurately search and AI systems describe the firm when they answer a prospective client’s question. A firm whose markup, pages, and profiles state the same facts is easier to retrieve, harder to misdescribe, and safer to cite. That is the honest case, and it is sufficient.
How implementation works
-
STEP 01
Inventory
Every public fact about the firm — name, offices, attorneys, admissions, practice areas — verified and recorded once, in an entity register.
-
STEP 02
Generate
JSON-LD produced from the same source as the visible content, one connected graph per page, so markup and page cannot disagree.
-
STEP 03
Validate
Rich Results Test for eligibility, Schema.org validation for vocabulary, and a truth pass: every claim checked against what a visitor sees.
-
STEP 04
Keep it true
Attorneys join, offices move. The markup follows the content automatically, and the profiles that reference it are reconciled.
Questions about law firm schema markup
Should a law firm use Attorney or LegalService schema?
Do we need a plugin to add schema markup?
How do we handle schema for multiple office locations?
How do we test law firm schema markup?
Do AI systems read schema markup?
What does law firm schema markup implementation cost?
Next step
Find out what the firm’s markup says today.
The AI Visibility Audit reads every page the way machines do and lists the schema errors specifically: the page, the node, the claim, and the fix. Implementation is quoted from the evidence, or included in a full law firm build.