SwiftSchema Logo

    SwiftSchema

    Intuitive Schema Generation at Your Fingertips

    AboutLearnContact

    Attorney Schema Generator — Earn Local Trust and Visibility

    Generate clean JSON‑LD for law firms in minutes. Clarify address, phone, opening hours, practice areas, and ratings to improve discovery and client confidence.

    Why many law firm pages underperform

    Pain points we solve

    • Generic snippets: competitors show hours, phone, and practice areas while yours looks bare.
    • Inconsistent NAP (name, address, phone) or outdated hours reduce trust and visibility.
    • Multiple offices and attorneys make consistent markup hard to maintain.
    • Validator warnings for address fields or `openingHours` slow down releases.

    How SwiftSchema helps

    Solution

    Our generator ensures essentials are present and correctly formatted — full address, telephone, and opening hours — and produces copy‑ready JSON‑LD you can paste once per office page.

    Highlight practice areas in visible content; for multiple offices, create a dedicated page per location and apply markup accordingly. Profile attorneys with Person + ProfilePage and link from the office page.

    AggregateRating is supported when you have genuine, policy‑compliant reviews; otherwise, omit it to avoid issues.

    How it works

    How it works

    1. Choose Attorney in the generator below.
    2. Enter firm/office name and full address (street, city, region, postal code, country).
    3. Add telephone and opening hours using the recommended format.
    4. List practice areas in page content; optionally include AggregateRating only if compliant.
    5. Copy JSON or Script, paste on each office page, and validate in the Rich Results Test.
    Generate Attorney JSON‑LD

    Use once per office. Validate. Ship.

    What is Attorney structured data?

    Attorney is a LocalBusiness subtype for legal practices. Marking up each office location with accurate address, phone, hours, and service context helps search engines understand your presence and present more useful details to potential clients.

    Eligibility & Status

    Attorney (a LocalBusiness subtype) acts as a foundational local signal. It’s “limited” for direct rich results; eligibility depends on content quality, policy compliance, and specific Google surfaces.

    Key properties every firm should include

    1. name
      — match your Google Business Profile and signage; note whether you operate as “Law Offices of…” or use a partner’s last name.
    2. address
      (PostalAddress)
      — include suite numbers, floor information, and
      addressCountry
      using ISO codes. Add
      geo
      coordinates if you’re in a dense downtown with similar addresses.
    3. telephone
      — use a local number that routes clients directly to the office or intake team. Avoid tracking numbers you rotate frequently.
    4. openingHoursSpecification
      — specify lobby hours and after-hours availability. If you offer 24/7 phone intake, call that out.
    5. areaServed
      /
      serviceType
      — list practice areas (e.g., personal injury, immigration, estate planning) and jurisdictions covered.
    6. image
      /
      logo
      — reference professional headshots, office exteriors, or team photos to humanize the listing.
    7. aggregateRating
      /
      review
      — only when you have first-party reviews gathered under Google’s guidelines.
    8. sameAs
      — link to authoritative profiles (state bar listing, Avvo, professional associations) to support expertise signals.

    Content prep before adding schema

    Schema should reflect what’s visible on the page. Before copying JSON‑LD:

    • Finalize the on-page copy describing practice areas, case results, and intake process.
    • Confirm NAP data (name, address, phone) matches your footer, contact page, and bar listings.
    • Publish service-area statements (counties, courts, or states served) so
      areaServed
      isn’t a surprise to readers.
    • Include biographies or at least mention lead attorneys for that office; plan to link to dedicated ProfilePage entries later.
    • Gather high-resolution photos (minimum 1200px wide) of the office or attorneys; host them on your domain.

    If you handle time-sensitive matters (criminal defense, emergency restraining orders), note responsiveness in the content and consider

    openingHoursSpecification
    entries that show “Open 24 hours” or “By appointment” to set expectations.

    Implementation checklist

    1. Create a separate URL per office. Even if multiple attorneys rotate between locations, each office deserves a unique landing page.
    2. Generate Attorney JSON‑LD using the tool below for each office page. Double-check the street address formatting (Suite vs Ste., Unit, Floor).
    3. Link to attorney profiles. Use Person schema on bio pages and reference them from the office page via
      employee
      or
      member
      .
    4. Embed Organization schema globally. Your firm-level Organization block should reference each office via
      department
      or
      hasOfferCatalog
      .
    5. Add ItemList for location hubs. If you have a “Locations” page, mark it up with ItemList referencing each office page.
    6. Validate and deploy. Run the Rich Results Test after every update, then request indexing through Search Console.
    7. Document change history. Keep a simple spreadsheet noting when hours, phone numbers, or services change; update both page copy and schema simultaneously.

    Multi-office and multi-attorney considerations

    Law firms expand quickly through satellite offices or of-counsel partnerships. Keep data clean by:

    • Assigning one owner per office page responsible for schema accuracy.
    • Differentiating practice areas per office (e.g., Portland handles family law, Salem handles personal injury) so
      serviceType
      doesn’t get diluted.
    • Linking attorneys to the office where they primarily practice. If an attorney floats, mention that in the copy and use
      hasPOS
      (Place of Service) references.
    • Creating Spanish or other language variants for bilingual offices; add
      inLanguage
      and translated copy so clients see culturally relevant info.

    For virtual consultations, keep the physical office address but add

    areaServed
    for the states where attorneys are licensed. Include disclaimers about remote consultations to comply with bar advertising rules.

    Compliance and review guidance

    Legal marketing is heavily regulated. Be mindful of:

    • Testimonials — confirm your state bar allows public client reviews. When in doubt, omit AggregateRating.
    • Specialization claims — only use terms like “specialist” if your jurisdiction certifies it; otherwise describe practice areas factually.
    • No-fee statements — if you mention “No recovery, no fee,” ensure the policy is explained on-page and consistent with local laws.
    • Attorney advertising disclaimers — add required statements (“Attorney Advertising,” “Past results do not guarantee future outcomes”) and ensure schema doesn’t contradict them.

    Treat

    sameAs
    links as supporting evidence: link to bar profiles, community organizations, or notable cases (when public) to show authenticity.

    Troubleshooting checklist

    • Run Rich Results Test for each office page after content or schema changes.
    • Use Search Console’s “Enhancements” panel to check for LocalBusiness/Attorney warnings.
    • Inspect your live HTML (View Source) to ensure only one Attorney JSON‑LD block exists per page.
    • Compare the schema
      telephone
      and
      openingHours
      with your Google Business Profile weekly, especially if intake schedules shift.
    • Keep an eye on call-tracking swaps—if a dynamic number script overwrites the phone in the DOM, make sure schema stays consistent.

    Common Errors & Fixes

    • Missing hours: add realistic opening hours or specify “By appointment” using
      openingHoursSpecification
      .
    • P.O. boxes: prefer a physical office address. If you must use a mailing address, note it in the content but still provide a client-facing meeting location.
    • Incomplete address: include city, region, postal code, and country to avoid validator warnings and map confusion.
    • Self‑serving reviews: include ratings only when you own the review data and meet your jurisdiction’s advertising rules.
    • Duplicate schema blocks: many CMS plugins inject LocalBusiness markup automatically. Disable duplicates so your handcrafted Attorney block is the only one indexed.

    Required properties

    • name
    • address.streetAddress
    • address.addressLocality
    • address.addressRegion
    • address.postalCode
    • address.addressCountry

    Recommended properties

    • telephone
    • openingHours
    • aggregateRating.ratingValue
    • aggregateRating.ratingCount
    Minimal JSON-LD
    Validate
    {
      "@context": "https://schema.org",
      "@type": "Attorney",
      "name": "Law Offices of Example",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "400 Elm St",
        "addressLocality": "Chicago",
        "addressRegion": "IL",
        "postalCode": "60601",
        "addressCountry": "US"
      }
    }

    FAQs

    Should I list practice areas?Show
    Yes, include in content and description for clarity.
    Multiple offices?Show
    Create separate Place pages and markup for each location.

    Generate Attorney schema

    Fill in page details, copy JSON or Script, and validate.

      Schema Type

      ⚖️ Attorney Schema Generator

      LocalBusiness subtype for legal practices. Include address, practice areas, and contact options.

      Generated Schema

      Validate your schema here.