InterCore Technologies
● InterCore · Agentic search optimization

LegalService and Attorney Schema: Structuring Your Firm for AI Citation

Be the firm AI recommends.

How to mark up LegalService and Attorney entities in schema.org JSON-LD so law firms rank and get cited by ChatGPT, Claude, Gemini, and Perplexity.

Get your free AI visibility report →Read the guide
By Scott Wiseman·CEO & Founder, InterCore Technologies·Updated Jul 2026
Quick
answer

How to mark up LegalService and Attorney entities in schema.org JSON-LD so law firms rank and get cited by ChatGPT, Claude, Gemini, and Perplexity.

TL;DR — Key takeaways
  • LegalService is a LocalBusiness subtype that describes a legal service offered by a firm. It carries properties like areaServed (the jurisdictions you serve), telephone, address, and a provider reference to the firm Organization. LegalService is the entity type that AI search engines use to match user queries about legal services to your firm.
  • Attorney is a Person entity, not a LocalBusiness. It represents an individual lawyer and should carry name, worksFor (reference to the firm Organization), credentials (barAdmission, hasCredential), and sameAs (LinkedIn, bar directory links). Attorney makes your firm visible to AI models when they search for individual practitioners.
  • LegalService and Attorney are complementary: each LegalService lists the firm (provider) and the practice area/jurisdiction pair it covers. Each Attorney lists the firm they work for. Together, they form a graph where the firm is the hub and services/attorneys are the spokes, enabling AI engines to disambiguate your practice areas and attorney expertise across multiple locations.
  • For multi-office firms, create one LegalService per (practice area × location) combination. Each location gets its own address, telephone, and areaServed (the city/county it serves). Avoid creating one generic LegalService for the whole firm — AI models need service-specific, location-specific entities to understand where and how you serve.
  • The firm Organization node sits at the center and is referenced by every LegalService and Attorney via shared @id. Never re-declare the Organization on every page. Instead, declare it once (in the site footer or root layout) and reference it by @id from every LegalService/Attorney node on other pages. This enables entity deduplication and makes your firm visible as one unified entity across all your pages and all AI search engines.
  • A complete law firm schema graph includes: the Organization node (firm name, address, telephone, image, sameAs links to GBP/LinkedIn/Avvo); one or more LegalService nodes (one per practice area × location), each with areaServed, hasMap (Google Maps), priceRange, and provider → firm @id; and one Person node per attorney, with worksFor → firm @id, barAdmission, hasCredential, and sameAs. This graph allows AI models to answer queries like 'medical malpractice attorney in San Francisco' by matching the query's semantics to the LegalService and Attorney entities.
The complete guide

Read it, chapter by chapter

The full 7-chapter guide for law firms — pick any chapter to read it here.

Chapter 1 of 7

What Is LegalService? (And Why It's Different from Organization)

LegalService is a LocalBusiness subtype in schema.org that represents a specific legal service offered by a firm, often tied to a geography or practice area. When you declare a LegalService entity, you are telling AI search engines: "This firm offers this specific service (e.g., medical malpractice defense) in this location (e.g., San Francisco)." LegalService is not the same as Organization; an Organization is the firm itself (its name, addresses, phone number). A LegalService is one service that firm provides.

Think of it this way: your firm's Organization node is the umbrella. Your LegalService nodes are the specific offerings under that umbrella. If your firm has three offices and handles five practice areas, you might have 15 LegalService nodes (5 practice areas × 3 offices). Each one is a distinct entity with its own address, telephone, and areaServed. This specificity is what makes AI search engines able to match user queries to your firm.

Concretely, when someone asks ChatGPT or Gemini "Who handles family law in Los Angeles?", the AI engine is searching for LegalService entities where (a) the practice area matches "family law", (b) the areaServed includes "Los Angeles", and (c) the provider (firm Organization) has a strong reputation (measured by links, reviews, and entity consistency across the web). If your firm has a LegalService node with the right properties, you become a candidate for citation. If you only have a generic Organization node with no LegalService children, you are invisible to this query path.

Organization vs. LegalService
PropertyOrganizationLegalService
What it representsThe firm itselfA specific service the firm offers
Typical propertiesname, address, telephone, image, sameAs, logoareaServed, priceRange, provider (→ Organization), hasMap, telephone
How many should you have?One per firm (not one per office or page)One per (practice area × location) pair
How should they relate?Referenced by LegalService/Attorney via shared @idHas a provider property that points to Organization @id
When to create a new oneYou are launching a new legal entityYou are adding a new service, location, or jurisdiction

One critical rule: declare your Organization node exactly once on your site (typically in the footer or root layout schema), then reference it by @id from every LegalService and Attorney node. Do NOT re-declare a full Organization node on every page with slightly different properties. A re-declaration creates a duplicate entity in Google's Knowledge Graph and fragments your firm's identity across the web. The whole point of schema.org is to tell AI engines "this LegalService belongs to this one firm, which also handles these other services and has these offices and these attorneys." Re-declarations break that story.

Share
Every search intent, covered

Who, what, why, when, where & how

Compare schema types for law firms

What's the difference between LegalService, Attorney, and Organization schema types?

See the comparison table in the first section; link to <a href="/schema-for-law-firms/law-firm-schema-basics">Law Firm Schema Basics</a> for the full type taxonomy.
Implement multi-office firm schema

How should I structure schema for a law firm with multiple offices?

Follow the hub-and-spoke pattern: one Organization, one LegalService per practice area × location. See the 'Structuring Multi-Office Firms' section for the detailed example.
Boost attorney visibility in AI search

How do I make individual attorneys visible to ChatGPT and Gemini?

Create Person nodes with barAdmission, hasCredential, worksFor, and sameAs links to LinkedIn/bar directories. Link to <a href="/aeo-for-lawyers/author-e-e-a-t">Author E-E-A-T for Lawyers</a> for more on bylines and credentials.
Verify schema quality before publishing

How do I test my LegalService and Attorney schema to make sure it's correct?

Use Google's Rich Results Test, validator.schema.org, and SSR-verify with curl to confirm the schema is in the HTML. See <a href="/schema-for-law-firms/schema-validation-audit">Schema Validation & Audit</a> for the full checklist.
InterCore · Services

Every guide in this hub

Explore the full cluster — pick any node to open its guide.

5
Services
What clients say

In their words

5.0★★★★★Excellent · 20 reviews on GoogleWrite a review
★★★★★

We tried a lot of vendors, but in less than a year, this law firm marketing agency generated tangible results.

Calyn Settle
Verified Google review · 8 months ago
★★★★★

Within 90 days we were showing up in ChatGPT and Google AI Overviews for our top practice areas. The qualified calls followed.

Managing Partner
Personal Injury firm
★★★★★

They actually understand how the AI platforms work. Our cost per signed case dropped while lead quality went up.

Founding Attorney
Family Law firm
★★★★★

As a solo, I finally compete with the billboard firms — because AI recommends me by name for DUI cases in my city.

Solo Practitioner
Criminal Defense

One verified Google review shown; the remaining quotes are representative. Past results do not guarantee future outcomes.

Scott Wiseman, CEO / Founder, InterCore Technologies · AI-Powered Marketing for Law Firms Since 2002
Scott Wiseman
CEO / Founder, InterCore Technologies · AI-Powered Marketing for Law Firms Since 2002

Scott is a former Google Marketing Director with a background in computer science and business. He helps law firms acquire clients across every search channel — SEO, PPC, and the newer generative and answer-engine categories (GEO and AEO) — improving their visibility both on Google and in the recommendations of AI systems like ChatGPT, Gemini, and Perplexity. A network engineer and software programmer by training, Scott holds a bachelor's in computer science from California State University, Northridge, an MBA from Pepperdine's Graziadio Business School, and an Applied Agentic AI certificate from Harvard Business School. He has guided law firms through every major shift — Yellow Pages to Google Ads to today's AI revolution — pioneering Generative Engine Optimization for attorneys nationwide.

Watch · Short

Why Law Firms Need GEO (Generative Engine Optimization)

100+
law firms served
18:1
avg marketing ROI
2002
law-firm-only since
More on the InterCore channel — @IntercoreAI
Sources & references

Backed by research

schema.org LegalService (official specification).schema.org LocalBusiness (LegalService is a subtype).schema.org Person (used for Attorney markup).schema.org BarAssociation and barAdmission property (for attorney credentials).Google Search Central: Structured Data (general guidance on schema.org for search).Google Rich Results Test (validation tool for schema.org markup).schema.org validator (JSON-LD and RDFa syntax validation).Moz: Local SEO Ranking Factors (how local entity consistency affects visibility).
FAQ

Frequently asked questions

You should have both. Organization is the firm itself. LegalService is each specific service the firm offers (typically one per practice area × location combination). AI search engines use LegalService to match location-specific and practice-area-specific queries. If you only have Organization, you are invisible to queries like "medical malpractice attorney in San Francisco."

Create one LegalService per (practice area × location) combination. If you have 3 practice areas and 2 offices, create 6 LegalService nodes. If you have 1 practice area and 3 offices, create 3. The more specific you are, the better AI engines can match queries to your firm.

Only if you have a page or section dedicated to that attorney. Creating Person nodes for every lawyer in your firm is overkill and creates maintenance overhead. Prioritize senior attorneys, named partners, and specialists you want AI to associate with specific practice areas.

The Person node has one worksFor property that points to the Organization. The attorney still works for one firm. If the attorney physically works from multiple locations or takes cases from multiple states, mention that in the attorney's bio HTML (visible content), but the worksFor @id points to one firm Organization.

Yes, but ideally provide the full name (San Francisco, California) in addition to abbreviations, or use sameAs to link to the geographic entity's Wikipedia page. AI engines prefer full names and explicit geographic references for clarity.

address is the physical office location (street address). areaServed is the geographic region you serve, which may be larger than your office location. For example, a San Francisco office might have address="123 Main St, San Francisco, CA" and areaServed="San Francisco, California" or areaServed="California" if you serve statewide.

Not necessarily. The LegalService describes the service offering (medical malpractice, family law, etc.), not the specific attorneys. If a new attorney changes the scope of a service or brings new expertise, update the description. But hiring someone does not require a new LegalService. Create new Person nodes for the new attorneys if you want to highlight them.

Test it with Google's Rich Results Test and validator.schema.org. Search for queries related to your practice area and location on ChatGPT, Gemini, or Perplexity, and see if your firm is cited. Track AI citations in your analytics (set up utm_source=gpt, gpt3.5, gemini, perplexity, claude, etc. in outbound links). This is newer territory, so direct measurement is still evolving, but SSR-verify with curl: `curl -A GPTBot https://yoursite.com | grep 'LegalService'` should show your schema in the HTML.

More guides
What Is Schema Markup?FAQPage & HowTo SchemaLocalBusiness & Multi-Office SchemaCommon Legal Schema Mistakes

Ready to be the answer AI recommends?

See exactly how ChatGPT, Google AI and Perplexity rank your firm — a 23-point report in 24 hours. No credit card.

Get my free AI visibility report →Call 213-282-3001