Skip to content
SEO & Growth

7 Technical SEO Checks for Law Firm Websites 2026

Sep 7, 2026

Technical SEO for law firms is a crawl-and-index check of practice, attorney, and office URLs so Google can fetch the live page, not a stale bio or a duplicate city template. It is not a content calendar, it is not a case-management system, and it is not a recrawl button that ranks you. Screaming Frog, Sitebulb, Oncrawl, Lumar, Botify, JetOctopus, and ContentKing are the seven spiders and monitoring seats in this shortlist. US Tech Automations sits above them as the ticket layer that blocks a practice URL when the crawl status, the unique fact, and the ethics review have not all passed.

TL;DR: Buy Screaming Frog if an SEO lead will run desktop crawls. Buy Sitebulb if hint templates matter. Buy Oncrawl, Lumar, Botify, or JetOctopus if logs and scheduled cloud crawls are the job. Buy ContentKing if you need real-time change monitoring more than a bulk spider. Do not treat "request indexing" as a rank switch.

Crawl health on attorney sites

A firm site fails technically in boring ways: attorney bios that 404 after a departure, practice URLs that canonicalize to a blog, office pages that share one H1, PDF guides that waste crawl budget, and JS-only intake forms the spider never sees. Google's ecommerce guides still tell stores to share product data, add relevant structured data, and design crawlable URL and site structure so Google can parse catalog pages, according to Google Search Central. A practice catalog is not a SKU grid, but crawlable structure is the same job.

Lawyers using legal tech daily: 72% according to ABA (2024 Legal Technology Survey Report). Solo plus small firm; vintage matters. That figure is why a crawl ticket can live next to Clio, not why a spider practices law.

BEST_OF earn rate: 15.2% according to US Tech Automations (2026) on 12,514 live pages counted 2026-08-24.

'7 Best' earn rate: 25.5% according to first-party Phase 1 count (2026) versus 14.0% for '5 Best' on the same count.

Screaming Frog free cap: 500 URLs according to Screaming Frog. A multi-office firm with attorney children usually blows that cap on the first pass.

JetOctopus job: cloud crawls according to JetOctopus positioning — use it as a cloud alternative in the bakeoff, not as a rank claim.

Who this is for

This page is for marketing managers at firms that already have a CMS, Search Console, and more URLs than a partner will click by hand. The pain is 404 bios, duplicate titles, and an agency report that never becomes tickets.

Red flags: Skip a cloud crawler if you have a handful of pages you can open by hand. Skip Screaming Frog if nobody will sit at a desktop licence. Skip ContentKing if you wanted a one-time audit, not monitoring. Skip the category if you expect the spider to write briefs.

Key Takeaways

  • Technical SEO for law firms is fetchability and uniqueness of practice, attorney, and office URLs.

  • Screaming Frog wins desktop list mode; Sitebulb wins hints; Oncrawl, Lumar, Botify, and JetOctopus win logs and schedules; ContentKing wins change monitoring.

  • 72% daily legal-tech use is the ABA 2024 figure already cited — the crawl has to sit in that stack, not beside it as mystery work.

  • Cost, programmatic graphs, and ChatGPT citations are separate posts: law firms SEO cost, programmatic SEO for law firms, how to get law firms cited in ChatGPT.

  • A ticket layer is optional when a coordinator already fails 404 bios in a weekly sheet.

Weighted criteria for firm crawls

CriterionWeightMin evidence on a firm graph
Attorney 404 / redirect hygiene25%0 dangling bios after departures
Unique-fact gate besides status 20020%1 fact per practice URL
Indexable 200s after render20%95% of HTML URLs return 200
Canonical and parameter hygiene15%1 canonical per practice
Log-file or monitoring view10%1 log sample or real-time watch
Recrawl plus ethics ticket SLA10%14-day human review

Source: editorial weights. ABA 72% and Screaming Frog's 500-URL cap are attributed in the body.

Seven platforms

VendorFree URL capJS flagLog flagMonitor flagCloud flagPublic $
Screaming Frog5001100contact vendor
Sitebulbcontact vendor1101contact vendor
Oncrawlcontact vendor1101contact vendor
Lumarcontact vendor1101contact vendor
Botifycontact vendor1101contact vendor
JetOctopuscontact vendor1101contact vendor
ContentKingcontact vendor1011contact vendor

JS/log/monitor/cloud flags are public product-family positioning. Only Screaming Frog's 500-URL free cap is a retrieved public number on this page.

Screaming Frog. Best fit: an SEO lead who will run list mode against a CSV of attorney and practice URLs. Limitations: free cap 500 URLs; not a scheduler. Implementation: list mode, JS rendering on intake CTAs, custom extraction for canonical and h1. Primary evidence: Screaming Frog.

Sitebulb. Best fit: hint-driven audits and saved templates for the next office launch. Limitations: contact vendor for price. Implementation: crawl, fail duplicate titles, export hints to tickets. Primary evidence: Sitebulb.

Oncrawl. Best fit: log-based crawl budget when faceted news or PDFs waste Googlebot. Limitations: contact vendor; not a content grader. Implementation: connect logs, segment by template. Primary evidence: Oncrawl.

Lumar. Best fit: scheduled cloud crawls plus logs at graph scale. Limitations: enterprise motion; overkill for a brochure site. Implementation: weekly crawl of practice and bio templates. Primary evidence: Lumar.

Botify. Best fit: large graphs where JS, logs, and real crawl paths sit together. Limitations: not a small-firm seat. Implementation: compare HTML crawl with log lines. Primary evidence: Botify.

JetOctopus. Best fit: cloud crawls as a bakeoff alternative to Lumar/Oncrawl. Limitations: contact vendor. Implementation: same URL list as Frog so the comparison is fair. Primary evidence: JetOctopus.

ContentKing. Best fit: real-time monitoring when the risk is a partner editing a title at midnight, not a 50,000-URL spider. Limitations: according to ContentKing positioning it is monitoring, not a replacement for a full desktop crawl. Implementation: watch practice URLs, alert on noindex or 404. Primary evidence: ContentKing.

Public prices and TCO

PlanVendorPublic $ or capWhat the public page is for
Free spiderScreaming Frog500 URLsDesktop crawl under the cap
Paid licenceScreaming Frogcontact vendorJS rendering, larger crawls
Desktop / CloudSitebulbcontact vendorHint-driven audits
PlatformOncrawlcontact vendorLog-based crawl budget
PlatformLumarcontact vendorScheduled cloud crawls
PlatformBotifycontact vendorJS + logs at graph scale
PlatformJetOctopuscontact vendorCloud crawls
MonitoringContentKingcontact vendorReal-time change watch
Ticket layerUSTA softwarecontact vendorCrawl + unique fact + ethics gate

Source: Screaming Frog for the 500-URL cap. Other list prices contact vendor. TCO is the licence plus the human who redirects departed bios.

Worked crawl: 400 URLs

A 20-attorney firm with 400 HTML URLs (practices, bios, offices, blog), a 14-day "fix then recrawl" SLA, and a desktop spider. The coordinator exports the URL list, pastes it into Screaming Frog list mode, and watches 400 rows: 352 return 200, 18 are 301s from a practice rename, 30 are 404 bios after 2 departures. Those 30 become tickets before any recrawl. Intake later flips HubSpot hs_lead_status on 25 form fills a week — that is a CRM event, not an indexability event. Zapier, Make, or n8n can POST the crawl CSV, retry on 5xx, and keep a run history. The firm still owns idempotency (one ticket per URL), who may request indexing, retention of unpublished URLs, and the partner who signs the 30 redirects. A proposed US Tech Automations design would require coverageState on a sample of repaired bios plus a unique-fact checkbox before the CMS marks the practice live — it would not skip the spider, and it would not promise Google will index inside 14 days, and it would not treat 72% daily legal-tech use as a ranking factor.

PDFs, offices, and intake JS

PDF guides should usually be noindex or live behind a gated form if they are not meant to rank. Indexable PDFs of "complete guide to truck accidents" compete with the practice URL, waste crawl budget, and often duplicate the same claims a partner would not initial on HTML. If you keep a PDF, give it a canonical story: either it is the document, or the HTML practice URL is the document. Do not leave both.

Office URLs fail when three cities share one H1 and one phone. Unique facts: the street NAP, parking, languages at that office, the named partner who sits there. Technical SEO still has to fetch them; on-page still has to differentiate them. If the firm later mints city × practice URLs, the programmatic post already linked owns the graph, but each office URL still needs a 200 and a unique NAP.

Intake forms that render only in JS will look empty to a spider that does not render. Turn JS rendering on in Screaming Frog or Sitebulb and confirm the submit button exists in the rendered DOM. ContentKing will tell you when someone noindexes the thank-you URL; it will not tell you the form never appeared. Logs in Oncrawl, Lumar, Botify, or JetOctopus will tell you whether Googlebot even reached the practice template.

Recrawl and structure

Google's ecommerce structure advice (crawlable URLs, relevant structured data, parseable catalogs) is the outside document this brief named. Pair it with common sense: do not dump the entire brief bank as indexable HTML if those PDFs should be noindex. Do not request recrawl on 400 URLs when 30 still 404. Attorney schema belongs only on visible facts.

The ABA 2024 figure already cited (72% of lawyers using legal tech daily, solo plus small firm) means the firm can absorb a crawl CSV next to Clio. It does not mean the spider is a case-management tool, and it does not mean partners will initial 400 URLs without a ticket. ContentKing alerts at midnight are useless if nobody is on-call. Lumar schedules are useless if the export never becomes 30 redirects. Screaming Frog's 500-URL free cap already cited is the small-firm tripwire: pay the licence or stop pretending the blog is in scope.

Programmatic city × practice URLs, SEO cost, and ChatGPT citations remain the three posts already linked. Technical SEO is the fetch layer under all three. A 200 on a clone is still a clone. A recrawl on a 404 is still a 404. Put the 30 departed-bio redirects on the same weekly list as new practice URLs so the crawl export and the CMS never drift for a month. If the partner will not initial redirects, the spider cannot finish the job. Keep a standing CSV of attorney URLs next to the HR offboarding checklist so a departure cannot sit for a quarter as an indexed 404. That CSV is the list-mode input for Screaming Frog; it is not optional documentation. Run it the week a bio is unpublished, not at quarter-end, so the 30 redirects in the worked example cannot wait for a brand refresh that never ships. If HR will not share departures, the marketing crawl will always be late. Name the HR contact on the crawl runbook so the delay is a person, not a mystery, and so a contractor cannot claim they never knew who to ask.

Stitching it in Zapier

The real alternative is Screaming Frog plus a sheet plus a Make scenario that opens a ticket when status ≠ 200. Those tools can support run histories, retries, error branches, and audit evidence when configured. You must still design observability, idempotency, escalation, access controls, retention, and maintenance. If a weekly meeting already fails 404 bios, you do not need a second platform on day one.

When a ticket layer is the wrong seat

Do not buy US Tech Automations if the coordinator already fails 404 bios in a weekly sheet and Screaming Frog is the only crawl you will ever need. Do not buy it if you have ten pages and URL Inspection is enough. Do not buy it if counsel forbids a third system of record — the CMS workflow is then the gate.

Questions firm marketers ask

What is technical SEO for law firms?

Technical SEO for law firms is the crawl of practice, attorney, and office URLs that records status codes, canonicals, render, and indexability so you can fix fetch errors before you request a recrawl. It is not a content brief. The seven tools here all do some version of that crawl or monitor.

Is Screaming Frog enough?

Screaming Frog is enough when someone will run list mode, live under or pay past the 500-URL free cap, and export failures to a human. It is not enough when you need schedules, logs, or midnight monitoring — that is Lumar/Oncrawl/Botify/JetOctopus or ContentKing.

How do we handle departed attorneys?

Redirect the bio to a relevant practice URL, crawl to confirm 0 dangling 404s, then recrawl only the redirected URLs. Do not leave "coming soon" bios indexed. The 25% weight on attorney hygiene exists because this is the failure mode.

Can we stitch this in Zapier instead?

Yes. Zapier, Make, or n8n can ingest a crawl CSV, retry 5xx, and keep history. You still own who requests indexing, idempotent URL keys, and retention. That is enough until the gate rules are the product.

Do we need programmatic SEO too?

If the firm will mint many city × practice URLs, yes — that is the programmatic post already linked. Technical SEO still applies to each emitted URL.

Does a crawl get us cited in ChatGPT?

No. That is the ChatGPT citation post already linked. A 200 is a prerequisite, not a footnote.

Next step

If the spider already shows which bios 404 and the gap is a human-signed gate, start on the homepage and open pricing with the URL list and the 14-day SLA. Do not ask the ticket layer to replace Screaming Frog.

About the Author

Garrett Mullins
Garrett Mullins
Workflow Specialist

Helping businesses leverage automation for operational efficiency.