Legal service schema for law firms

Schema markup for lawyers starts with LegalService, the Schema.org type for a law firm, a kind of LocalBusiness that Google reads as local business markup, so it is the local business schema for law firms; ProfessionalService schema is the general type Schema.org no longer recommends. Give each office's page its own LegalService in JSON-LD, with the name, address, phone, hours, area served and lawyers exactly as that page shows them, like the example below.

Updated

A minimal LegalService example

This is Schema.org LegalService markup for one office, in JSON-LD:

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Example Law Firm",
  "url": "https://www.example.com/",
  "telephone": "+1-555-010-0000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Real public address",
    "addressLocality": "Example City",
    "addressRegion": "CA",
    "postalCode": "90000",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "09:00",
    "closes": "17:00"
  }],
  "areaServed": "The market the firm actually serves",
  "employee": [{
    "@type": "Person",
    "name": "Public-facing lawyer",
    "jobTitle": "Partner",
    "url": "https://www.example.com/lawyers/name/"
  }]
}

Add credentials, more offices and more people only when the page shows them and they are current. A firm with several offices gives each office's page its own LegalService with that office's address, phone, hours and page URL, rather than one site-wide block repeated everywhere. Schema.org's older Attorney type is deprecated in favor of LegalService, and areaServed supersedes serviceArea.

Each visible fact goes in one property.

Fact on the pageTypePropertyMust match
Firm's public name and home pageLegalServicename, urlThe name on the site and the canonical address.
A real officeLegalServiceaddress, telephoneThe office's Business Profile and the contact details on its page.
The office's hoursLegalServiceopeningHoursSpecificationThe hours on the office's page and its Business Profile.
A lawyer at the firmPersonemployee on the firm; jobTitle, url on the lawyerThe lawyer's biography page.
Where the firm takes clientsLegalServiceareaServedThe places the page says the firm serves.
An article and its authorArticle, Personauthor, headline, datesThe byline and the real publication dates.

The office facts come from the same record as the law firm local SEO profiles, and the dates and authors from the law firm content marketing record, so the markup never says something the page does not. Markup describes a page to Google, and making the page rank is the rest of law firm SEO, so law firm schema markup services sold on their own stop halfway.

Test it twice, then check it against the page.

The Schema Markup Validator checks the vocabulary and syntax, and Google's Rich Results Test checks features Google supports; neither can tell whether an address is a staffed office or a lawyer still works at the firm. After each deploy, compare the markup on a sample of templates with what the page shows, and check again when a lawyer, an office or a template changes. The failure to catch is one template printing the same office and people on pages about different offices: it validates, and it contradicts the site.

What is LegalService schema?

It is the Schema.org type for a business that provides legal services, advice and representation, such as a law firm. It sits under LocalBusiness and Organization, so it takes an office's address, phone, hours and area served as well as the firm's lawyers.

Should a law firm use LegalService, Attorney or LocalBusiness?

LegalService. Schema.org deprecated Attorney because LegalService is more inclusive and less ambiguous, ProfessionalService is deprecated too, and Google asks for the most specific LocalBusiness subtype, which for a law firm is LegalService.

How do you mark up the lawyers at a firm?

In Person schema for lawyers, each lawyer is a Person with a name, a job title and the URL of their biography page, listed under employee on the firm's LegalService; the Person can point back to the firm with worksFor. Mark up only the lawyers the site shows, and take a lawyer's markup down when they leave.

How do you mark up practice areas?

Schema.org describes a LegalService as a provider of one or more services, so a practice-area page can carry a Service with its name, serviceType and areaServed, and the firm as its provider. Google shows no search feature for Service markup; what ranks the page for its practice area is what the page says.

Can a law firm show review stars through schema?

Not for reviews of itself. Google makes a business's own pages ineligible for review stars when the business controls the reviews about itself, whether they sit in its markup or in an embedded Google or Facebook reviews widget, so review markup on a firm's own site earns no stars.

Does FAQ schema still work for law firms?

Not in Google's results: Google stopped showing FAQ rich results on May 7, 2026, so FAQ schema on a legal site no longer changes how its result looks. Answer the questions clients ask on the page anyway, since the answers are what the reader came for.

Does schema help a law firm rank?

It describes what the page already says, which office, which lawyers, which area, and makes the page eligible for the features Google supports without guaranteeing them. Google says a structured data manual action costs a page its rich results, not its place in web search, and markup does not make a thin page rank.

How do you test legal service schema?

Run the page through the Schema Markup Validator for vocabulary and syntax and Google's Rich Results Test for what Google reads, then compare every value with the page and the office's Business Profile: neither tool can tell a staffed office from a mailbox, or a current lawyer from one who left.

Send your site and the offices and lawyers it should describe.

Apply

We work for law firms on a monthly retainer, from $2,500 a month. If your firm is not ready for that, please don't apply.