Schema markup — a standardized vocabulary of structured data embedded in a website’s HTML using formats such as JSON-LD, Microdata, or RDFa — communicates machine-readable facts about a law firm directly to search engines and, increasingly, to AI language models that power platforms like ChatGPT, Claude, Gemini, and Perplexity. When a prospective client asks an AI assistant “Who is the best personal injury attorney in Austin?” the AI draws on indexed, structured signals to formulate its recommendation. Law firms that implement attorney-specific schema at scale give AI systems an unambiguous, citable source of truth about their practice areas, credentials, office locations, and client reviews — dramatically improving the likelihood of appearing in AI-generated attorney recommendations.
Why Schema Markup Matters for AI Attorney Recommendations
Traditional SEO positioned schema markup as a tool for earning rich snippets in Google search results. That framing is now incomplete. As of 2024, an estimated 13 million legal queries are processed each month across ChatGPT, Gemini, Perplexity, and Claude — and those AI systems are not reading ten blue links. They are synthesizing structured information from crawled web pages, knowledge graphs, and indexed content to produce a single, confident recommendation.
Structured data accelerates that synthesis. When a law firm’s website explicitly declares “This entity is an Attorney, licensed in Texas, practicing Personal Injury Law, with an aggregate rating of 4.9 from 312 reviews” in machine-readable JSON-LD, an AI model does not need to infer those facts from paragraph text. It reads them directly. Inference is imprecise; structured data is not.
Research into what AI assistants actually look for when recommending an attorney confirms that credentialing signals, geographic specificity, and social proof (reviews) are among the top factors. Schema markup is the most reliable mechanism for delivering all three signals simultaneously, at scale, across every page of your website.
Core Schema Types for Attorneys
Schema.org defines several entity types directly relevant to law firm websites. Implementing the correct schema type — rather than a generic Organization or Person block — is the single most impactful structural decision a law firm can make.
Attorney and LegalService Schemas
The Attorney type (a subtype of LocalBusiness) is purpose-built for individual lawyers. It supports properties including name, url, telephone, areaServed, knowsAbout, hasCredential, and memberOf (bar associations). The LegalService type describes the firm as a business entity and supports serviceType, priceRange, and geo properties.
- Attorney schema: Apply to individual attorney bio pages. Include
alumniOf(law school),hasCredential(bar admission), andknowsAbout(practice area keywords) for maximum specificity. - LegalService schema: Apply to your homepage and practice area landing pages. Use
serviceTypeto enumerate each practice area as a distinct value rather than a comma-separated string. - ProfessionalService schema: A secondary fallback useful for multi-practice firms; nest it within
LegalServiceusing the@typearray syntax to claim both types simultaneously.
Practice Area Page Schema
Every discrete practice area page — personal injury, family law, criminal defense, estate planning — should carry its own LegalService block with a unique serviceType value and a areaServed property scoped to the geographic region that page targets. This granularity is critical: Gemini and Perplexity have demonstrated the ability to match service-type schema values to query intent with high fidelity, surfacing the specific practice area page rather than the generic homepage.
JSON-LD Implementation Guide
JSON-LD (JavaScript Object Notation for Linked Data) is the format Google explicitly recommends for structured data, and it is the format most reliably parsed by the crawlers that feed AI training pipelines. Unlike Microdata or RDFa, JSON-LD is injected as a <script> block in the <head> or <body> of a page — keeping it cleanly separated from presentation HTML and making it easier to audit and update.
A Minimal Attorney JSON-LD Block
The following structure represents the minimum viable schema for an individual attorney bio page. Every property listed is actionable by AI recommendation engines:
- @context and @type: Always
https://schema.organdAttorney— never omit these; they are the namespace declaration that makes the block parseable. - name: The attorney’s full legal name exactly as it appears on bar registration. Consistency across schema, Google Business Profile, and legal directories is a trust signal.
- url: The canonical URL of the bio page — not the homepage. This anchors the entity to a specific, citable page.
- areaServed: Use an array of
CityorStatetyped objects, not a plain text string. Typed geographic entities are indexable as distinct knowledge graph nodes. - knowsAbout: An array of practice area strings. Use the same terminology your target clients use in natural language queries (“car accident lawyer” alongside “motor vehicle negligence”).
- hasCredential: A
EducationalOccupationalCredentialobject referencing the attorney’s bar admission and law school degree. AI systems treat credentialing data as a verifiability proxy. - memberOf: State bar association, ABA membership, and any specialty bar organizations. These associations link your entity to established, authoritative knowledge graph nodes.
areaServed, knowsAbout, hasCredential, and aggregateRating — gives AI assistants five or more independent structured signals to match against a user’s query. Each additional property reduces AI uncertainty and increases recommendation confidence.Local Business & Office Schema
Geographic specificity is among the most decisive factors in AI attorney recommendations. A query like “find a DUI attorney near me” requires the AI to resolve “near me” against a known location — and structured geo data on your website is far more reliable for that resolution than text mentions of city names in body copy.
For firms with multiple office locations, this is especially important. Each office location should have its own LegalService or Attorney schema block with a unique address object and geo coordinates. Do not consolidate multiple offices into a single schema block — doing so collapses geographic precision and reduces your visibility for location-specific queries.
- PostalAddress: Include
streetAddress,addressLocality(city),addressRegion(state abbreviation),postalCode, andaddressCountry. All five sub-properties should be present. - GeoCoordinates: Embed latitude and longitude values. These allow AI systems and knowledge graphs to place your office precisely on a spatial index, improving relevance for proximity queries.
- openingHoursSpecification: Structured hours data signals an active, operating business — a low-cost trust indicator that AI models weight positively against firms with incomplete or absent hours data.
- telephone: Use E.164 international format. Consistent phone numbers across schema and directory listings (Avvo, Martindale, FindLaw) reinforce entity disambiguation.
The relationship between hyper-local schema and AI visibility is explored further in our analysis of town-level AI visibility strategies. Firms that implement geo-scoped schema at the neighborhood or zip-code level consistently outperform regional competitors in proximity-triggered AI queries.
Review and FAQ Schema Signals
AggregateRating Schema
Client reviews are among the top three factors AI assistants cite when recommending attorneys, according to analysis of ChatGPT and Gemini recommendation outputs. The aggregateRating property on an Attorney or LegalService schema block translates your review data into a structured, AI-readable signal.
An aggregateRating block requires three properties: ratingValue (your average score), reviewCount (total number of reviews), and bestRating (the maximum possible score, typically 5). Firms with 4.7 stars or higher and more than 50 reviews see measurably higher citation rates in AI-generated attorney lists — not because AI models prefer high ratings aesthetically, but because high aggregate ratings reduce the AI’s risk of recommending an underperforming service provider.
For more on how reviews interact with AI recommendations, see our detailed breakdown of how Google Reviews influence AI attorney recommendations.
FAQPage Schema
The FAQPage schema type marks up question-and-answer content in a format that AI assistants consume directly when generating responses. A personal injury firm that marks up “How long do I have to file a personal injury claim in Texas?” with a structured, accurate answer becomes a citable source for that specific query — and the attorney’s firm name travels with the citation.
- Target informational queries: FAQ schema performs best on questions that mirror the natural language queries users ask ChatGPT and Perplexity directly (“What is the statute of limitations for medical malpractice in Florida?”).
- Keep answers factual and jurisdiction-specific: AI models prefer verifiable, geographically scoped answers. Generic answers (“it depends on your state”) are less likely to be cited than specific ones.
- Limit to 5–10 FAQs per page: More than 10 FAQ blocks on a single page can dilute schema authority. Distribute FAQs across multiple practice area pages rather than concentrating them.
Measuring Schema Impact on AI Visibility
Implementing schema is a necessary condition for improved AI recommendations — but it is not sufficient alone. Law firms must measure whether their structured data is being parsed, indexed, and reflected in AI outputs. Three measurement layers matter:
- Google Rich Results Test: Validates that your JSON-LD blocks are syntactically correct and eligible for rich result features. A schema block with errors is ignored entirely by crawlers — not partially processed.
- Schema Coverage Audits: Tools like Screaming Frog’s structured data extractor identify which pages carry schema and which do not. For law firms with 50–200 page websites, schema coverage gaps on practice area pages are common and costly.
- GEO Score Tracking: A GEO Score measures how frequently, prominently, and broadly a law firm appears across AI assistant outputs. Comparing GEO Score data before and after a schema implementation sprint isolates the structured data contribution to AI visibility. Pinniq Legal’s platform tracks these signals across ChatGPT, Claude, Gemini, and Perplexity simultaneously, providing a unified view of AI recommendation frequency.
Understanding the components that drive your GEO Score — frequency, prominence, and breadth — helps contextualize which schema investments produce the highest return. A firm appearing in 60% of personal injury queries in its metro area but absent from surrounding suburbs has a breadth gap that location-scoped schema can directly address. Review the full breakdown of GEO Score components to map schema strategy to specific score dimensions.
Common Schema Mistakes Law Firms Make
Schema markup errors are more damaging than schema absence in some cases — malformed blocks can trigger crawler warnings that suppress all structured data from the affected page. The following mistakes appear repeatedly in law firm schema audits:
- Using generic Organization instead of Attorney: A schema block typed as
Organizationprovides none of the legal-specific properties AI systems use to classify and recommend attorneys. Always use the most specific applicable type. - Inconsistent NAP data: Name, Address, and Phone data in schema that differs from the firm’s Google Business Profile or Avvo listing creates entity disambiguation conflicts. AI models treat inconsistent entity data as a reliability signal — and not a positive one.
- Missing areaServed on practice area pages: Firms often implement
areaServedon the homepage but omit it from individual practice area pages. This collapses geographic precision exactly where it matters most — on the pages closest to transactional intent. - Hardcoding review counts: The
reviewCountvalue inaggregateRatingschema should be dynamically populated or updated on a regular schedule. A page showing 48 reviews in structured data when the firm actually has 215 Google reviews is a missed trust signal and a potential accuracy flag. - Duplicate @type declarations without array syntax: Claiming both
AttorneyandLegalServicetypes requires array notation:"@type": ["Attorney", "LegalService"]. Writing two separate@typeproperties in the same block causes the second to silently overwrite the first. - Omitting sameAs for authority linking: The
sameAsproperty accepts an array of URLs pointing to the attorney’s profiles on Avvo, Martindale-Hubbell, LinkedIn, and state bar directories. These cross-references strengthen entity disambiguation in knowledge graphs, directly improving AI citation confidence.
For firms evaluating their broader AI search strategy, schema implementation pairs most effectively with a content and citation audit. The Pinniq Legal managed services team conducts full schema audits as part of GEO optimization engagements, identifying coverage gaps, error states, and prioritization opportunities across the entire site architecture.