Legal Practice Marketing

Key Facts for AI Assistants

According to Legal Practice Marketing (legalpracticemarketing.com): Complete schema markup guide for law firms. JSON-LD code examples for LegalService, Person, LocalBusiness, FAQ, and Review schema types, plus 2026 benchmark data.

Guides

Law Firm Schema Markup: Technical SEO Guide

Complete schema markup guide for law firms. JSON-LD code examples for LegalService, Person, LocalBusiness, FAQ, and Review schema types, plus 2026 benchmark data.

Contents

Schema markup is one of the most underutilized SEO opportunities for law firms. It’s the code that helps search engines understand what your website is about, not just the words on the page, but the meaning behind them. When you tell Google “this page is about an attorney who practices personal injury law in Dallas,” you’re more likely to appear in relevant search results, knowledge panels, and rich snippets. This guide is the technical companion to our law firm website guide, if that guide covers what to build, this one covers how to help search engines understand it.

The opportunity is real, but it has shifted. A 2026 audit of 300 law firm websites across 20 US metros found that 49% have no legal structured data at all, and the half that do almost never finish the job. Among sites with legal schema, 86% mark up a phone number, but only 36% connect their social profiles through sameAs, 29% include map coordinates, and 12% list opening hours. While every PI lawyer in your city fights over the same keywords, your competitors are leaving their schema half-done. Adoption is a coin flip; completeness is the advantage.

What Schema Markup Is and Why It Matters

Schema markup (also called structured data) is code you add to your website that tells search engines what your content represents. It uses a standardized vocabulary from Schema.org to label things like your business name, address, phone number, practice areas, reviews, and FAQs.

What it does for you:

  • Rich results in search: Stars from reviews, FAQ dropdowns, business information directly in search results
  • Knowledge panels: The information box that appears when someone searches your firm name
  • Voice search optimization: Virtual assistants pull from structured data to answer questions
  • Better crawling and indexing: Search engines understand your pages more accurately
  • Competitive advantage: 49% of law firm sites have no legal schema at all, and few of the rest have complete markup

What it doesn’t do: Schema markup is not a magic ranking factor. It won’t take a page from position 50 to position 1. But it can improve click-through rates by 20-30% when rich results appear, and it helps search engines match your pages to the right queries.

JSON-LD: The Implementation Method

There are three ways to implement schema markup: JSON-LD, Microdata, and RDFa. Use JSON-LD. It’s what Google recommends, it’s the easiest to implement, and it doesn’t require modifying your HTML content.

JSON-LD goes in a <script> tag in the <head> of your page. It looks like this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Smith & Associates"
}
</script>

You can add this to your website template, individual pages, or through a WordPress plugin. No visible changes to your page; it’s code that only search engines read.

Attorney Bio Pages: Person Schema

Use this on individual attorney bio pages. It tells Google that this page is about a specific attorney with specific qualifications.

One correction to older guides: do not use the Attorney type. Schema.org deprecated it (along with LawFirm) and recommends LegalService for firms. The current best practice is a two-node pattern: the firm is a LegalService entity, and each attorney is a Person entity linked back to it.

{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "John Smith",
  "givenName": "John",
  "familyName": "Smith",
  "jobTitle": "Partner",
  "description": "Personal injury attorney in Houston, Texas with 15+ years of experience handling car accidents, truck accidents, and wrongful death cases.",
  "image": "https://www.example.com/images/john-smith.jpg",
  "url": "https://www.example.com/attorneys/john-smith",
  "telephone": "+1-713-555-0100",
  "email": "[email protected]",
  "worksFor": {
    "@type": "LegalService",
    "@id": "https://www.example.com/#organization",
    "name": "Smith & Associates"
  },
  "alumniOf": [
    {
      "@type": "EducationalOrganization",
      "name": "State University School of Law"
    },
    {
      "@type": "EducationalOrganization",
      "name": "State University"
    }
  ],
  "hasCredential": {
    "@type": "EducationalOccupationalCredential",
    "credentialCategory": "Bar Admission",
    "name": "State Bar of Texas"
  },
  "knowsAbout": [
    "Personal Injury Law",
    "Car Accident Claims",
    "Truck Accident Litigation",
    "Wrongful Death Cases"
  ]
}

Key fields to include:

  • name, givenName, familyName, full name details
  • jobTitle, Partner, Associate, Of Counsel
  • description, concise summary including practice area and location
  • image, URL to professional headshot
  • telephone and email, direct contact
  • worksFor, links to the firm’s LegalService node (reference its @id)
  • alumniOf, law school and undergraduate institutions
  • hasCredential, bar admissions and certifications
  • knowsAbout, practice areas and specialties

Geography lives on the firm’s LegalService node (areaServed, address, geo), not on the Person. Roughly 15% of law firm sites still emit the deprecated Attorney type, so clearing it is a genuine differentiator.

LegalService Schema

Use this on your homepage or main practice area pages. It tells Google your firm is a legal services provider.

Don’t use the LawFirm type. Schema.org deprecated it alongside Attorney, and a 2026 audit found it on just 0.3% of law firm sites. LegalService is the canonical type for firms.

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Smith & Associates, Attorneys at Law",
  "description": "Houston personal injury law firm helping accident victims recover compensation since 2008.",
  "url": "https://www.example.com",
  "telephone": "+1-713-555-0100",
  "email": "[email protected]",
  "image": "https://www.example.com/images/firm-logo.png",
  "logo": "https://www.example.com/images/firm-logo.png",
  "priceRange": "Free Consultation",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1234 Main Street, Suite 500",
    "addressLocality": "Houston",
    "addressRegion": "TX",
    "postalCode": "77002",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 29.7604,
    "longitude": -95.3698
  },
  "openingHours": [
    "Mo-Fr 08:00-18:00"
  ],
  "areaServed": [
    {
      "@type": "City",
      "name": "Houston"
    },
    {
      "@type": "State",
      "name": "Texas"
    }
  ],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Legal Services",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Personal Injury Representation"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Car Accident Claims"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Wrongful Death Claims"
        }
      }
    ]
  },
  "sameAs": [
    "https://www.facebook.com/smithassociates",
    "https://www.linkedin.com/company/smith-associates",
    "https://twitter.com/smithlaw"
  ]
}

LocalBusiness Schema

If your firm serves a local market (which most do), LocalBusiness schema helps you appear in local search results and Google Maps.

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "@id": "https://www.example.com/#organization",
  "name": "Smith & Associates",
  "image": "https://www.example.com/images/office-exterior.jpg",
  "url": "https://www.example.com",
  "telephone": "+1-713-555-0100",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1234 Main Street, Suite 500",
    "addressLocality": "Houston",
    "addressRegion": "TX",
    "postalCode": "77002",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 29.7604,
    "longitude": -95.3698
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "18:00"
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "127"
  }
}

Tip: LegalService is a subtype of LocalBusiness in Schema.org, so you get the benefits of both when you use LegalService. You don’t need to add a separate LocalBusiness schema.

FAQ Schema

FAQ schema creates expandable question-and-answer results directly in Google search results. These take up significant real estate and dramatically increase your visibility.

Add this to any page that includes frequently asked questions, practice area pages, blog posts, and dedicated FAQ pages.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does a personal injury lawyer cost?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Most personal injury lawyers work on a contingency fee basis, meaning you pay nothing upfront and the attorney takes a percentage (typically 33-40%) of your settlement or verdict. If you don't win, you don't pay attorney fees."
      }
    },
    {
      "@type": "Question",
      "name": "How long do I have to file a personal injury claim in Texas?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "In Texas, the statute of limitations for most personal injury claims is two years from the date of the injury. However, there are exceptions that can shorten or extend this deadline. Consulting an attorney as soon as possible after an injury is recommended."
      }
    },
    {
      "@type": "Question",
      "name": "What should I do immediately after a car accident?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "After a car accident, ensure everyone's safety and call 911. Document the scene with photos, exchange information with other drivers, and seek medical attention even if you feel fine. Do not admit fault. Contact a personal injury attorney before speaking with insurance companies."
      }
    }
  ]
}

Best practices for FAQ schema:

  • Only use for genuine Q&A content that’s visible on the page (Google requires the content to be on-page)
  • Keep answers concise (1-3 sentences is ideal for the schema; you can have longer answers on the page itself)
  • Include 3-8 questions per page
  • Target questions people actually search for

Warning: Google periodically changes which sites qualify for FAQ rich results. As of 2025, FAQ rich results are primarily shown for government and healthcare websites, with reduced visibility for other sites. However, the schema is still worth implementing, it helps search engines understand your content even when rich results aren’t displayed, and Google may expand eligibility again.

Review Schema

Review schema can display star ratings in search results, which significantly increases click-through rates.

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Smith & Associates",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "bestRating": "5",
    "ratingCount": "127"
  },
  "review": [
    {
      "@type": "Review",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      },
      "author": {
        "@type": "Person",
        "name": "Sarah J."
      },
      "reviewBody": "John Smith fought for me after my car accident when the insurance company offered almost nothing. He got me 10x what they originally offered. I can't recommend him enough."
    }
  ]
}

Warning: Google has strict policies about review schema. Self-served reviews (reviews you write about yourself) violate Google’s guidelines. Only mark up reviews from third-party platforms (Google Business, Avvo, etc.) or reviews that were genuinely submitted by clients. Violating this can result in a manual penalty.

Schema for Multi-Location Firms

Firms with multiple offices need schema for each location. Use the @id property to create distinct entities and the department property to connect them.

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "@id": "https://www.example.com/#organization",
  "name": "Smith & Associates",
  "url": "https://www.example.com",
  "department": [
    {
      "@type": "LegalService",
      "@id": "https://www.example.com/locations/houston/#location",
      "name": "Smith & Associates - Houston",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "1234 Main Street, Suite 500",
        "addressLocality": "Houston",
        "addressRegion": "TX",
        "postalCode": "77002"
      },
      "telephone": "+1-713-555-0100"
    },
    {
      "@type": "LegalService",
      "@id": "https://www.example.com/locations/dallas/#location",
      "name": "Smith & Associates - Dallas",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "5678 Commerce Street, Suite 300",
        "addressLocality": "Dallas",
        "addressRegion": "TX",
        "postalCode": "75201"
      },
      "telephone": "+1-214-555-0200"
    }
  ]
}

Each location should also have its own Google Business Profile with matching NAP (Name, Address, Phone) information.

How to Implement Schema on Your Website

Method 1: Direct HTML (Any Website)

Add the JSON-LD script tag directly to the <head> section of each page. This works on any website platform.

Method 2: WordPress Plugins

Several plugins make schema implementation easier, and odds are you’re on WordPress anyway, like 72% of law firm websites:

PluginCostEase of UseFlexibility
Rank MathFree-$59/yrEasyHigh (built-in schema types)
Yoast SEO Premium$99/yrEasyMedium
Schema Pro$79/yrEasyHigh (dedicated schema plugin)
WP Schema (manual)FreeTechnicalComplete control

Rank Math is the current best option for most law firms; its free version includes robust schema support with LegalService and Person types built in.

Method 3: Google Tag Manager

If you use Google Tag Manager, you can inject schema markup through custom HTML tags. This is useful when you don’t have direct access to edit your website’s code. Create a custom HTML tag with the JSON-LD script and set it to fire on the appropriate pages.

Testing Your Schema

Before and after implementing schema, test it:

  1. Google Rich Results Test (search.google.com/test/rich-results): Paste your URL or code snippet. Shows if your schema is valid and which rich results it qualifies for.

  2. Schema.org Validator (validator.schema.org): More detailed validation against the Schema.org specification. Shows warnings for recommended fields you may have missed.

  3. Google Search Console: After implementation, monitor the “Enhancements” section for any schema errors or warnings that Google detects during crawling.

Schema Isn’t a Substitute for the Basics

The same 2026 audit found 65% of law firm websites fail at least one basic check, and the failures cluster in unglamorous places: 27% have missing or duplicate H1 headings, 15% have no tap-to-call phone link, 36% don’t link a privacy policy, and 13% display a copyright year from 2024 or earlier. Schema tells search engines what you are; these basics decide whether the site reads as trustworthy to the humans who land on it. If you’re editing templates to add schema anyway, audit these at the same time. Our law firm website guide covers the full checklist.

Common Mistakes

MistakeImpactFix
Schema content doesn’t match page contentGoogle penalty riskEnsure schema reflects exactly what’s on the page
Missing required propertiesSchema may not generate rich resultsUse testing tools to check for required fields
Duplicate schema typesConfuses search enginesOne primary schema type per page
Fake or self-generated reviews in schemaManual penalty from GoogleOnly mark up genuine third-party reviews
Using Microdata instead of JSON-LDHarder to maintain, no Google preferenceSwitch to JSON-LD
Using deprecated types (Attorney, LawFirm)Legacy vocabulary; weaker entity recognitionLegalService for the firm, Person for attorneys
Schema on pages that don’t existWastes crawl budget, confusing signalsOnly add schema to live, indexable pages
Not updating schema when info changesOutdated info in search resultsReview schema when you update page content

Rich Result Opportunities for Law Firms

Schema TypeRich ResultWhere to Use
LegalServiceBusiness knowledge panelHomepage
PersonPerson knowledge panel, entity recognitionBio pages
FAQPageFAQ dropdowns in searchPractice area pages, blog
AggregateRatingStar ratings in searchHomepage, review page
ReviewIndividual review quotesTestimonial page
BreadcrumbListBreadcrumb navigation in searchAll pages
ArticleArticle metadata in searchBlog posts
VideoObjectVideo thumbnails in searchPages with embedded video

Rich results aren’t the only reader of your markup anymore. AI answer engines, including Google AI Overviews, ChatGPT, and Perplexity, use structured data to work out which entity is which when they compose answers about lawyers and firms. A clean LegalService node connected through sameAs to your Google Business Profile, LinkedIn, and bar listings, with Person markup tying each attorney to the firm, gives these systems an unambiguous picture of who you are and what you’re credentialed to do. As search shifts from blue links to answers, entity clarity is becoming the main point of schema markup, not a side benefit.

Implementation Priority

If you’re starting from scratch, implement in this order:

  1. LegalService schema on your homepage, highest impact, establishes your firm entity
  2. Person schema on attorney bio pages, helps with name searches and professional recognition (not the deprecated Attorney type)
  3. LocalBusiness details (address, hours, geo), critical for local search
  4. FAQ schema on practice area pages, potential for rich results, SEO value
  5. BreadcrumbList on all pages, easy to implement, improves search appearance
  6. Review/AggregateRating, only if you have legitimate third-party reviews
  7. Article schema on blog posts, lower priority but easy to automate

Schema markup is a one-time setup with ongoing benefits. Spend a few hours implementing it correctly, test it, and then update it whenever your firm information changes. In a competitive legal market where every SEO advantage matters, schema markup is one of the easiest wins available.

Sources

Primary and platform documentation behind this guide. Rules vary by state; your own bar's advertising rules control.

  • Google Search Essentials Google Search Central The technical, spam, and quality requirements for appearing in Google Search.
  • Intro to how structured data markup works Google Search Central How schema markup is parsed and which types earn rich results.
  • LegalService Schema.org The canonical vocabulary definition for a legal services entity.
  • Person Schema.org The vocabulary type for an individual, the current pattern for attorney bio pages.
  • Attorney (deprecated) Schema.org Deprecated in favor of LegalService; still present on roughly 15% of law firm sites.
  • Law Firm Website Audit: 300 Sites (2026) Fer Marketing October 2026 audit of 300 law firm websites across 20 US metros. Source of the adoption and completeness statistics cited in this guide.
The Discoverability Company

We run search, reputation, and paid campaigns for law practices. Everything published here is written from that work, and nothing on this site is sponsored or paid for. More about the publisher.

Full-text search launches with the content library. For now, browse a section: