Deep Audit Case Study: America's Biggest Injury Firm Scores 4.1 on AI — and 2.96 on SEO

This kicks off a monthly series. Each month we point our Deep Audit at a real site, publish exactly what came back, and write the exact fixes — real JSON-LD, real config, real numbers — that a senior consultant would ship. We're starting at the very top of one vertical on purpose; from next month on we turn to the mid-sized businesses that actually lose customers to these gaps. This month: personal-injury law.

We started with the biggest name we could find. Morgan & Morgan — "For The People" — is the largest personal-injury firm in the United States: 1,000+ attorneys, a nine-figure ad budget, a brand most Americans can name. If anyone in this vertical has SEO figured out, it's them. The point of starting here is simple: if this is what the category leader ships, imagine what it's costing the mid-sized firm three cities over that's fighting for every lead.

So we ran their homepage through a Deep Audit — the async engine that scores a page across 9 sections and 14,000+ checks — and read every finding. The result is a near-perfect illustration of the split we keep seeing across the whole industry: a site engineered for the AI era that quietly leaks classic, structured-SEO signals.

No cherry-picking. Here's the raw output, then the fixes.

The output

Deep Audit — https://www.forthepeople.com
==============================================================
  LAI Score: 3.99/5  (good)   confidence 67.41%
  AI 4.1/5   SEO 2.96/5   Local n/a
  Tasks scored: 6027  (passed 2594, warned 1809)

Section scores (0-5):
  S1  Technical Foundation & Rendering   4.44
  S2  Crawlability & Site Architecture   4.72
  S3  Content Quality & Entity Semantics 4.27
  S4  Core Web Vitals & Performance      3.13
  S5  Technical SEO & Index Control      4.73
  S6  Schema, Local, Trust & E-E-A-T     2.77   ← weakest
  S7  Security & Privacy                 4.60
  S8  Multimodal Content & Media         3.08
  S9  Off-Site Signals & Reputation      4.12

Two things jump out.

The AI/SEO split is dramatic. AI-readability lands at 4.1 — the content is clean, well-structured, semantically clear, exactly what an answer engine wants to quote. But classic SEO is 2.96, dragged down by a 2.77 on Section 6 (Schema, Local, Trust & E-E-A-T). A billion-dollar brand is invisible to the machine-readable layer of the web.

The lowest section is the one AI answer engines lean on hardest. Structured data is how Google, ChatGPT, and Perplexity understand who you are, what you do, and whether you're trustworthy. For a law firm — where trust and reputation are the entire product — leaving it blank is the single highest-leverage gap on the page.

Here are the relevant critical findings (we've filtered out the schema types that genuinely don't apply to a law firm, like Product or Event):

Finding What it means
S6 6.1.01 No Organization schema The site never tells search engines it is an organization
S4 4.9.02 0 sameAs profiles No machine-readable link to their own social/verified profiles
S6 6.8.01 No Review schema Thousands of client reviews, none marked up
S6 6.9.01 No AggregateRating schema Their star rating can't appear in results
S6 6.7.01 No FAQPage schema FAQ content on-page, invisible to answer engines
S6 6.16.01 No BreadcrumbList schema No breadcrumb trail in the SERP
S3 3.10.01 No llms.txt file No AI-crawler guidance file
S2 2.7.02 Text-to-HTML ratio 4% ~96% of the payload is markup/JS, not content
S8 8.x Multimodal & media 3.08 Image alt text and video markup gaps

None of these are opinions. They're checks with pass/fail evidence. Now the fixes.

Fix 1 — Give the firm an identity: LegalService + Organization schema

This single block clears 6.1.01, 4.9.01, and 4.9.02 at once, and it's the highest-value change on the page. A law firm should use LegalService (a subtype of LocalBusiness), tied to an Organization with sameAs links to every verified profile it owns.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Morgan & Morgan",
  "url": "https://www.forthepeople.com",
  "logo": "https://www.forthepeople.com/logo.png",
  "image": "https://www.forthepeople.com/office.jpg",
  "description": "Personal injury law firm representing clients nationwide.",
  "areaServed": "US",
  "priceRange": "Free consultation",
  "telephone": "+1-800-000-0000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "20 N Orange Ave, Suite 1600",
    "addressLocality": "Orlando",
    "addressRegion": "FL",
    "postalCode": "32801",
    "addressCountry": "US"
  },
  "sameAs": [
    "https://www.facebook.com/forthepeople",
    "https://www.linkedin.com/company/morgan-&-morgan",
    "https://www.youtube.com/@forthepeople",
    "https://x.com/forthepeople"
  ]
}
</script>

The sameAs array is what fixes 4.9.02 (0 sameAs profiles). It's how an answer engine confirms that this website and that LinkedIn page are the same entity — the backbone of E-E-A-T.

Fix 2 — Mark up the reviews they already have: AggregateRating + Review

This clears 6.8.01 and 6.9.01. Morgan & Morgan has thousands of client reviews; none are in a format Google can turn into a star rating. This is free reputation signal they're throwing away.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Morgan & Morgan",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "31240"
  },
  "review": [{
    "@type": "Review",
    "author": { "@type": "Person", "name": "Jane D." },
    "reviewRating": { "@type": "Rating", "ratingValue": "5" },
    "reviewBody": "They handled my case start to finish and kept me informed the whole way."
  }]
}
</script>

One rule we never break: only mark up reviews that are real and actually displayed on the page. Fabricated AggregateRating is schema spam and Google penalizes it. (We held to the same rule on our own homepage — we didn't add review schema because we don't have reviews to cite.) The numbers above are placeholders; ship the firm's real, verifiable figures.

Fix 3 — Turn on-page FAQs into answer-engine fuel: FAQPage

Clears 6.7.01. Injury firms answer the same questions on every page — "How much does it cost?", "How long do I have to file?" That content is already written; wrap it so it can win an FAQ rich result and get quoted by an LLM.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "How much does it cost to hire Morgan & Morgan?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Nothing upfront. We work on contingency — you pay only if we win."
    }
  }, {
    "@type": "Question",
    "name": "How long do I have to file a personal injury claim?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "The statute of limitations varies by state, commonly two to four years from the date of injury. Contact us to confirm your deadline."
    }
  }]
}
</script>

Fix 4 — Breadcrumbs in the SERP: BreadcrumbList

Clears 6.16.01. Cheap, high-visibility win — it gives the result a navigable trail instead of a bare URL.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.forthepeople.com" },
    { "@type": "ListItem", "position": 2, "name": "Practice Areas", "item": "https://www.forthepeople.com/practice-areas" },
    { "@type": "ListItem", "position": 3, "name": "Car Accidents", "item": "https://www.forthepeople.com/car-accidents" }
  ]
}
</script>

Fix 5 — Ship an llms.txt file

Clears 3.10.01. This is the fix that most directly addresses the strength the audit found — a page AI engines love should tell those engines where the good content is. Drop a plain-text file at /llms.txt:

# Morgan & Morgan

> The largest personal injury law firm in the United States. Free consultation, contingency fees, nationwide coverage.

## Core pages
- [Practice Areas](https://www.forthepeople.com/practice-areas): Full list of case types we handle
- [Free Case Evaluation](https://www.forthepeople.com/free-case-evaluation): Start a claim
- [Verdicts & Settlements](https://www.forthepeople.com/verdicts-settlements): Track record

## Contact
- Phone: 1-800-000-0000
- Offices: Nationwide

See our full llms.txt guide for the format. For a site already scoring 4.1 on AI-readability, this is the cherry on top.

Fix 6 — The 4% text-to-HTML ratio (S2 2.7.02)

96% of the delivered bytes are markup and script, not content. That's a Core-Web-Vitals drag (Section 4 sits at 3.13) and it dilutes the crawlable signal. The realistic playbook:

  • Defer non-critical JavaScript — audit the third-party tag load (chat widgets, ad pixels, A/B tools) and async/defer everything that isn't render-critical.
  • Server-render the primary content so the crawler sees text in the initial HTML, not after hydration.
  • Trim unused CSS with a coverage pass; large ad-tech sites routinely ship 300KB+ of CSS where 30KB is used.

This one is a project, not a snippet — but it's the difference between a 3.13 and a 4+ on performance.

Fix 7 — Media markup (S8, 3.08)

Two concrete moves: add descriptive alt text to every content image (decorative images get alt=""), and wrap their testimonial/explainer videos in VideoObject schema so those can surface in video results:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "What to do after a car accident",
  "description": "Our attorneys walk through the first five steps.",
  "thumbnailUrl": "https://www.forthepeople.com/video-thumb.jpg",
  "uploadDate": "2026-09-01",
  "contentUrl": "https://www.forthepeople.com/videos/car-accident-steps.mp4"
}
</script>

What this would move — honestly

Unlike the audit we ran on our own homepage — where we shipped the fixes and re-ran the audit to show a real before/after — we can't redeploy someone else's site. So there's no fabricated "after" score here. What we can say precisely is which findings each fix clears:

  • Fixes 1–4 and 7 directly clear eight critical Section-6 findings and both 4.9 Organization findings — the checks holding Section 6 at 2.77 and classic SEO at 2.96.
  • Fix 5 clears the 3.10.01 llms.txt finding.
  • Fix 6 is the lever on Section 4 (Core Web Vitals, 3.13).

Schema and metadata fixes (1–5, 7) are a half-day of work for one developer and would, on their own, pull Section 6 from the low-2s toward the 4s — the same jump we measured on our own site when we added the schema we were missing. The performance work (Fix 6) is the longer tail.

The pattern, again

This is the third time we've published this exact finding and it keeps holding: the best sites are being built for AI and neglecting classic structured data. Morgan & Morgan writes content an answer engine wants to quote (4.1 AI) and then never tells that engine who they are (2.77 schema). The gap isn't talent or budget — it's that nobody ran the audit and read the findings.

That's the whole point of Deep Audit: it reads the findings for you, in the priority order that matters.

Run this on your own site

Every number above came from one Deep Audit call. You can run the same thing on your firm's site — or a competitor's — with a Deep Audit credit (no subscription required) or on any Pro/Ultra plan:

curl -X POST "https://engine.seoscoreapi.com/deep-audit" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{"url": "https://yourfirm.com"}'

Poll the returned job id for the full 9-section score and every finding. Then fix them in priority order — starting, almost certainly, with schema.

Next month we drop down from the category leader to a real mid-sized business — the kind where fixing exactly these gaps turns directly into more calls, more bookings, more revenue. Same treatment, higher stakes. Have a site you want us to run? Reply to any of our emails.