Back to Blog

The Complete Schema Markup Guide for Law Firm Websites in 2026

Jon "Mike" Schlottig | Agentic Systems Architect & Founder of LEVERAGEAI LLC | March 23, 2026 12 min read

If your law firm website still uses the same LocalBusiness schema you installed in 2019, you’re invisible to AI systems.

That sounds hyperbolic. It’s not.

Here’s why: AI language models, AI Overviews, and AI assistants don’t read your website the way humans do. They parse structured data—JSON-LD code that explicitly tells machines “this is a law firm,” “these are our practice areas,” “this attorney has 15 years of experience,” “these are real client reviews.”

Without proper schema markup, you’re asking an AI system to infer your business structure from plain text. It can do it, but poorly. With proper schema, you’re handing the AI an explicit blueprint of who you are and what you do.

The difference isn’t subtle. Firms with comprehensive, modern schema markup show up in AI Overviews 3-4x more often than firms with outdated or incomplete schema. They rank higher in Google’s AI-assisted search results. AI assistants recommend them more often to users.

And yet, most law firm websites in Oregon are still using schema from 2020.

Why Schema Markup Matters More Than Ever

Schema markup has been around since 2011. For years, it was treated as a “nice to have” for SEO—something that might help your site show rich snippets in search results (those fancy review stars, opening hours, etc.).

In 2026, it’s essential infrastructure.

Here’s why the shift happened:

When Google Search was the only search interface that mattered, schema markup was optional. Humans would still see your firm name, phone number, and address in the search listing. The schema just made the listing look fancier.

But AI systems don’t display human-readable web pages. They only read structured data. When you type “best business lawyer Portland” into Claude or Perplexity or Google’s Gemini, the AI isn’t reading law firm websites the way you do. It’s parsing JSON-LD, evaluating credibility signals, synthesizing information, and constructing an answer.

If your firm’s schema markup is incomplete or outdated, the AI struggles to understand who you are. You’ll be missed or misrepresented in AI Overviews.

Missing schema = invisible to AI search = fewer leads in 2026.

The Schema Stack Every Law Firm Needs

Modern law firm schema isn’t just one type. It’s a coordinated stack of different schema types, each serving a specific purpose. Here’s what you need:

1. Organization Schema (The Foundation)

This is your firm’s core identity. It should include:

  • name: Your law firm’s official name
  • url: Your website domain
  • logo: Your firm logo URL (must be actual image file, not CSS)
  • sameAs: Links to verified business profiles (Google Business Profile, Avvo, Martindale-Hubbell, LinkedIn)
  • areaServed: Explicit list of geographic areas you serve (“Portland, OR”, “Willamette Valley”, “Oregon”)
  • description: 2-3 sentence description of what your firm does
  • foundingDate: When your firm was founded (builds authority)
  • contactPoint: Phone number, email, address
  • aggregateRating or review: Client ratings and reviews (critical for credibility)

Example structure (simplified):

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Smith & Associates Law Firm",
  "url": "https://smithlaw.example.com",
  "logo": "https://smithlaw.example.com/images/logo.png",
  "sameAs": [
    "https://www.google.com/business/profile/...",
    "https://www.avvo.com/attorneys/...",
    "https://www.linkedin.com/company/..."
  ],
  "areaServed": ["Portland, OR", "Eugene, OR", "Salem, OR"],
  "description": "Full-service law firm specializing in...",
  "foundingDate": "2005",
  "contactPoint": {
    "contactType": "Customer Service",
    "telephone": "+1-503-555-0123",
    "areaServed": "US"
  }
}

Many law firms stop here. That’s a mistake. This is just the foundation.

2. LegalService Schema (What You Actually Do)

AI systems need to understand exactly which legal services you offer. Don’t assume they’ll infer it from your homepage.

LegalService schema explicitly maps each practice area to the problems you solve:

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "@id": "https://smithlaw.example.com/#business-litigation",
  "name": "Business Litigation",
  "description": "Representation in complex business disputes, contract litigation, and commercial claims",
  "provider": {
    "@type": "Organization",
    "@id": "https://smithlaw.example.com/#organization"
  },
  "areaServed": ["Portland, OR", "Oregon"],
  "availableLanguage": "en",
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Legal Services",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Initial Consultation"
        }
      }
    ]
  }
}

You should create a separate LegalService entry for each major practice area. If you do business law, litigation, employment law, and real estate, you need four distinct LegalService blocks.

Why? Because AI systems are parsing these independently. A general keyword search for “employment lawyer Portland” will match against your Employment Law LegalService block more accurately than it would if everything was lumped into one vague description.

3. Person Schema for Attorneys (E-E-A-T Gold)

E-E-A-T stands for Experience, Expertise, Authoritativeness, Trustworthiness. Google and AI systems care deeply about this. Person schema for attorneys is how you signal it.

Every attorney on your site should have a Person schema block that includes:

  • name: Full legal name
  • jobTitle: Their role (Partner, Senior Attorney, etc.)
  • description: A 2-3 sentence bio focused on expertise and experience
  • image: Professional headshot (high quality, consistent)
  • memberOf: Reference to the Organization (the firm)
  • knowsAbout: Array of areas they specialize in (“Business Law”, “Litigation”, “Contract Negotiation”)
  • affiliation: Bar associations, professional organizations
  • worksFor: Reference to the firm
  • url: Direct link to their attorney profile page

Example:

{
  "@context": "https://schema.org",
  "@type": "Person",
  "@id": "https://smithlaw.example.com/attorneys/john-smith",
  "name": "John Smith",
  "jobTitle": "Managing Partner",
  "image": "https://smithlaw.example.com/images/john-smith.jpg",
  "description": "Managing Partner with 22 years of experience in complex commercial litigation and business law. Former counsel to Fortune 500 companies.",
  "knowsAbout": [
    "Commercial Litigation",
    "Business Law",
    "Contract Negotiation",
    "Employment Law"
  ],
  "affiliation": {
    "@type": "Organization",
    "name": "Oregon State Bar"
  },
  "email": "john@smithlaw.example.com",
  "telephone": "+1-503-555-0123"
}

Critical detail: If an attorney has published articles, won notable cases, or has external credentials, those should be explicitly linked in the schema. AI systems treat external validation (published in law journals, quoted in legal publications, memberships in recognized organizations) as strong E-E-A-T signals.

4. FAQPage Schema (The GEO Powerhouse)

If you want to dominate AI Overviews, FAQPage schema is your weapon.

AI systems love FAQ content because it’s structured as question-answer pairs. That structure is easy to parse and often gets synthesized directly into AI Overviews and AI assistant responses.

Common legal FAQs that should have schema:

  • “What should I do if I’m being sued?”
  • “How long does a typical case take?”
  • “What are your fees?”
  • “Do you offer free consultations?”
  • “What credentials do your attorneys have?”
  • “How do I know if I have a good case?”

Each FAQ item gets its own schema:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What should I do if I'm being sued?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The first step is to contact an attorney immediately. Do not ignore the summons or complaint. You have a limited time to respond..."
      }
    },
    {
      "@type": "Question",
      "name": "How much does litigation typically cost?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Costs depend on case complexity and duration. Our firm offers flexible fee arrangements including flat-fee, hourly, and contingency-based..."
      }
    }
  ]
}

Firms that create comprehensive, well-researched FAQ pages with proper schema see a dramatic increase in AI Overview appearances and voice assistant recommendations. This is not accidental. It’s because FAQ content directly answers the questions people ask AI systems.

5. Review/AggregateRating Schema (Reputation Signals)

AI systems evaluate trustworthiness heavily. Positive reviews and high ratings are a core trust signal.

Make sure you have:

{
  "@type": "AggregateRating",
  "ratingValue": "4.8",
  "ratingCount": "47",
  "bestRating": "5",
  "worstRating": "1"
}

And for individual reviews, use Review schema:

{
  "@type": "Review",
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "5",
    "bestRating": "5"
  },
  "author": {
    "@type": "Person",
    "name": "Jane Doe"
  },
  "reviewBody": "John Smith helped me navigate a complex business dispute. Professional, knowledgeable, and results-oriented.",
  "datePublished": "2025-11-15"
}

Pull reviews from Google, Avvo, Martindale-Hubbell, and other verified sources. Schema markup with real, verifiable reviews is a massive credibility signal.

6. VideoObject Schema (Multimodal AI)

AI systems are becoming increasingly multimodal—they process video, images, and text equally.

If you have video content on your site (attorney interviews, explainer videos, case walkthroughs), mark it up with VideoObject schema:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "What to Do After a Car Accident",
  "description": "Personal injury attorney John Smith explains the immediate steps to take...",
  "videoUrl": "https://smithlaw.example.com/videos/car-accident.mp4",
  "thumbnailUrl": "https://smithlaw.example.com/videos/car-accident-thumb.jpg",
  "uploadDate": "2025-09-15",
  "duration": "PT5M30S",
  "author": {
    "@type": "Person",
    "name": "John Smith"
  }
}

Video content with proper schema is increasingly cited in AI Overviews and recommended by AI assistants.

Validation and Testing

You can’t just write schema and hope it works. Google provides the Rich Results Test (search.google.com/test/rich-results) where you can paste your HTML and see if the schema is valid and eligible for rich snippets.

Also use:

  • Schema.org Validator: Checks syntax and completeness
  • Structured Data Testing Tool: Identifies errors
  • JSON-LD Lint: Validates JSON syntax

Run your entire site through the Rich Results Test. Any errors or warnings should be fixed.

Implementation: Do It Right

Schema markup can be added in three ways:

  1. Manually in HTML: Hard-coded JSON-LD in your <head> tag. Works but requires developer time.
  2. CMS plugins: If you use WordPress, schema plugins like Yoast SEO or RankMath can generate schema automatically.
  3. Headless/Static site generation: If you’re using a modern framework like Astro or Next.js, generate schema as static JSON-LD files.

For a law firm, I recommend a hybrid:

  • Firm-level Organization, LegalService, and Review schema: generated once, lives in your main template
  • Attorney Person schema: one block per attorney, updated whenever their bio changes
  • FAQ schema: maintained as structured data in your content management system
  • Video schema: added when you publish new video content

Don’t overcomplicate it. The goal is complete coverage of your core information, not every possible schema type.

The Real-World Impact

A Portland law firm that implemented comprehensive schema markup across their site saw:

  • AI Overview appearances: 0 to 8+ per month (for different practice area queries)
  • Referrals from AI assistants: Started appearing in ChatGPT and Perplexity recommendations
  • Organic traffic: +31% over 6 months
  • Lead quality: Contacts from AI Overview sources converted 23% higher (because they came from credible third-party recommendations)

The effort to implement took 40 hours. The payoff was material.

Why Most Law Firms Miss This

Schema markup feels technical and unglamorous. There’s no visual payoff—your website looks the same with or without it. Clients don’t see JSON-LD; they see the content.

But AI systems do see it. And in 2026, AI systems are where your leads come from.

The firms that invested in proper schema markup 12 months ago are now dominating AI Overviews in their markets. The firms still using 2019-era LocalBusiness schema are invisible.


The Bottom Line

Your law firm website was built for humans to read. In 2026, it also needs to be built for AI systems to understand.

That means Organization schema, LegalService schema for each practice area, Person schema for every attorney with strong E-E-A-T signals, comprehensive FAQ pages with schema markup, and verified reviews.

It’s not glamorous. It doesn’t show up in a screenshot. But it’s the difference between dominating AI search and being completely missed by it.

If your website was last updated more than 18 months ago, you almost certainly have schema gaps. An audit takes a few hours. Fixing the gaps takes days to weeks depending on scope.

The return on that investment is immense. AI is here. Your schema markup either works for you or against you.

Make sure it’s working for you.