Schema Markup for Law Firm Websites Done Right
July 19, 2026
Schema markup is one of the most misunderstood tools in law firm SEO. Firms either ignore it entirely and leave Google guessing about who they are, or they bolt on a plugin that fires bloated, inaccurate, or duplicate structured data that does more harm than good. Both extremes cost you. Done right, schema markup gives search engines a clean, machine readable description of your firm, your attorneys, your locations, and your practice areas. Done wrong, it invites manual actions and quietly suppresses the rich results you were chasing in the first place.
This guide covers the structured data types that matter for legal websites, how to implement law firm schema markup without tripping Google’s guidelines, and the specific fields that help Google connect your site to your Google Business Profile and your practice area pages. It is written for firm owners and marketing partners who want to know what to ask for, not for developers who just want a copy paste snippet.
What schema markup actually does for a law firm
Schema markup is a shared vocabulary maintained at schema.org that describes entities and their relationships in a way both search engines and AI systems can parse. When you add it to a page, you are not changing what visitors see. You are adding an invisible layer of structured facts in the page source that tells Google, in plain terms, that this business is a law firm named X, located at this address, serving these areas, with these attorneys and these practice areas.
For most legal sites the format that matters is JSON-LD, a block of structured data that lives in a script tag in the page. Google has stated for years that JSON-LD is its preferred format because it is the cleanest to maintain and the least likely to break when your page layout changes. Microdata sprinkled through your HTML is fragile and hard to audit. If a vendor or plugin is still injecting microdata across your templates, that alone is worth revisiting.
The payoff is not magic. Schema will not vault a thin page to the top of a competitive practice area term. What it does is remove ambiguity. It helps Google confidently associate your website entity with your Google Business Profile, reinforce your firm name and location across the web, and understand the structure of a practice area page well enough to consider it for richer treatment in search and in AI generated answers. In a market where every competing firm looks similar to a crawler, reducing ambiguity is a real edge.
The three schema types every legal site should understand
Three schema.org types carry almost all of the weight for law firms. Knowing how they nest is the difference between clean markup and a tangle of conflicting entities.
LegalService and why it sits at the center
LegalService is the schema.org type built specifically for businesses that provide legal help. On the schema.org hierarchy it is a subtype of LocalBusiness, which means it inherits every property LocalBusiness has, such as address, telephone, opening hours, and geo coordinates, while signaling the legal nature of the business. You can review the full definition and property list on the official reference at schema.org. For a single firm with one or more offices, LegalService is usually the right primary type for the organization entity on your site.
Attorney for the people behind the firm
Attorney is a subtype of LegalService and describes an individual lawyer rather than the firm as a whole. It is the type to reach for on bio pages, where you want Google to understand that this page represents a specific person with credentials, a role at the firm, and areas of focus. Marking up attorneys as distinct entities and linking them back to the firm entity is how you build the kind of author and expertise signals that increasingly influence legal rankings. If you are investing in author bios and credentials, pairing that work with correct Attorney markup makes those signals legible to machines instead of leaving them as prose a crawler has to infer.
LocalBusiness for location and proximity
LocalBusiness is the parent type and the workhorse for local visibility. Because LegalService inherits from it, most firms will use LegalService as the type name and populate the LocalBusiness properties underneath it. Those properties, especially a precise PostalAddress, telephone, geo coordinates, and areaServed, are what help Google tie your website to the physical office it already knows from your Business Profile. When those facts match exactly across your site, your profile, and your citations, you strengthen the consistency signals that feed local pack rankings.
The fields that carry real weight
A LegalService or LocalBusiness block does not need dozens of properties to be useful. It needs a small set of accurate ones that match reality everywhere else your firm appears online. These are the fields worth getting exactly right.
- name the exact legal or trade name of the firm, identical to your Google Business Profile.
- address a PostalAddress with street, city, region, postal code, and country, matching your profile and citations character for character.
- telephone the same tracked or primary number you display and use on your profile.
- url the canonical homepage of the firm.
- geo latitude and longitude for the office, useful for proximity and near me visibility.
- areaServed the cities or regions the firm serves, which supports practice area targeting without keyword stuffing.
- openingHoursSpecification real hours, kept in sync with your profile.
- sameAs links to your firm’s authoritative profiles, such as your Google Business Profile, LinkedIn, and bar association listing, which reinforce the entity.
Notice what is not on that list. You do not need to invent a price, and you should not fabricate ratings. Every value should be something a visitor could verify on the page or on a linked profile. That principle, only mark up what is true and visible, is the single most important rule in this entire discipline.
The markup mistakes that get law firms penalized
Google publishes structured data guidelines, and violating them can trigger a manual action that strips your rich results and, in bad cases, drags on trust across the site. Most law firm penalties in this area come from a short list of avoidable errors.
The first is marking up content that is not visible on the page. If your JSON-LD claims a set of services, reviews, or FAQs that a visitor cannot actually see, that is a violation. Structured data is meant to describe what is on the page, not to smuggle in extra content for crawlers.
The second is self serving review markup. Several years ago Google stopped showing review star rich results for reviews that a business collects and hosts about itself on its own site under LocalBusiness or Organization markup. Firms that still stuff AggregateRating onto their homepage hoping for stars in the results are chasing a snippet Google no longer grants for self serving reviews, and aggressive versions of this can look manipulative. Legitimate third party review platforms are a different matter, but your own testimonials page is not a source Google will reward with stars.
The third is duplicate and conflicting entities. A common failure mode is a theme, an SEO plugin, and a schema plugin all injecting their own Organization or LocalBusiness blocks with slightly different names, addresses, or phone numbers. Google then sees three versions of the same firm that disagree with each other. Consolidate to one authoritative block per entity and kill the duplicates.
The fourth is fabricated or mismatched data. An address on your schema that differs from your Google Business Profile, a phone number that appears nowhere on the page, or invented aggregate ratings all undermine the consistency you are trying to build. Accuracy is not a nice to have here. It is the whole point.
A clean implementation process
You do not need to boil the ocean. A disciplined rollout across a few page types covers the vast majority of the value.
- Place one LegalService block on your homepage or organization level, with accurate name, address, telephone, url, geo, areaServed, opening hours, and sameAs links to your key profiles.
- Add Attorney markup on each lawyer bio page, tied back to the firm entity, with the attorney’s name, role, and areas of focus that genuinely appear on the page.
- On practice area pages, describe the specific service offered so Google understands the page’s purpose, and keep that markup aligned with the visible headings and copy.
- Audit for duplicates. Disable any theme or plugin output that produces a second competing Organization or LocalBusiness block.
- Validate every template with Google’s Rich Results Test and the Schema Markup Validator, then confirm in Search Console that no structured data errors are reported.
This is exactly the kind of technical groundwork that sits underneath the Cube30 method. Cube30 treats schema not as a plugin you switch on and forget, but as one facet of a structured site where entity signals, on page content, and local presence all reinforce each other. Markup that agrees with your content and your Business Profile compounds. Markup that contradicts them cancels out.
How schema connects to the rest of your SEO
Schema markup is a supporting layer, not a strategy on its own. It performs best when the pages underneath it are already strong. A well structured practice area page with clear headings, genuine depth, and honest expertise gives the markup something real to describe. If you are building those pages properly, the guidance in our breakdown of on page SEO for attorney practice area pages pairs naturally with the schema work here, because the visible content and the structured data should tell the same story.
The same logic extends to local visibility. Your LocalBusiness fields are only as valuable as their consistency with the profile Google already trusts. When your address, phone, hours, and service areas match across your site, your Business Profile, and your citations, you feed the exact signals that decide who shows up in the map results. That connection is why schema and local presence belong in one plan rather than two, a theme covered in our guide to how firms win the Google local pack and reinforced across the work of a focused law firm SEO agency.
Does schema markup help with AI Overviews and LLM citations
This is a fair question given how much search is shifting toward AI generated answers, so it deserves a direct answer.
Will schema get my firm into AI Overviews
Structured data is not a guaranteed ticket into AI Overviews, and Google has been clear that it does not use most schema types as a direct ranking factor. What structured data does is make your content easier to parse and disambiguate. Clean entity markup helps systems understand who you are and what you do, which is a reasonable foundation for being surfaced as a source. The content quality and authority still do the heavy lifting.
Does it matter for being cited by chat assistants
The mechanism is similar. Language models and answer engines lean on clear, consistent entity signals to understand and reference a business. A firm whose name, location, attorneys, and services are described the same way in schema, on the page, and across the web is easier for any system to represent accurately. Schema will not manufacture authority you have not earned, but it removes friction for the systems trying to recognize the authority you have.
Should I add every schema type I can find
No. More markup is not better markup. FAQ rich results, for example, were sharply restricted by Google and are now largely limited to a narrow set of authoritative sites, so blanketing your practice pages in FAQ schema hoping for expanded snippets is chasing an outcome that mostly no longer exists for law firms. Focus on accurate LegalService, Attorney, and LocalBusiness data that reflects real, visible content, and skip the types that add noise without benefit.
What good schema looks like in practice
The firms that get this right share a few habits. They maintain one authoritative organization entity rather than three competing ones. They keep their address, phone, and hours identical everywhere. They mark up their attorneys as real people with credentials that appear on the page. They validate their templates after every redesign, because a theme update can silently break structured data overnight. And they never mark up anything a visitor cannot see, which keeps them safely inside Google’s guidelines and out of manual action territory.
None of this is glamorous, and that is the point. Schema is plumbing. When it is clean, it quietly strengthens everything else you are doing, from local pack visibility to how accurately AI systems describe your firm. When it is messy, it undercuts good content and can invite penalties that are painful to reverse. The right investment is modest and durable, a handful of accurate blocks maintained with discipline, not a plugin firing dozens of half true entities across every page.
Bring order to your firm’s structured data
If you are not sure whether your current schema is helping or quietly hurting, that uncertainty is worth resolving. A short audit will show whether your markup is accurate, consolidated, and aligned with your Business Profile, or whether competing plugins and fabricated fields are working against you. If you want a team that treats structured data as one deliberate facet of a larger law firm SEO plan rather than a checkbox, book a strategy call with Rubiks Technology and we will walk you through exactly what your site needs and what it can safely leave behind.