在过去几年中,我在数十个律师事务所网站上实施了模式标记,模式总是相同的:事务所的开发人员(或更糟的是,他们的"SEO专员")要么什么都没做,要么使用了一些自动生成的Yoast模式标记,几乎没有触及表面。与此同时,街道对面的竞争律师事务所正在获得常见问题富网页摘要、知识面板数据,并被AI搜索工具引用——所有这一切都是因为他们花时间编写了适当的JSON-LD。

本指南是我希望在开始时就存在的指南。我们将涵盖对律师事务所重要的每种模式类型——LegalServiceAttorneyFAQPageOrganization,以及它们如何相互连接——提供真实的、生产就绪的JSON-LD,你可以立即调整和部署。

目录

律师事务所的Schema标记:完整JSON-LD指南(2026)

为什么Schema标记在2026年对律师事务所很重要

让我们直言不讳:schema标记不会神奇地让你的网站排名。从传统意义上讲,它不是排名因素。但它确实做了三件随时间推移而复合的事情:

  1. 搜索结果中的富网页摘要。 常见问题下拉菜单、星级评分、业务详情——这些占据了更多的屏幕空间并提高了点击率。Milestone Research在2025年的研究显示,包含结构化数据的页面获得的点击率比没有的页面高40-50%。

  2. AI搜索引用。 谷歌的AI Overviews、必应Copilot、Perplexity和ChatGPT搜索都解析结构化数据以理解实体。如果你想在有人问"奥斯汀最好的人身伤害律师"时引用你的事务所,schema有助于这些系统理解你是谁、你做什么以及你的位置。

  3. 知识面板资格。 谷歌的知识图谱大量依赖结构化数据。标记正确且有一致的sameAs链接的律师事务所有更好的机会触发品牌知识面板。

对于律师事务所来说,利害关系特别高。法律关键词是付费搜索中最昂贵的词汇之一(竞争激烈的实践领域每次点击50-150美元以上)。任何能提高有机可见性的事情都值得工程时间投入。

JSON-LD vs 微数据:选择正确的格式

简短回答:使用JSON-LD。总是。

谷歌明确推荐JSON-LD。它更容易维护,不会污染HTML标记,并且可以通过<script>标签动态注入。微数据要求你直接将属性添加到HTML元素中,这很快会变得混乱——尤其是如果你使用Sanity、Contentful或Storyblok等无头CMS,其中内容和演示是分离的。

功能 JSON-LD 微数据 RDFa
谷歌推荐 ✅ 是 ⚠️ 支持 ⚠️ 支持
与HTML分离 ✅ 是 ❌ 否 ❌ 否
易于维护 ✅ 是 ❌ 混乱 ❌ 混乱
与无头CMS配合 ✅ 完美匹配 ⚠️ 可能 ⚠️ 可能
AI搜索兼容性 ✅ 优秀 ✅ 良好 ✅ 良好
动态注入 ✅ 简单 ❌ 需要DOM更改 ❌ 需要DOM更改

如果你使用Next.js或Astro构建(我们在Social Animal经常这样做——参见我们的Next.js开发Astro开发功能),JSON-LD特别简洁。你将其生成为JavaScript对象,然后将其放入<head>中的<script type="application/ld+json">标签中。

LegalService Schema:基础

LegalService是专门为律师事务所和法律实践设计的schema.org类型。它是LocalBusiness的子类型,这意味着它继承了所有本地业务属性——地址、电话、营业时间——加上你可以指定法律特定的详情。

以下是生产就绪的示例:

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "@id": "https://www.smithlawfirm.com/#organization",
  "name": "Smith & Associates Law Firm",
  "alternateName": "Smith Law",
  "url": "https://www.smithlawfirm.com",
  "logo": {
    "@type": "ImageObject",
    "url": "https://www.smithlawfirm.com/images/logo.png",
    "width": 600,
    "height": 200
  },
  "image": "https://www.smithlawfirm.com/images/office-exterior.jpg",
  "description": "Smith & Associates provides personal injury, family law, and estate planning legal services in Austin, Texas.",
  "telephone": "+1-512-555-0199",
  "email": "contact@smithlawfirm.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "456 Congress Avenue, Suite 300",
    "addressLocality": "Austin",
    "addressRegion": "TX",
    "postalCode": "78701",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 30.2672,
    "longitude": -97.7431
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "18:00"
    }
  ],
  "priceRange": "$$",
  "areaServed": {
    "@type": "City",
    "name": "Austin",
    "sameAs": "https://en.wikipedia.org/wiki/Austin,_Texas"
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Legal Services",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Personal Injury Representation",
          "description": "Legal representation for car accidents, slip and fall, and workplace injuries."
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Family Law",
          "description": "Divorce, child custody, and prenuptial agreement services."
        }
      }
    ]
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127",
    "bestRating": "5"
  },
  "sameAs": [
    "https://www.facebook.com/SmithLawAustin",
    "https://www.linkedin.com/company/smith-law-austin",
    "https://www.avvo.com/attorneys/smith-associates.html"
  ]
}

你不应该跳过的关键属性

  • @id:这对连接schemas至关重要。将其视为其他schema块可以引用的唯一标识符。
  • geo:谷歌将其用于本地包结果。不要跳过它。
  • areaServed:如果你服务多个城市或县,全部列出。使用GeoCircle表示基于半径的服务区域。
  • hasOfferCatalog:这是你如何将实践领域列举为服务的方式。理想情况下,每个实践领域页面也应该有自己的Serviceschema。
  • sameAs:包括你的Avvo、Justia、FindLaw、LinkedIn、Facebook——任何权威资料。这有助于谷歌为你的知识面板连接点。
  • aggregateRating:仅当从合法的第一方评论中拉取时才包括此内容。谷歌的指南在这里很严格——不要伪造评分。

律师事务所的Schema标记:完整JSON-LD指南(2026)- 架构

Attorney Schema与Person标记

你事务所中的每位律师都应该在其个人简历页面上有一个Person schema。这是E-E-A-T真正发挥作用的地方——你明确地告诉搜索引擎有关资格、律师资格认证、教育和专业知识。

{
  "@context": "https://schema.org",
  "@type": "Person",
  "@id": "https://www.smithlawfirm.com/attorneys/jane-smith/#person",
  "name": "Jane Smith",
  "jobTitle": "Managing Partner",
  "url": "https://www.smithlawfirm.com/attorneys/jane-smith",
  "image": "https://www.smithlawfirm.com/images/attorneys/jane-smith.jpg",
  "description": "Jane Smith is a personal injury attorney in Austin, TX with over 15 years of experience and a track record of $50M+ in settlements.",
  "telephone": "+1-512-555-0200",
  "email": "jane@smithlawfirm.com",
  "worksFor": {
    "@id": "https://www.smithlawfirm.com/#organization"
  },
  "alumniOf": [
    {
      "@type": "CollegeOrUniversity",
      "name": "University of Texas School of Law",
      "sameAs": "https://law.utexas.edu"
    }
  ],
  "hasCredential": [
    {
      "@type": "EducationalOccupationalCredential",
      "credentialCategory": "Bar Admission",
      "recognizedBy": {
        "@type": "Organization",
        "name": "State Bar of Texas"
      }
    }
  ],
  "knowsAbout": [
    "Personal Injury Law",
    "Car Accident Claims",
    "Wrongful Death",
    "Premises Liability"
  ],
  "sameAs": [
    "https://www.linkedin.com/in/janesmith-attorney",
    "https://www.avvo.com/attorneys/jane-smith.html",
    "https://www.martindale.com/jane-smith"
  ]
}

为什么`worksFor`引用很重要

看到那个worksFor属性了吗?它使用来自LegalService schema的@id。这是你如何构建互联图的方式——谷歌理解Jane Smith在Smith & Associates工作,这是Austin的法律服务提供者。这些连接加强了两个实体。

hasCredential属性相对较新,但越来越重要。律师资格认证、委员会认证、Super Lawyers指定——全部标记。AI搜索系统喜欢这种可验证的凭证数据。

实践领域的FAQPage Schema

FAQPage schema的历史坎坷。谷歌在2023年8月减少了FAQ富网页摘要的可见性,主要将其限制在权威政府和健康网站。但问题是——FAQPage schema在2026年仍然很重要,有两个原因:

  1. AI搜索解析。 LLM在生成答案时积极使用FAQ结构化数据。Perplexity和Google AI Overviews都引用FAQ内容。
  2. 必应和其他引擎。 必应仍然比谷歌更自由地显示FAQ富网页摘要。

对于每个实践领域页面,你应该有一个包含匹配schema的相关常见问题部分:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does a personal injury lawyer cost in Austin?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Most personal injury attorneys in Austin work on a contingency fee basis, meaning you pay nothing upfront. The standard contingency fee ranges from 33% to 40% of the settlement or verdict amount. If you don't win, you don't pay attorney fees."
      }
    },
    {
      "@type": "Question",
      "name": "What is the statute of limitations for personal injury in Texas?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "In Texas, you generally have two years from the date of the injury to file a personal injury lawsuit. There are exceptions for minors, government entities, and cases where the injury wasn't immediately discovered. Consulting an attorney promptly is critical to preserve your rights."
      }
    },
    {
      "@type": "Question",
      "name": "How long does a personal injury case take to settle?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Most personal injury cases in Texas settle within 6 to 18 months. Simpler cases like fender-benders with clear liability may resolve in a few months. Complex cases involving catastrophic injuries or disputed fault can take 2-3 years or longer if they go to trial."
      }
    }
  ]
}

关键FAQPage规则

  • 内容必须出现在页面上。 谷歌的指南很明确:你的FAQ标记必须与页面上可见的内容匹配。不要为仅存在于JSON-LD中的问题添加FAQ schema。
  • 保持答案简洁。 每个答案两到三个句子的表现最好。如果你需要解释复杂的东西,链接到专门页面。
  • 使用真实问题。 从Google Search Console查询数据、"People Also Ask"框和实际客户咨询会话中提取。不要编造没人问的问题。
  • 限制在每页5-10个。 超过这个数字,你就会分散相关性。

Organization Schema:融合一切

如果你的事务所有多个办公室,你需要在你的主页上有一个Organization schema,作为父实体,为每个位置提供单独的LegalService schemas。

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://www.smithlawfirm.com/#organization",
  "name": "Smith & Associates Law Firm",
  "url": "https://www.smithlawfirm.com",
  "logo": "https://www.smithlawfirm.com/images/logo.png",
  "foundingDate": "2008",
  "founder": {
    "@id": "https://www.smithlawfirm.com/attorneys/jane-smith/#person"
  },
  "numberOfEmployees": {
    "@type": "QuantitativeValue",
    "value": 25
  },
  "subOrganization": [
    {
      "@type": "LegalService",
      "name": "Smith & Associates - Austin Office",
      "url": "https://www.smithlawfirm.com/locations/austin"
    },
    {
      "@type": "LegalService",
      "name": "Smith & Associates - San Antonio Office",
      "url": "https://www.smithlawfirm.com/locations/san-antonio"
    }
  ],
  "sameAs": [
    "https://www.facebook.com/SmithLawAustin",
    "https://www.linkedin.com/company/smith-law-austin",
    "https://twitter.com/SmithLawATX"
  ]
}

构建互联的Schema图

这是大多数律师事务所网站失败的地方。他们有断开的schema块——这里有点LocalBusiness,那里有点Person——但没有什么联系在一起。谷歌的文档讨论"实体协调",这基本上是它如何找出所有这些数据片段涉及相同真实世界实体的方式。

@id属性是你的工具。以下是图应该如何连接的方式:

页面 Schema类型 引用
主页 Organization + WebSite 组织的@id
位置页面 LegalService parentOrganization → 组织@id
律师简历 Person worksFor → 组织@id
实践领域页面 Service + FAQPage provider → 组织@id
博客文章 Article author → 人员@idpublisher → 组织@id
联系页面 ContactPoint 嵌入在组织或LegalService中

这是实践领域页面如何链接回来的快速示例:

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Personal Injury Representation",
  "serviceType": "Personal Injury Law",
  "provider": {
    "@id": "https://www.smithlawfirm.com/#organization"
  },
  "areaServed": {
    "@type": "State",
    "name": "Texas"
  },
  "description": "Legal representation for car accidents, truck accidents, workplace injuries, and wrongful death claims throughout Texas.",
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Personal Injury Services",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Car Accident Claims"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Truck Accident Claims"
        }
      }
    ]
  }
}

在你的模板中放置JSON-LD的位置

JSON-LD放在<script type="application/ld+json">标签中。你可以将其放在<head></body>结束标记之前——谷歌不在乎放置,但我更喜欢在<head>中以保持组织理智。

如果你使用无头CMS和Next.js或Astro之类的框架,你需要从CMS数据动态生成schema。这是一个简化的Next.js示例:

// components/LegalServiceSchema.tsx
export function LegalServiceSchema({ firm }) {
  const schema = {
    "@context": "https://schema.org",
    "@type": "LegalService",
    "@id": `${firm.url}/#organization`,
    "name": firm.name,
    "url": firm.url,
    "telephone": firm.phone,
    "address": {
      "@type": "PostalAddress",
      "streetAddress": firm.address.street,
      "addressLocality": firm.address.city,
      "addressRegion": firm.address.state,
      "postalCode": firm.address.zip,
      "addressCountry": "US"
    }
  };

  return (
    <script
      type="application/ld+json"
      dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
    />
  );
}

这种模式在你的内容存在于无头CMS时工作得很好。schema会自动与你的数据保持同步——当电话号码更改时无需手动更新。如果你对这种方法感兴趣,我们通过我们的无头CMS开发工作定期构建这类系统。

验证和测试

在推送任何内容上线之前,进行测试。每次都是。以下是我实际使用的工具:

工具 URL 功能
谷歌富网页摘要测试 search.google.com/test/rich-results 显示你的页面符合哪些富网页摘要资格
Schema标记验证器 validator.schema.org 根据完整schema.org规范验证(比谷歌更严格)
谷歌Search Console search.google.com/search-console 部署后显示错误和警告
Merkle Schema标记生成器 technicalseo.com/tools/schema-markup-generator 适合生成初始标记

我的工作流程:

  1. 手动编写JSON-LD或从CMS数据生成它
  2. 首先使用schema.org验证器验证(捕获结构问题)
  3. 使用谷歌富网页摘要测试进行测试(确认谷歌会解析它)
  4. 部署并在Search Console的"增强"报告中监控2-4周
  5. 检查富网页摘要是否实际出现在使用site:yourdomain.com搜索的SERP中

破坏你的富网页摘要的常见错误

我已经调试了足够多的律师事务所schemas,有一个常见错误的最大列表:

不可见的标记。 你添加FAQ schema,但问题和答案在页面上不可见。谷歌明确说结构化数据必须反映可见页面内容。违反这一点,你可能会面临手动操作风险。

虚假或自发布的评论。 添加仅存在于你自己网站上的评论的AggregateRating——而不是从Google Business Profile、Avvo或其他第三方拉取——违反了谷歌的评论片段指南。他们在2024年对此进行了严厉打击,还没有放松。

插件的重复schemas。 你安装Yoast或Rank Math,它们自动生成Organization schema。然后你(或你的开发人员)也添加自定义JSON-LD。现在谷歌看到两个冲突的Organization块。选择一个真实来源。

缺少@id引用。 没有@id属性,你的schema块是孤岛。谷歌无法将你的律师连接到你的事务所,你的服务连接到你的位置。总是使用@id并在相关schemas中用`{"@id": "..."}引用它。

过时的数据。 你的办公室六个月前搬迁,但schema仍然有旧地址。或律师离开事务所,但他们的Person schema仍然活跃。将schema视为代码——它需要维护。

使用Attorney作为schema类型。 这是常见的混淆。Schema.org没有Attorney类型。没有@type: "Attorney"。使用PersonjobTitle设置为"Attorney",并通过worksFor将他们连接到你的LegalService。某些插件在这方面会犯错误。

常见问题

每个律师事务所网站应该有哪些schema类型? 最少来说,你在主页上需要LegalService(或具有LegalService子类型的Organization),在每个律师简历页面上需要Person,在实践领域页面上需要FAQPage。如果你发布博客内容,添加带有适当author引用的Article schema。对于多位置事务所,每个办公室需要自己的具有位置特定详情的LegalService块。

FAQPage schema在2026年仍然适用于富网页摘要吗? 谷歌在2023年8月大幅减少了FAQ富网页摘要可见性,主要针对政府和健康权威网站。然而,FAQ schema对AI搜索系统(如Google AI Overviews、必应Copilot和Perplexity)仍然有价值,它们在生成答案时积极解析结构化FAQ数据。这仍然值得实施。

schema.org中是否有专门针对律师的类型? 否。Schema.org没有定义Attorney类型。正确的方法是使用Person,并设置jobTitle为"Attorney"或"Partner",hasCredential用于律师资格认证,worksFor引用你的事务所的LegalServiceOrganization schema。某些SEO插件不正确地使用Attorney——要么避免它们,要么覆盖输出。

我如何在schema标记中处理多个实践领域? 每个实践领域页面应该有自己的Serviceschema,其中provider引用回你的事务所的@id。在你的主页或主服务页面上,使用hasOfferCatalog,带有列出每个服务的OfferCatalog。这创建了个人页面级别信号和事务所级别概览。

Schema标记能帮助我的律师事务所出现在谷歌的AI Overviews中吗? 是的。谷歌的AI Overviews和其他AI搜索工具在选择生成答案的源时使用结构化数据作为信号。设计良好的互联schema图——带有LegalServicePersonFAQPage和正确的sameAs链接——有助于AI系统理解你的事务所的权威、位置和专业化。这不是唯一的因素,但它是一个越来越重要的因素。

我应该使用schema插件还是手动编写JSON-LD? 这取决于你的平台和技术舒适度。对于WordPress,Rank Math或Schema Pro等插件可以处理基础工作。但对于律师事务所,默认值很少足够——你需要为LegalService、律师资格认证和实践领域服务定制输出。如果你使用带有Next.js或Astro的无头CMS,从CMS数据以编程方式生成JSON-LD是最整洁的方法。我们通过我们的无头CMS开发服务帮助事务所设置这个。

部署schema标记后需要多长时间才能看到结果? 部署有效的结构化数据后,谷歌通常在2-4周内处理它,虽然可能需要更长时间。你会先在Search Console的增强报告中看到schema被检测。富网页摘要(如果符合条件)可能还需要几周才能出现。AI搜索引用改进更难衡量,可能需要1-3个月才能变得明显。

schema标记与E-E-A-T之间的关系是什么? Schema标记是直接向搜索引擎发信号E-E-A-T(经验、专业知识、权威性、信任度)的最直接方式之一。带有hasCredentialPersonschemas演示专业知识。AggregateRatingReviewschemas显示可信度。sameAs链接到权威法律目录加强权威。谷歌的质量评分指南没有明确提及schema,但你编码的数据直接映射到质量评分人员评估的内容。