Schema markup for law firms helps search engines understand important information about a legal practice, its office locations, attorneys, legal services, and published content. By adding structured data to relevant website pages, a law firm can describe these entities in a standardized format that search engines can interpret more easily.
The most relevant starting point for a law firm’s website is generally the LegalService type from Schema.org. However, a complete implementation may also use Organization, Person, ProfilePage, Service, Article, and BreadcrumbList, depending on the content of individual pages.
Choosing the correct schema type is important. A law firm’s homepage, attorney biography, practice area page, and legal information article describe different things and should not automatically receive identical structured data.
This guide explains which schema types law firms should consider, how to implement them using JSON-LD, how to handle individual lawyers and multiple offices, and how to validate the markup without creating misleading or unnecessary structured data.
Table Of Contents
What Is Schema Markup for Law Firms?
Schema markup is structured data added to a website’s HTML to describe the meaning and relationships of its content. It uses the vocabulary maintained by Schema.org, allowing search engines and other systems to interpret information consistently.
For a law firm, structured data can describe details such as:
- The firm’s official name and website.
- Its physical office locations and contact information.
- The geographical areas in which it provides legal services.
- The legal services and practice areas it offers.
- The attorneys who work at the firm.
- The authors of legal articles and educational resources.
- The website’s page hierarchy.
For example, a website might display the name, telephone number, and address of a law firm. Schema markup provides machine-readable labels that help identify those values as the firm’s name, telephone number, and postal address.
Without structured data, search engines must interpret these details from the page’s text and surrounding information. Structured data provides an additional, standardized description.
Schema markup does not replace visible website content, technical SEO, or a law firm’s local search presence. It helps communicate information that already exists on the website.
Which Schema Types Should Law Firms Use?
There is no single schema type that needs to appear on every page of a law firm’s website. The appropriate type depends on the entity being described.
1. LegalService Schema
LegalService is the most directly relevant Schema.org type for a business providing legal advice, representation, and other legally oriented services. Schema.org explicitly identifies law firms as an example of a LegalService business.
It is part of the following hierarchy:
Organization → LocalBusiness → LegalService
This makes it particularly useful for describing a law firm that operates from a physical office.
A LegalService entity can contain information such as:
- Firm name.
- Website URL.
- Telephone number.
- Email address.
- Physical business address.
- Business images and logo.
- Office opening hours.
- Service area.
- Links to official business profiles.
Google recommends using the most specific LocalBusiness subtype that accurately describes a business. For a law firm with an eligible physical business location, LegalService is therefore a suitable choice.
It is important to distinguish Schema.org terminology from Google’s rich-result requirements. Using LegalService does not automatically guarantee a special legal listing or enhanced search appearance. Local Business rich-result eligibility is subject to Google’s relevant requirements and policies.
2. Organization Schema
Organization describes a business or other organized entity. It can be useful for representing a law firm when the primary requirement is to establish its business identity rather than describe a specific physical office.
Relevant properties include:
| Property | Purpose |
| name | Official name of the law firm |
| alternateName | Recognized alternative business name |
| url | Official website |
| logo | Firm’s representative logo |
| description | Short description of the organization |
| telephone | Main business contact number |
| General business email | |
| address | Physical or mailing address, where applicable |
| sameAs | URLs identifying the same organization on other platforms |
For an established law firm with a real office, LegalService can generally serve as the more specific organization type rather than adding a separate, duplicate Organization entity for the same business.
For a firm that operates without a qualifying physical business location, an Organization entity may be more appropriate than attempting to qualify for LocalBusiness rich results with an invented or unsuitable address.
Google recommends placing organization information on the homepage or a page that describes the organization, such as its About page. It does not require repeating the same organization markup independently on every URL.
3. Person Schema for Individual Attorneys
A law firm is an organization, but its attorneys are individual people. Their biographies should identify them as people rather than treating every lawyer as a separate law firm.
The Person type can describe an attorney through properties such as:
- name
- jobTitle
- image
- url
- worksFor
- knowsAbout
- sameAs
- hasCredential, where applicable
For example, an attorney biography may identify a lawyer by name, professional role, relevant legal experience, and relationship with the law firm.
An important terminology distinction concerns the Schema.org Attorney type. Although this type exists, Schema.org currently marks it as deprecated and states that LegalService is more inclusive and less ambiguous.
That does not mean individual lawyers should be marked up as LegalService businesses. Use Person to describe an individual attorney. Use LegalService to describe the legal practice.
4. ProfilePage Schema for Attorney Biography Pages
Google supports ProfilePage structured data for qualifying pages primarily focused on one person or organization associated with the website.
An individual attorney’s biography page can be a suitable use case when it genuinely focuses on that attorney.
A ProfilePage entity uses mainEntity to identify the principal person or organization described on the page.
For example, a lawyer’s profile can identify the page as a ProfilePage and connect its main entity to a Person node. That Person node can then be connected to the law firm through the worksFor property.
This creates a clearer relationship between the attorney, their biography, and the organization.
ProfilePage is not a substitute for accurate biography content. The attorney’s name, role, professional credentials, and other information should be presented visibly on the page.
5. Service Schema for Legal Practice Areas
Law firms often publish dedicated pages for specific practice areas, including:
- Family law.
- Criminal defense.
- Corporate law.
- Employment law.
- Personal injury law.
- Immigration law.
- Estate planning.
- Real estate law.
The Schema.org Service type can describe a specific service offered by the law firm.
Useful properties include:
| Property | Purpose |
| name | Name of the legal service |
| serviceType | Type of legal service offered |
| provider | Law firm providing the service |
| areaServed | Actual geographical service area |
| url | Relevant practice area page |
The provider property can connect the service to the law firm’s existing LegalService entity using its @id.
This connection helps describe the relationship between a particular practice area and the organization providing it.
A law firm should use Service markup on pages that genuinely describe the corresponding service. It should not add every possible practice area to every page simply to increase the number of structured data properties.
6. Article Schema for Legal Resources and Blog Posts
Many law firm websites publish legal guides, case explanations, regulatory updates, and educational articles.
The Article type and its more specific types, such as BlogPosting, can help describe this content.
Relevant properties include:
- headline
- author
- datePublished
- dateModified
- image
- publisher
Where an article has an identified attorney author, the author can be represented as a Person entity. The publisher can be connected to the law firm’s Organization or LegalService entity.
This helps distinguish the individual who wrote or reviewed an article from the organization publishing it.
Publication and modification dates should be accurate. Updating a date in structured data without making a meaningful content update can create inconsistencies between the markup and the visible page.
7. BreadcrumbList Schema
BreadcrumbList describes the hierarchy of a webpage within a website.
For example:
Home → Attorneys → Family Law Attorneys → Attorney Profile
A breadcrumb trail can help search engines understand the relationship between a page and its parent sections.
Google supports breadcrumb structured data and requires at least two ListItem entries for breadcrumb rich-result eligibility. The breadcrumb sequence should represent a meaningful user navigation path rather than simply copying every segment of the URL.
How to Structure Schema Markup Across a Law Firm Website
A common implementation mistake is applying the same collection of schema types to every URL. A more accurate approach is to assign markup according to the primary purpose of each page.
| Website page | Relevant schema types |
| Homepage | LegalService or Organization, WebSite and WebPage where appropriate |
| About the firm | Organization or LegalService |
| Individual office page | LegalService or another suitable LocalBusiness subtype |
| Attorney biography | ProfilePage and Person |
| Practice area page | Service and WebPage |
| Legal blog post | Article or BlogPosting |
| Website navigation | BreadcrumbList |
These types describe different entities and should be connected logically.
For example, the homepage can identify the law firm as a LegalService. An attorney biography can identify an individual Person and connect that person to the firm. A family law page can describe a Service and reference the same firm entity as its provider.
The goal is to maintain a consistent description of the same organization throughout the website.
How to Add LegalService Schema Using JSON-LD
JSON-LD is generally the most practical format for implementing structured data on modern law firm websites.
It allows schema markup to be added through a script element without embedding individual properties throughout the visible HTML.
Google recommends JSON-LD, although it also supports Microdata and RDFa.
The following is an illustrative LegalService template for a law firm with a physical office.
<script type=”application/ld+json”>
{
“@context”: “https://schema.org”,
“@type”: “LegalService”,
“@id”: “https://www.example.com/#law-firm”,
“name”: “Example Law Firm”,
“url”: “https://www.example.com/”,
“logo”: “https://www.example.com/images/law-firm-logo.png”,
“image”: “https://www.example.com/images/law-firm-office.jpg”,
“telephone”: “+[country code][telephone number]”,
“email”: “[email protected]”,
“address”: {
“@type”: “PostalAddress”,
“streetAddress”: “[Actual office street address]”,
“addressLocality”: “[City]”,
“addressRegion”: “[State or province, if applicable]”,
“postalCode”: “[Postal code, if applicable]”,
“addressCountry”: “[Country code]”
},
“areaServed”: [
{
“@type”: “AdministrativeArea”,
“name”: “[Actual geographical service area]”
}
],
“sameAs”: [
“https://www.linkedin.com/company/example-law-firm/”,
“https://www.facebook.com/examplelawfirm/”
]
}
</script>
Replace every example value with verified information about the actual law firm. Remove optional properties that do not apply. The address and contact details must describe the real business location, not a virtual location or an area where the firm merely wants to appear in search results.
The @id property provides a stable identifier for the law firm. Reuse the same identifier when connecting that organization to attorney profiles, practice area pages, and other relevant entities.
For a law firm without a qualifying physical business location, consider using Organization as its primary organization type rather than supplying an inaccurate address for LocalBusiness markup.
How to Add Service Schema to a Practice Area Page
A practice area page describes a particular legal service rather than the entire firm.
For example, a family law page can identify its service and connect it to the LegalService entity on the main website.
<script type=”application/ld+json”>
{
“@context”: “https://schema.org”,
“@type”: “Service”,
“@id”: “https://www.example.com/family-law/#service”,
“name”: “Family Law Services”,
“serviceType”: “Family law legal services”,
“url”: “https://www.example.com/family-law/”,
“provider”: {
“@id”: “https://www.example.com/#law-firm”
},
“areaServed”: {
“@type”: “AdministrativeArea”,
“name”: “[Actual geographical service area]”
}
}
</script>
The example assumes that the homepage already identifies the firm’s LegalService entity using the same @id.
The practice area page should contain meaningful information about the legal service, such as the matters handled, the firm’s approach, relevant jurisdictional limitations, and how prospective clients can contact the firm.
Schema markup should describe the actual content rather than introduce services or locations that the firm does not provide.
How to Add Person and ProfilePage Markup to Attorney Profiles
Individual attorney pages need a different approach because their primary subject is a person, not the law firm as an organization.
The following example connects an attorney biography to the firm’s existing entity.
<script type=”application/ld+json”>
{
“@context”: “https://schema.org”,
“@type”: “ProfilePage”,
“@id”: “https://www.example.com/attorneys/jane-doe/#profile”,
“url”: “https://www.example.com/attorneys/jane-doe/”,
“mainEntity”: {
“@type”: “Person”,
“@id”: “https://www.example.com/attorneys/jane-doe/#person”,
“name”: “Jane Doe”,
“jobTitle”: “Attorney”,
“image”: “https://www.example.com/images/jane-doe.jpg”,
“url”: “https://www.example.com/attorneys/jane-doe/”,
“worksFor”: {
“@id”: “https://www.example.com/#law-firm”
},
“knowsAbout”: [
“Family law”,
“Divorce law”,
“Child custody”
]
}
}
</script>
The example is illustrative. Replace the attorney’s name, photograph, practice areas, and employer details with accurate information supported by the biography.
Where professional qualifications or bar memberships are included, they should be current, verifiable, and relevant to the attorney’s actual professional standing.
Do not use the deprecated Attorney type simply because the page is about an individual lawyer. Person is the appropriate general entity type for the individual.
Best Practices for Law Firm Schema Markup
Maintain consistent business information
The firm’s name, address, telephone number, website URL, and other identity information should accurately represent the same organization across its pages.
Pay particular attention to variations in business names, office addresses, and telephone numbers. Unnecessary differences between structured data and visible contact information can make the entity harder to interpret.
Use separate entities for multiple office locations
A law firm operating from multiple physical offices should describe each location accurately.
Each location should have its own relevant address, telephone number, and other location-specific information. Google’s LocalBusiness guidance recommends defining each individual business location as a LocalBusiness entity and using the most specific suitable subtype.
Do not reuse one office address for every branch. Likewise, do not create artificial office entities for cities where the firm only provides remote legal services.
The areaServed property can describe a genuine service area, while the address property identifies an actual physical business location. They serve different purposes.
Connect related entities using stable identifiers
Using @id consistently is one of the most useful practices for maintaining a coherent schema structure.
For example, the same law firm identifier can be referenced by:
- Its homepage entity.
- Attorney profiles through worksFor.
- Practice area pages through provider.
- Legal articles through publisher, when appropriate.
This avoids describing the same firm as unrelated businesses on different pages.
Only include information supported by the page
Every important structured data property should accurately reflect the website’s visible content and the real-world entity being described.
Do not add fictional office hours, unsupported professional credentials, unverified awards, misleading service areas, or invented business details.
Google’s structured data policies prohibit markup that misrepresents page content or describes information that is not available to users.
Use opening hours carefully
A law firm’s public office hours can be represented using properties such as openingHoursSpecification.
However, office opening hours should not be confused with attorney availability, emergency legal support, or consultation appointment times.
Only include actual operating hours that the firm publicly communicates.
Avoid self-serving review markup
A law firm may display client feedback on its website, but that does not mean it can obtain Google review stars simply by adding Review or AggregateRating markup.
Google’s review snippet policies exclude self-serving reviews for LocalBusiness and Organization entities when the organization controls the reviews displayed about itself. Embedding a third-party review widget does not bypass this restriction.
Review markup should only be used when the content and review arrangement genuinely meet Google’s requirements.
Do not use every available schema type
More structured data does not automatically produce better results.
A firm does not need to add every possible Schema.org type to its website. For example, there is no reason to add Event markup to a standard attorney biography if the page does not describe an actual event.
Select types according to the primary purpose of the page and the information available to visitors.
Common Schema Markup Mistakes Law Firms Should Avoid
Several implementation problems can undermine an otherwise useful structured data strategy.
Using Attorney instead of Person for individual lawyers: The Schema.org Attorney type is deprecated. Individual attorney biographies should generally use Person, while the firm itself can use LegalService.
Using the same markup on every page: A practice area page, attorney profile, and legal article represent different entities. Repeating identical organization-only markup does not fully describe their individual purposes.
Creating misleading business locations: A service area is not the same as a physical office. Do not use invented addresses or duplicate locations to target additional cities.
Adding unsupported reviews: Do not add aggregate ratings to a firm’s own business entity expecting to obtain review stars from self-controlled testimonials.
Using inconsistent entity identifiers: Multiple versions of the firm’s identity without stable @id references can create unnecessary duplication and make relationships harder to interpret.
Adding hidden or inaccurate information: Structured data should reflect information users can access on the relevant page. Do not use markup to communicate fictional credentials, practice areas, or other details.
Ignoring existing CMS markup: WordPress plugins, SEO tools, and theme features may already generate Organization, WebSite, WebPage, and BreadcrumbList markup. Adding a second independent implementation without checking the existing output can produce conflicting entities.
Treating a validation pass as a ranking guarantee: A technically valid schema implementation does not guarantee a rich result, better rankings, or additional organic traffic.
How to Test and Validate Law Firm Schema Markup
Testing should be part of implementation rather than something performed only after an SEO problem appears.
Step 1: Validate the Schema.org vocabulary
Use the Schema.org Validator to check whether the markup uses recognized types and properties correctly.
This is useful for identifying invalid property names, incompatible value types, syntax problems, and incorrect relationships.
Step 2: Run Google’s Rich Results Test
Use Google’s Rich Results Test to check the Google-supported structured data features detected on the page.
This is particularly relevant when validating LocalBusiness and BreadcrumbList markup.
Remember that this tool checks Google rich-result eligibility, not every possible Schema.org type or property. A valid Schema.org entity does not necessarily qualify for a Google rich result.
Step 3: Inspect the live webpage
Use Google Search Console’s URL Inspection tool to examine how Google sees the published URL.
Check that:
- The page can be crawled.
- The correct canonical URL is being used.
- Structured data is present in the rendered page where applicable.
- The relevant content is accessible to Google.
- The page is not blocked by a robots.txt restriction, noindex directive, or access requirement.
Step 4: Check for duplicate markup
Review the generated page source or rendered HTML and identify whether multiple plugins, themes, or custom scripts are generating conflicting schema entities.
Confirm that the law firm has one consistent identity and that page-specific entities refer to it correctly.
Step 5: Monitor the implementation
After publishing the markup, review Search Console for relevant structured data issues and monitor the website’s search appearance over time.
Google may need to recrawl and reprocess a page before changes are reflected. Even after successful validation, Google decides whether a particular enhanced presentation is appropriate.
Does Schema Markup Improve Law Firm SEO Rankings?
Schema markup can improve the way search engines understand a law firm’s website, but it should not be treated as a standalone ranking strategy.
Its primary purpose is to provide structured information about entities, page content, and relationships.
A law firm may use it to describe its business identity, office details, professional team, practice areas, and educational content. This can support more accurate interpretation of the website.
However, Google does not guarantee that valid structured data will appear as a rich result. Structured data eligibility and organic ranking are separate considerations.
A law firm’s SEO performance still depends on factors such as useful legal content, technical accessibility, relevant local information, website quality, and whether pages satisfy the searcher’s needs.
Structured data should support these efforts rather than replace them.
Frequently Asked Questions
What is the best schema type for a law firm?
LegalService is generally the most specific Schema.org type for a law firm that provides legal advice and representation. It is a subtype of LocalBusiness. A firm without an appropriate physical business location may use Organization for its primary business identity instead.
Should a law firm use Attorney or LegalService schema?
Schema.org marks Attorney as deprecated and recommends LegalService as a more inclusive and less ambiguous type. For an individual lawyer’s biography, use Person rather than either business type.
Should every attorney have separate schema markup?
Each attorney can have an individual Person entity on their biography page. A qualifying profile page can use ProfilePage with that person as its mainEntity. This allows the website to distinguish individual attorneys while connecting them to the law firm.
Can law firms use LocalBusiness schema?
Yes. LegalService is a specific subtype of LocalBusiness and is suitable for describing a law firm as a local legal business. However, Google requires an actual physical business address for LocalBusiness rich-result eligibility. A firm should not invent an office address to qualify.
Should law firms add FAQ schema?
A law firm can publish useful FAQ content to answer prospective clients’ questions. However, Google discontinued the FAQ rich-result feature beginning May 7, 2026. Therefore, implementing FAQPage markup should not be justified by an expectation of obtaining FAQ-rich search results on Google.
Is JSON-LD better than Microdata for law firm websites?
JSON-LD is generally the most convenient option because it separates structured data from visible HTML. Google recommends it, although Microdata and RDFa are also supported formats.
How often should law firm schema markup be updated?
Review structured data whenever the firm changes its name, address, contact details, staff, practice areas, or other information represented in the markup. Attorney profiles and legal articles should also be updated when their underlying information changes.
Can incorrect schema markup cause SEO problems?
Incorrect or misleading structured data can result in a loss of rich-result eligibility and, in some cases, a structured data manual action. It does not automatically mean that the entire website will lose its standard organic rankings. Accurate markup and compliance with Google’s guidelines are important.
Conclusion
Schema markup for law firms should describe the actual legal business, its locations, attorneys, practice areas, and published resources in a consistent and technically correct way.
For a law firm with a physical office, LegalService provides a relevant foundation. Person and ProfilePage can describe individual attorneys, while Service can represent specific legal practice areas. Article and BreadcrumbList can provide additional context for educational content and website navigation.
The most effective implementation is not the one containing the greatest number of schema types. It is the one that accurately represents each page, connects related entities through consistent identifiers, follows Google’s structured data policies, and remains synchronized with the firm’s real-world information.
Must Read Articles
Types Of Backlinks In Off Page Seo
Ai Mention Rate Tracking Vs Backlink Analysis
Ai-Assisted Keyword Research For Geo
Image Submission Sites For Blog Backlinks 2026
Impact Of Social Signals On Real Estate Website Seo
List Of Social Media Sites For Profile Backlinks Seo 2026
Profile Creation Sites For Backlinks
Structured Data And Schema Markup For Ai Search
Technical Seo For Saas Websites
Valuable Backlinks Domain Authority Beyond Directory Submissions
Voice Search Keyword Research Tools 2026
How Long Does It Take For Medical Seo To Work
Why Does An Seo Company Need Ftp
Cloud Stacking Seo Common Mistakes Implementation Errors 2026