← Back to Blog

Legal-Site Readiness in the Mega Analyzer: What an Am Law Audit Catches Before the Ethics Committee Does

Legal-Site Readiness in the Mega Analyzer: What an Am Law Audit Catches Before the Ethics Committee Does

When I run a generic site audit against a law firm, the report tells me a few useful things about meta descriptions and HTTPS headers and image alt text. It does not tell me whether the attorney-advertising notice is on the right side of the link versus inline, whether the bio pages would surface in ChatGPT when somebody asks for a Denver corporate attorney, or whether the cookie banner on the Amsterdam office page satisfies the ePrivacy Directive. Those are the checks that matter to the firm. The generic SEO ones are scaffolding.

The Mega Analyzer's new Legal-Site Readiness section runs only when a page looks like a law firm or attorney site, and surfaces the checks a partner would actually want their web team to handle. Detection requires at least one strong signal (the word "attorney" or "law firm" in the body, an attorney bio path like /people/ or /attorneys/, an Attorney or LegalService schema type, or a title containing those terms) plus a supporting signal (bar-admission language, a J.D., the phrase "attorney advertising", the partner-with-LLP pattern). False positives on a legal-journalism site are possible but rare and harmless.

What it catches

State-bar advertising compliance. New York 22 NYCRR §1200.7 governs how a lawyer can communicate about services. Florida Bar Rule 4-7 is one of the strictest advertising regimes in the country. Texas Disciplinary Rule 7.02 requires specific advertising disclosures. The text of these rules reads — at the strictest interpretation — as requiring "Attorney Advertising" to appear on the advertising itself rather than behind a single-click link. Many large firms put the disclaimer on a dedicated /disclaimer page and link to it from the footer. That satisfies some readings but not all, and several state ethics opinions (e.g., NY State Bar Op. 1009) have flagged the link-only pattern as borderline. The analyzer's check looks at the visible body text on the rendered page, not the footer link target. When the inline notice is absent, the finding text quotes the rule and recommends a one-line footer addition that all three jurisdictions accept.

Prior-results disclaimer on attorney bios. If a bio page recounts a representative matter ("led the $2.3B acquisition of …") and there is no accompanying "Prior results do not guarantee a similar outcome" disclaimer, the analyzer flags it. NY 22 NYCRR §1200.7(d)(3) is the canonical authority, but the same language is required or strongly recommended in FL, TX, NJ, MA, and others.

No-attorney-client-relationship + confidentiality language on contact pages. Two distinct disclaimers, both required by professional-responsibility orthodoxy (ABA Model Rule 1.18 on Duties to Prospective Client is the source). The first says contacting the firm does not create representation. The second says do not send confidential information until representation is confirmed in writing. The analyzer detects both, and flags missing instances when the page path looks like contact, office, or attorney-bio (where the email link sits).

Person + Attorney schema on bios. schema.org/Attorney is a subtype of Person. AI search engines and Google Knowledge Graph rely on it to identify lawyers as entities. Without it, when somebody asks ChatGPT "who handles private equity M&A in Denver," the AI cannot reliably name attorneys from firms that have not emitted the markup. The analyzer flags missing ["Person","Attorney"] schema on any URL path matching attorney-bio conventions (/people/, /attorneys/, /lawyers/, /partners/, /associates/, /of-counsel/).

LegalService schema on practice pages. schema.org/LegalService is a subtype of LocalBusiness. Practice and capability pages should carry it so AI search has a machine-readable hook into the firm's service taxonomy. The check fires on URLs matching /practices/, /practice-areas/, /capabilities/, /expertise/, /services/, /industries/, /sectors/.

hasCredential with bar-license + alumniOf law-school on bios. Two attributes of the Person+Attorney schema that materially improve AI-citation quality. hasCredential with credentialCategory: "license" and a recognizedBy Organization pointing to the state bar gives AI a verifiable hook. alumniOf with a CollegeOrUniversity (the law school) is the primary authority signal — Yale Law graduates surface differently in AI answers than Cooley Law graduates, fairly or not. The analyzer flags missing instances on attorney bio pages.

PostalAddress + openingHours on office pages. LegalService with branch-office data, PostalAddress, telephone, and openingHoursSpecification is the schema pattern for "open now" queries and Maps local-pack eligibility. The analyzer flags missing data on URL paths matching /offices/, /locations/, /contact/.

Statement of Client's Rights for NY-office firms. New York Judiciary Law §90 plus 22 NYCRR §1210.1 require every NY-licensed attorney to "post conspicuously" the Statement of Client's Rights. The modern interpretation is a footer link on the firm's website. The analyzer detects a NY-office firm by body-text mention of New York / NYC / Manhattan / Brooklyn, and flags missing footer-linked Statement of Client's Rights.

Cookie banner for EU-office firms. GDPR Article 7 plus the ePrivacy Directive require explicit consent for non-essential cookies before they fire. The analyzer detects EU-office firms by body-text mention of Amsterdam, London (post-Brexit ICO still aligned with GDPR), Brussels, Frankfurt, Paris, Madrid, Milan, Dublin, and flags missing visible cookie-consent banner indicators.

What the check ships with

When the section finds issues, the user gets three pills and one inline button:

  • 📖 Learn (blog) points to this post.
  • 🔍 Audit on E-E-A-T tool opens /tools/eeat-analyzer/?url=…&autorun=1 so the user can drill into the broader authority profile.
  • ⚙ Fix on Schema Bundle opens /tools/schema-fix-bundle/?url=…&autorun=1 which emits the missing Person, Attorney, LegalService, Organization blocks ready to paste.
  • ⚖ Copy legal-readiness fix prompt is the inline ai-prompt-ready-btn that copies a structured prompt with the actual findings, ready to paste into Claude or ChatGPT for one-shot remediation.

The prompt is structured the way the rest of the analyzer's fix prompts are: the page context (firm-level vs attorney bio vs practice vs office), the specific findings, a numbered list of remediation tasks with example schema blocks inline, and constraints (do not invent bar-admission jurisdictions, do not hallucinate J.D. years, schema validation against rich-results-test before deploy).

Where it draws the line

The check does not try to be ethics counsel. It does not enforce state-specific advertising-content rules beyond detecting the standard disclaimer-text presence. Texas Bar 7.02 requires "Texas advertisement" or "ADVERTISEMENT" labeling on certain communications, which varies by medium and is not something a generic web crawler can verify. Florida Bar 4-7.16(b) requires the lawyer or firm name on each advertisement, which the analyzer can detect heuristically but does not enforce because false positives are too easy. The firm's general counsel or outside ethics counsel should be the final reviewer on language; the analyzer surfaces the gap and provides the lookup so they can ship correctly.

The check also does not encode the bar-admission compliance details for firms practicing in jurisdictions where they are not admitted. Multi-jurisdictional firms have to manage UPL (unauthorized practice of law) exposure on their own. The analyzer flags missing Person+Attorney schema as an AI-visibility issue; it does not opine on whether a Colorado-admitted associate's page on a DC-headquartered firm site needs a jurisdictional disclaimer.

Why I built this against arnoldporter.com

The audit that surfaced this check was an Am Law 100 firm's public site. Six device viewports tested, zero mobile-presentation failures. Strong skip-link + ARIA + lang attributes. Standard footer disclaimer links. All good. But zero JSON-LD on any of the seven pages I tested — home, about, people directory, attorney bio, offices, careers, perspectives index. And Cloudflare Bot Fight Mode was returning the "Sorry, you have been blocked" challenge page to non-residential IPs, which means GPTBot, ClaudeBot, and PerplexityBot were all bouncing off the sub-pages.

A generic SEO scan does not surface either of those as a critical issue. The schema scan flags "no Organization schema" generically and the bot-challenge detector flags the access wall. But neither connects the two findings to the specific consequence: when somebody asks ChatGPT "who handles PE M&A at Arnold & Porter," the AI has no schema to cite, and no access to read the source if it tried. The firm's $400-an-hour Counsel becomes invisible in the channel that decides $400-an-hour-Counsel inquiries now.

That is the specific gap the Legal-Site Readiness section closes. The generic checks tell you the markup is missing; the legal section tells you what to put there and why.

Related reading


This post documents an analyzer check, not legal advice. Bar-rule citations are pointers to authoritative texts. The firm's general counsel office or outside ethics counsel should sign off on visible disclaimer language before production deploy. Schema.org recommendations follow Google's structured-data guidance; validate every emitted JSON-LD block against Google's Rich Results Test and the Schema.org validator before deploy.

If you build sites for the legal industry, The $20 Dollar Agency is the playbook I wrote for the boutique that ships pages a partner can actually approve. Chapter 6 covers the bar-rule research path so you stop guessing at advertising-disclaimer language.

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility StatementPrivacy Policy

Last updated: April 2026