To add local business structured data to your law firm website, use Schema.org’s LegalService type, publish accurate business information in JSON-LD, and validate the live page. Start with your firm’s name, address, telephone number, and website, then add relevant details such as office hours and official profiles.
LegalService schema for law firm websites helps search engines interpret your business information; it does not guarantee rankings, map placement, or leads. Here is how to implement it without creating conflicting records or overstating what your firm offers.
What Is LegalService Schema?
Structured data is machine-readable information that explains the entities described on a webpage. Schema.org supplies the vocabulary; JSON-LD is a commonly recommended format for delivering it.
LegalService is a subtype of LocalBusiness, which also connects it to the broader Organization and Place types. It identifies a business providing legal services more specifically than a generic Organization designation.
You generally do not need to list both LegalService and LocalBusiness as types for the same office. The subtype already carries that relationship.
Use it for the firm or office, not as a substitute for an individual attorney’s biography. Attorneys can have separate Person entities linked to the firm through properties such as worksFor.
Step 1: Confirm Your Public Business Information
Before opening a schema generator, review the information clients see on your homepage, contact page, and office pages.
Collect:
-
Your public-facing firm name.
-
The actual office address, including suite and ZIP code.
-
The office telephone number.
-
The canonical website or location-page URL.
-
Public office hours and appointment arrangements.
-
Accessible image and logo URLs.
-
Official social profiles and other verified identity pages.
These details should agree across your website and relevant business listings. Your Google Business Profile strategy should support the same accurate office information.
Do not invent an address for a city you serve or treat a mailing address as a staffed office. If you cannot publicly disclose a qualifying address, do not fabricate one to satisfy a validation requirement. Google’s local business feature eligibility and broader Schema.org validity are different considerations.
Step 2: Choose the Right Page and Entity Structure
For a single-location practice, the homepage or a substantive office/contact page can describe the firm’s local business entity. Keep its identifier consistent wherever you reference it.
The @id property provides that stable identifier. A common approach is to use your actual canonical office-page URL with a fragment such as #legalservice appended. This identifies the entity; it does not require a separate webpage at the fragment.
For multiple offices:
-
Create a useful page for each real location.
-
Give each office a distinct LegalService entity and @id.
-
Use each office’s own address, phone, and hours.
-
Connect offices to a shared firm-level Organization using parentOrganization where appropriate.
Do not create an office entity for every city-targeted practice-area page. Serving a city does not establish a physical location there.
Step 3: Build Your LegalService Field Map
Use the following as a specification for your developer or schema plugin. It describes the data structure, not a paste-ready JSON-LD block.
Core identity fields
-
@context: Set this to https://schema.org.
-
@type: Set this to LegalService.
-
@id: Use the stable entity identifier chosen above.
-
name: Enter the firm’s real public-facing name, without added search keywords.
-
url: Use the canonical page representing the business or office.
-
telephone: Include the country code, such as +1 for U.S. numbers.
-
address: Create a nested PostalAddress containing streetAddress, addressLocality, addressRegion, postalCode, and addressCountry.
For a U.S. office, addressCountry can be US. Keep suite information consistent with the visible address.
Useful supporting fields
Add details only when they are accurate and supported by the page:
-
image and logo: Use crawlable URLs for representative business imagery and the firm’s logo.
-
openingHoursSpecification: Describe actual office hours using day, opening, and closing fields.
-
geo: Add verified latitude and longitude for the office.
-
areaServed: Describe genuine service areas; this does not create additional offices.
-
sameAs: Reference official profiles or pages that unambiguously identify the same firm.
-
hasOfferCatalog: Optionally describe services using an OfferCatalog with appropriate Offer and Service entries.
Do not label the office open around the clock merely because a call service answers after hours.
A link to a topical legal website is not automatically a sameAs identity reference. For example, Divorce Attorney Local is relevant to family-law marketing, but its homepage does not identify your particular firm. Keep resource links separate from identity references.
Step 4: Publish the JSON-LD Without Duplicating Existing Markup
First check whether your SEO plugin, theme, or website builder already generates structured data. Inspect the rendered page or run a validator before adding another implementation.
One coherent business entity is better than several conflicting versions. A WebSite entity and a LegalService entity can coexist; the problem is duplicate business records with inconsistent details or identifiers.
For a plugin-based implementation:
-
Open the business or local SEO settings.
-
Select LegalService if the plugin supports it.
-
Enter your verified business fields.
-
Assign the output to the appropriate page or template.
-
Publish and inspect the generated markup.
For a custom implementation, have your developer serialize the field map as valid JSON-LD and place it in a script element with the application/ld+json MIME type. Google accepts JSON-LD in the page head or body. Avoid trailing commas, broken quotation marks, and placeholders.
If you are rebuilding your site, include structured-data support in your law firm website planning, rather than adding it after templates are finalized.
Step 5: Validate the Published Page
Use two complementary checks:
-
Schema Markup Validator checks Schema.org vocabulary and structure.
-
Google Rich Results Test evaluates supported Google search features and their requirements.
Valid Schema.org markup does not automatically qualify for a Google enhancement. Check Google’s current local business documentation when addressing required and recommended properties.
You can also include Law Firm Central’s schema checker in your review workflow.
Test the live URL, not just your unpublished data. Confirm that the markup appears on the intended page, images are accessible, and business facts match visible content. Use Search Console’s URL Inspection tool to investigate indexing or rendering issues.
Fix errors, evaluate warnings, and retest after deployment.
Common Mistakes to Avoid
Do not add keyword-stuffed firm names, fabricated service locations, unsupported awards, or misleading credentials. Structured data should describe the page—not introduce claims visitors cannot verify.
Avoid adding aggregateRating simply to pursue review stars. Google does not display self-serving review snippets for LocalBusiness or Organization entities, including reviews embedded through third-party widgets.
Keep service descriptions consistent with applicable attorney advertising rules. Structured data is not an exception to those obligations.
Finally, treat schema as one part of a broader SEO and content strategy. Useful practice-area pages, trustworthy attorney biographies, and clear consultation options still do the work of helping prospective clients decide.
Frequently Asked Questions
Will LegalService schema improve rankings immediately?
There is no guaranteed ranking increase. It helps communicate business facts, but search visibility depends on many factors. Measure organic inquiries and consultation requests alongside technical improvements.
Should every page contain the complete office record?
Not necessarily. Publish complete information where it is relevant, and reference a consistent entity identifier elsewhere as needed. Avoid contradictory copies across templates.
How often should the markup be updated?
Update it whenever an address, phone number, office schedule, URL, or other represented fact changes. Revalidate after plugin updates, redesigns, and domain migrations.
Accurate LegalService markup starts with verified office information, a consistent entity structure, and live-page validation. Review one office page first, resolve conflicts, and make maintenance part of your website workflow. For more information about strengthening your firm’s website and local visibility, contact Law Firm Central.