LegalService vs Attorney Schema: A JSON-LD Walkthrough

Table of Contents

Legalservice Vs Attorney Schema

For a law firm, the schema question has a clear answer: mark up the firm itself with the LegalService type and mark up each individual attorney with the Person type. Skip the old Attorney type entirely, because it is deprecated and search engines no longer act on it. This walkthrough shows both blocks and how they connect.

Getting the types right matters because schema is how an engine identifies who you are with certainty. It supports rich results and a clean entity, and it is the foundation the rest of your markup builds on, which we cover in our complete schema guide. Use the wrong type and the engine either ignores your markup or reads your firm as a generic business.

Q SHORT ANSWER

Use LegalService for your firm and Person for each attorney, connect them with the worksFor property, and skip the deprecated Attorney type entirely.

This walkthrough gives you both copy-paste blocks and the one property that links them into a single, legible entity.

Why the Attorney Type Is Out

Schema.org deprecated the Attorney type in favor of LegalService, which it treats as clearer and less ambiguous, and Google no longer honors Attorney for rich results. Markup that still uses it validates as legitimate code, but it triggers no enhancement and sends signals built on a vocabulary engines have moved past. If your current pages use Attorney, replacing it is the first fix. The good news is that the swap is mechanical: the firm becomes LegalService, and the people become Person.

Mark Up the Firm With LegalService

LegalService is a subtype of LocalBusiness built for businesses that provide legal services, so it accepts every property a firm needs: name, address, phone, hours, area served, and the services offered. Put it on the homepage or the main contact page, and give the node an @id you can reference later.

{
“@context”: “<https://schema.org>”,
“@type”: “LegalService”,
“@id”: “<https://www.example-lawfirm.com/#firm>”,
“name”: “Example Law Firm”,
“url”: “<https://www.example-lawfirm.com/>”,
“telephone”: “+1-555-123-4567”,
“address”: {
“@type”: “PostalAddress”,
“streetAddress”: “123 Main Street, Suite 400”,
“addressLocality”: “Austin”,
“addressRegion”: “TX”,
“postalCode”: “78701”,
“addressCountry”: “US”
},
“areaServed”: “Texas”,
“priceRange”: “Free consultation”
}

Keep the name, address, and phone identical to your Google Business Profile so the engine can match the two without doubt.

Mark Up Each Attorney With Person

Each attorney gets a Person block with a job title and a worksFor property that points back to the firm. This is what lets an engine connect a named, credentialed attorney to the practice, which is a genuine trust signal in a Your Money or Your Life field.

{
“@context”: “<https://schema.org>”,
“@type”: “Person”,
“name”: “Jane Attorney”,
“jobTitle”: “Personal Injury Attorney”,
“url”: “<https://www.example-lawfirm.com/attorneys/jane-attorney/>”,
“worksFor”: {
“@type”: “LegalService”,
“@id”: “<https://www.example-lawfirm.com/#firm>”
}
}

Place this on the attorney’s own bio page, and reuse the firm’s @id in the worksFor value so the two nodes join up.

How the Two Connect

The link between them is the worksFor property on Person and the matching @id on LegalService. Give the firm’s LegalService node an @id once, then reference that same @id from every attorney’s worksFor. Done this way, an engine reads one firm with several named attorneys, not a pile of disconnected entities. That single relationship does more for clarity than any extra property you could add.

Common Mistakes to Avoid

A few errors show up again and again. The most common is repeating a full LegalService block on every page instead of defining it once and referencing its @id, which clutters the markup and blurs which node is canonical. Close behind is reaching for Organization or a bare LocalBusiness when LegalService is the precise type for a firm.

Two more are worth a check before you publish. Letting the address or phone in your schema drift from your Google Business Profile quietly tells engines your data is unreliable, so keep them in sync. And leaving a deprecated Attorney block in place next to a new Person block makes the page carry old and new vocabulary at once, so delete the old markup as you add the new.

What Proper Types Will Not Do

Correct types make your firm legible, but they are not a citation lever. A controlled Ahrefs study found that adding structured data produced no measurable lift in AI citations, and Google states that no special schema is required to appear in AI Overviews. Use LegalService and Person for accuracy and rich-result eligibility, and earn AI citations through the content itself.

Frequently Asked Questions

Use LegalService for the firm and Person for each attorney. The Attorney type is deprecated, so engines no longer act on it, and LegalService is the current, clearer type for a business that provides legal services.

Place the Person block on that attorney’s bio page, with a jobTitle and a worksFor property pointing to the firm’s LegalService node. Keep the identifier consistent so the engine links the attorney to the firm.

No, schema.org still lists it, so it validates as legitimate code. Google simply no longer honors it for rich results, so it earns no enhancement, which is why Person plus LegalService is the current best practice.

Yes. Give each attorney their own Person block on their own bio page, and point each one back to the single LegalService node with the worksFor property so the firm and its people stay linked.

âś” KEY TAKEAWAYS
  1. The Attorney type is deprecated, and Google no longer honors it for rich results.
  2. Mark up the firm as LegalService, the subtype built for legal-service businesses.
  3. Mark up each attorney as Person, linked to the firm with the worksFor property.
  4. Define the firm once with an @id, then reference it from every attorney block so the pieces connect.

Where Lexicon Comes In

The markup on this page is straightforward to copy, but the content it describes is the harder part, and that is what we handle. At Lexicon Legal Content, our JD-trained writers produce attorney-reviewed, answer-first pages and attorney bios that give your LegalService and Person markup something real and accurate to point to. Every piece is screened against ABA Model Rule 7.1 before it reaches you, so your copy stays as clean as your code.

If you want the words on your pages to match the structure around them, see our law firm content writing or contact us to talk it through. You can reach our team any time at 877-486-8123.

About the author

David Arato, JD

Founder & CEO

David B. Arato established Lexicon Legal Content in 2012 after identifying a significant market need: law firms and marketing agencies struggled to consistently source high-quality written content at scale. As a 2009 graduate of St. Louis University School of Law, David combines legal expertise with content strategy to deliver exceptional results for clients.

Get in touch


Our blog

Related Blog

Free Sample

What Makes Lexicon’s Content Different?

If you would like to learn more about Lexicon Legal Content, visit our homepage.

Fill out the form below to request a free sample!