gaash.ai

Law firms

Someone asks about a custody case in your county; an answer can only say a firm takes them if some page does.

A prospective client types "family lawyer in Fulton County for a contested custody case, first consultation free" or asks Claude who handles wage claims in Denver. The assistant reads firm sites and names the ones that state the matter, the place and the terms. GEO for law firms is making sure yours does.

A question about a law firm asks for facts the firm's own pages can state: the practice areas by their plain names, the courts and counties the firm appears in, who the attorneys are and where they are admitted, what a first consultation costs and how fees work, and one office address with one phone number. An answer can repeat what a page states; a reputation that no page states gives it nothing to repeat.

How your customers ask

How people ask about a lawyer when they have never hired one

“family lawyer in Fulton County for contested custody, do they offer a free first consultation”
“employment lawyer in Denver who takes wage theft cases on contingency”
“estate planning attorney near me that does wills and trusts for a flat fee”
“dui lawyer in Tampa who appears in Hillsborough County court”
“how much does a lawyer charge for an uncontested divorce in Ohio”

A matter, a place and a term: the three parts of every question about a lawyer

Almost every question about a lawyer names a matter ("custody", "DUI", "wage theft", "a will"), a place (a county or a city, sometimes a court), and a term (a free first consultation, contingency, a flat fee, evenings, Spanish). With web search on, what the AI assistant can say about those three parts comes from the pages it finds, and a firm's own pages are the place to state them. A page that says "full-service representation in all areas of law" answers none of them.

The place is the county, not the metro. The person asking often knows where the case will be heard. If your pages name the courthouse and the counties you appear in, a question about "Hillsborough County" has a page of yours that answers it; if they name only the city, it has none.

The term is usually about money, and it is the part firm sites often leave out. Whether the first consultation is free, and whether a matter is billed hourly, flat or on contingency, stated in the words your state bar's advertising rules allow, is what an assistant can repeat when it explains why it named you. "Call to discuss your case" is not a term.

None of this is legal advice, and none of it asks for a claim about results. A practice area page that explains what happens in the first 30 days of a custody case in your county is quotable without promising anything. A page that promises outcomes gives an assistant nothing it can verify.

What a law firm site has to state before an assistant can name it

The fetch works the way an AI crawler's does: the assistant receives the HTML your server sends and reads its text, and OpenAI documents ChatGPT-User as the fetcher that opens a page when a ChatGPT user asks about one. It does not know your reputation at the courthouse. It knows what the page states, in the form it states it.

What a law firm's site has to state, where, and in what form.
What to stateWhere it belongsIn what form
Practice areas by their plain namesOne page per practice area"Contested custody", "DUI defense", "wage and hour claims", "wills and trusts"; not "litigation solutions"
Courts and countiesEvery practice area page and the contact pageThe counties and courts the firm appears in, by name, and areaServed in the markup
The attorneysOne page per attorneyName, bar admissions by state and year, courts admitted to, languages, as text
Consultation termsContact page and every practice area pageWhether the first consultation is free, how long it is, in person or by phone
Fee basisPractice area pagesHourly, flat or contingency, in the words your bar's rules allow; a flat fee is a fact, "affordable" is not
One office, one numberHeader, footer, contact page, markupThe same address form and the same digits everywhere; each office on its own page if there are several
ReviewsA reviews pageClient reviews quoted as text where your rules permit them; no results claims, no "best" claims
The business typeJSON-LD on every pageLegalService with address, telephone, areaServed, and a Service node per practice area

LegalService is a LocalBusiness subtype on schema.org, and the narrower Attorney type is marked deprecated there in its favor, so the fields Google documents for local business markup apply: name, address, telephone, opening hours and geo, one set per office. Each practice area can be a Service node with its own serviceType and areaServed, which is how "contested custody in Fulton County" becomes a fact in the structured data as well as on the page.

Bar admissions belong in text on each attorney's page: the state, the year, the federal courts. An answer can repeat "licensed in Georgia" only where a sentence says it; a bar association logo in the footer says nothing in words.

What our crawl found, and what a firm should take from it

In our audit of 9,483 small business websites (40 trades, 90 metros, late August to early September 2026), a crawler that ran no JavaScript fetched the homepage, the contact page and the about page of each site. The audit publishes no separate cut for law firms; the figures describe the whole sample, and the method section says how it was drawn.

61.5% had no question-and-answer content of any kind, and 50.7% had a heading phrased as a question with no answer a machine could isolate under it. "How much does a divorce cost?" followed by "every case is different" is the law-firm version of that shape.

Across the sample, 43.1% of sites disagreed with themselves about who and where they are, 36.9% listed more than one phone number, and 34.1% gave a machine no postal address it could parse. A firm whose three offices appear only in a footer graphic has no address a machine can read.

17.8% had no schema.org markup at all; of the 82% that did, most described the website rather than the business, and 13.7% had business schema missing the fields that would make it usable. 64.7% showed no review signal a crawler could read.

7.2% sat behind bot protection that served the crawler a challenge page instead of the site, and 3.0% rendered their content only in JavaScript. Before any of this, the free crawler access check will show whether your robots.txt lets the answer-side crawlers in.

What to fix first, in order

  1. One address form and one phone number per office, in text on every page and in the markup. If there is an intake line, label it.
  2. One page per practice area in its plain name, each naming the counties and courts, each stating the consultation terms and the fee basis in the words your rules allow.
  3. One page per attorney with admissions as text: state, year, courts.
  4. LegalService in JSON-LD on every page, with address, telephone and areaServed filled in and a Service node per practice area. Google's structured data guidance recommends JSON-LD and asks that it state only what a visitor can see.
  5. The process questions clients ask in a first call (what happens first, how long it takes, what it costs to start), as headings with a real answer under each and no claim about outcomes.
  6. Client reviews as text where your rules permit them, with the platform named. Google's review snippet rules say not to aggregate ratings from other websites, so the firm leaves a platform's stars out of its markup.
  7. Check what a crawler receives: the crawler access check for robots.txt, and the source of a practice area page with scripts off.

A firm cannot buy or file its way into an answer, and neither can an agency on its behalf. What these fixes do is remove the reasons an assistant could not name you; measuring is how you learn whether it now does.

What managing partners ask

Our bar's advertising rules limit what we can say. Does that make this impossible?

Not in itself, because nothing here asks for a claim. Practice areas, counties, courts, admissions, consultation terms and the fee basis are facts about the firm, and they are what an answer to a buyer's question can repeat. Whether your bar's rules let you state each one, and what has to go beside it, is a question for your bar or your ethics counsel; write the page their answer allows, in plain words.

Our clients come from referrals and directories. Why would an assistant matter?

It may not yet, for your firm, and measuring is how to know. In our probe, one buyer question per business put to Claude with web retrieval on named 14.9% of 9,240 businesses: one assistant, one question, one day, a direction rather than a rate. Of the names it gave, 99.4% were actual businesses and 0.6% directories.

Should we publish fees?

Publish what you already tell callers: whether the first consultation is free, and whether a matter is billed hourly, flat or on contingency. A flat fee for an uncontested divorce is a fact an assistant can repeat; "competitive rates" is not. Where your rules require a disclosure alongside a fee statement, put it in the same paragraph so it travels with the fact.

Which schema type should a law firm use?

LegalService, a LocalBusiness subtype on schema.org. The Attorney type beneath it is marked deprecated there, so a firm already marked up as Attorney should switch. Put it in JSON-LD on every page with address, telephone and areaServed filled in, and describe each practice area as a Service with its own serviceType and areaServed. 13.7% of the audited sites had business schema missing the fields that would make it usable.

Sources: our audit of 9,483 small-business sites, with its method · Google, local business structured data · Google, introduction to structured data · Google, review snippet · schema.org, LocalBusiness · schema.org, Service · OpenAI, crawler documentation