A 90-day plan for Berry Law's search program.
Ninety days, three moves: diagnose the five-domain estate, decide the consolidation question with your data instead of my assumptions, and stand up a testing program that respects how law-firm traffic actually behaves.
Prepared by Varshal Nirbhavane · 2026-08-04 · Method: raw HTML, response headers, robots.txt, XML sitemaps, SERP sampling, Lighthouse lab runs — no internal access. Standing caveat: every finding below is a hypothesis until it meets your GSC and GA4 data.
Five domains, three of them competing.
What I could verify from outside on August 4, 2026:
| Property | Role | Observed |
|---|---|---|
| jsberrylaw.com | Main NE/IA site — personal injury, criminal defense, veterans | ~1,300 URLs across 7 sitemaps (453 pages, 681 posts) · WordPress + Elementor · full LegalService/Organization schema · www correctly 301s to apex · HSTS preloaded · Lighthouse mobile lab: performance 38, LCP 20.4s (throttled lab run — field data needs your CrUX/GSC) |
| ptsdlawyers.com | National veterans-disability site since 2021 · hosts the Veteran Led podcast | ~1,000+ URLs · robots.txt fully open, Crawl-delay 10 · LegalService schema present · self-canonicalized · no links observed back to the main site · Lighthouse mobile lab: performance 65, LCP 12.8s |
| vetinjury.com | Newer national veterans site — "America's Veterans' Law Firm" | Homepage title "Home - BERRY LAW" · no meta description · two H1s · no LegalService or Organization schema · duplicates positioning that ptsdlawyers.com/vet-injury/ also carries |
| berrylawfirm.com | Brand domain | 302 (temporary) redirect → jsberrylaw.com |
| berrylaw.com | Brand domain | 302 redirect → http://www.jsberrylaw.com/ — an insecure hop that then needs two more redirects to reach the canonical page |
Sources: curl response headers, raw HTML, sitemap_index.xml on both content sites, Lighthouse 13 mobile emulation (lab, not field), all captured 2026-08-04.
Three sites answering the same veterans-disability questions means Google must pick which Berry Law to trust per query — and links, content investment, and brand signals are being split three ways while competitors like Hill & Ponton concentrate theirs on one domain. In the five-query sample I ran, Berry Law appeared in two result sets; Hill & Ponton appeared in all five.
Diagnose: replace my hypotheses with your data.
Everything in this phase produces a baseline you can hold me to at day 90.
Crawl and index reality check
- Full Screaming Frog + Sitebulb crawls of all five domains; reconcile against GSC index coverage per property.
- Investigate the duplicate-slug cluster in the main site's 681 blog posts — slugs ending in -2, -4, -15-4 are WordPress collision suffixes that usually mean re-imported or duplicated posts. Content-diff them; consolidate or canonicalize.
- Clear dead-but-indexed URLs (example found: /attorney/jamie-bell returns 404 yet still appears in Google) and unify the split /attorney/ vs /attorneys/ bio paths.
Template and content map
- Map every page template on each domain; score thin templates. Example observed: the main site's only veterans practice page (Lincoln) runs ~450 words and refers readers off-domain — while the equivalent depth lives on ptsdlawyers.com.
- Inventory the practice-by-geography programmatic set (/personal-injury-lawyer/{practice}/{state}/{city}/) for genuinely localized vs boilerplate pages. The Omaha page I sampled was well localized — the question is whether all of them are.
Site health, schema, and speed baseline
- Schema inventory per template: the main site and ptsdlawyers.com carry proper LegalService/Organization graphs; vetinjury.com carries none. Standardize on one entity model (Organization + LegalService + Attorney + FAQPage where earned) across whatever domains survive Phase 02.
- Core Web Vitals baseline from CrUX and GSC (field data needs owner access — my throttled lab runs put jsberrylaw.com at LCP 20.4s / performance 38 mobile, which is worth verifying urgently against field numbers).
- Fix the vetinjury.com basics in the first sprint: real title, meta description, single H1, entity schema — no strategic decision needed.
Conversion path audit
- Map every path from SERP to signed consultation: forms, the per-page 888 call-tracking numbers observed on ptsdlawyers.com, chat, and the VA disability calculator. Define one "qualified consult request" conversion in GA4 with consistent events across all properties.
- Baseline conversion rate per template and per traffic source — this becomes the denominator for every Phase 03 test.
Agency alignment
- Review the retained agency's last two quarters of deliverables against this fix register. I currently manage a retained SEO agency at ManipalCigna and spent a year inside one — I know what good agency output looks like from both chairs.
Day-30 deliverables: baseline Looker Studio dashboard (traffic, rankings, conversions, CWV per property), a prioritized fix register, and the data pack Phase 02 needs.
Consolidate: decide the domain question with evidence.
No-regret fixes first — shipped regardless of the big decision
| Fix | Current state (observed) | Target state |
|---|---|---|
| 301 brand domains | berrylaw.com and berrylawfirm.com return 302s | Single-hop 301s direct to https://jsberrylaw.com/ |
| Kill the insecure hop | berrylaw.com → http://www.jsberrylaw.com/ → … | No http:// intermediate, no chain |
| Cross-linking policy | One-directional: main site → ptsdlawyers.com only | Deliberate bidirectional linking (or consolidation makes it moot) |
| Duplicate positioning | ptsdlawyers.com/vet-injury/ mirrors vetinjury.com's pitch | One canonical home per message |
The three-domain question
Should the veterans practice live on one domain, two, or three? Both sides of the real argument:
- For consolidation: topical authority and link equity concentrate instead of splitting three ways; one crawl budget; one entity for Google's knowledge graph and for AI answer engines; every content dollar compounds in one place. My five-query sample suggests the split is costing visibility today.
- Against (or for caution): ptsdlawyers.com is an exact-match domain with years of accumulated links and live rankings — I observed it winning placements the main domain doesn't hold. It may carry its own branded search demand. A migration risks a transient traffic dip on ~1,000 URLs in a practice area where every lost consult is a real veteran not reached.
The three-way split is the least defensible state. Step one is likely folding vetinjury.com into ptsdlawyers.com (newest domain, least equity, duplicated positioning — lowest-risk consolidation with immediate benefit). Whether ptsdlawyers.com itself then folds into the main domain is a bigger call that your query-overlap, link-intersect, branded-demand, and conversion data must make. I have seen the two-domain model work; I have rarely seen the three-domain model win.
The data that decides it
- GSC query overlap between the three veterans properties — where do they cannibalize, where do they genuinely diverge?
- Link-intersect (Ahrefs): how much referring-domain equity is unique to each property?
- Branded search volume for "ptsd lawyers" as a navigational brand vs "berry law".
- Conversion rate and consult quality by property from call tracking and GA4.
Migration methodology — if and where the data says go
- 1:1 redirect map: every URL mapped to its single best equivalent — built from the crawl, GSC top pages, and backlink targets; no blanket redirects to the homepage, ever.
- Template-level mapping rules for programmatic sections, hand-checked for the top 100 pages by traffic and links.
- Phased rollout by section — not big-bang: one content cluster at a time with a two-week observation window per phase, gated on GSC coverage and click data before the next phase ships.
- Monitoring gates: daily GSC coverage + click tracking per migrated cluster, log-file or crawl-stats verification that 301s resolve in one hop, rank tracking on the money terms.
- Rollback plan: the retired domain keeps serving its 301s indefinitely; content is archived, not deleted, for 12 months; each phase is independently reversible before the next begins.
- Risk model, stated in advance: expected transient dip bands per cluster with explicit thresholds that pause the rollout — so "is this normal?" is answered before launch day, not during it.
Convert: a testing roadmap that respects your traffic math.
Prioritized first tests, each with the hypothesis and the honest confidence level:
| Test | Hypothesis | Primary metric | Impact / confidence |
|---|---|---|---|
| Above-fold consult CTA on veterans money pages | Pages currently vary in CTA placement; a consistent above-fold consult block lifts starts | Consult-request starts / session | High / High |
| Multi-step form vs single long form | Leading with the lowest-friction field raises completion on the observed name-email-phone-message forms | Form completion rate | High / Medium |
| Trust-signal proximity | Moving "30,000+ veterans served · $500M+ recovered" adjacent to the CTA outperforms keeping them in separate sections | CTA click-through | Medium / Medium |
| Persistent mobile call button | A sticky tap-to-call with the page's tracking number lifts calls on mobile local-intent pages | Calls / mobile session | High / Medium |
| Offer specificity | "Free case evaluation — a veteran will call you back today" outperforms generic "Free consultation — available 24/7" | Form + call conversions | Medium / Low — needs qualitative validation first |
The truth about significance on legal traffic
Most individual pages here will never reach classical significance: detecting an 8% → 12% conversion lift at 95% confidence and 80% power needs roughly 880 visitors per arm — per test. A veterans city page doesn't have that. So the program uses sequential testing with pre-registered decision rules, template-level pooling (one test across every page sharing a template), micro-conversions (form starts, call taps, scroll-to-form) as leading indicators, and Microsoft Clarity session replay for qualitative evidence where quantitative power runs out. This site runs the same playbook on itself, including the part where I tell you a test may never reach significance.
The AI search opportunity nobody in this niche owns yet.
Sampled August 4, 2026 — where Berry Law surfaced across five queries a veteran would type, or ask an assistant:
| Query | Shape | Berry Law present? |
|---|---|---|
| "VA disability lawyer" | Commercial | Not observed |
| "VA disability appeal lawyer" | Commercial | Not observed |
| "PTSD VA rating lawyer" | Commercial | Yes — ptsdlawyers.com |
| "VA claim denied what to do" | Question | Not observed |
| "can I appeal a denied VA disability claim" | Question | Yes — ptsdlawyers.com |
Method: web-search result sampling, 2026-08-04. Presence/absence within returned result sets — not full-SERP rank positions. The question-shaped queries were dominated by educational sites (Veterans Guide, VA Claims Insider), not law firms.
Those question-shaped queries are exactly what veterans now ask ChatGPT, Gemini, and Google's AI Overviews — and answer engines cite consolidated, well-marked-up entities. At ManipalCigna I took AI citations from 2.9K to 49.9K and cited pages from 1.1K to 11.9K in six months with answer-shaped content, entity consolidation, and citation tracking (Profound, Otterly). The same program here would ride on the Phase 02 work: one authoritative Berry Law entity is easier for an answer engine to cite than three partial ones. This is deliberately the last section of the plan — it compounds the fundamentals; it doesn't replace them.
The questions I'd ask of this plan.
Why are these findings framed as hypotheses instead of conclusions?
Because they were made from outside. I can observe redirects, sitemaps, schema, and titles from raw HTML — but I cannot see Search Console query data, GA4 conversion paths, or call-tracking attribution. An outside observation is a starting point for verification, not a verdict. Certainty from the outside is how migrations go wrong.
Would you really fold an exact-match domain that currently ranks?
Not on instinct, and not in week one. ptsdlawyers.com holds real placements today. The decision needs a query-overlap analysis, a link-intersect, branded-search volume for "PTSD lawyers" as a brand, and conversion rates by property. What I would do early regardless: fix the 302 brand-domain redirects, establish bidirectional linking, and stop the newest domain from duplicating the older one's content — those are no-regret moves under every scenario.
How do you A/B test pages that get a few hundred visits a month?
You mostly don't — not with classical fixed-horizon tests. Low-volume, high-value pages need sequential testing with pre-registered decision rules, micro-conversions as leading indicators, template-level pooling so one test runs across many similar pages, and qualitative evidence from session recordings. I run this exact playbook on this website.
Have you run a full domain migration before?
I have not executed a full cross-domain migration, and I won't claim otherwise. What I have done is the same discipline at template level: canonical and architecture consolidation across thousands of URLs, core-update recovery by isolating affected templates, and 1,000-plus-page programmatic launches with full structured data. A migration is that discipline plus a redirect map, a phased rollout, and a rollback plan — all specified above before anything moves.
What happens in the first two weeks?
Access and baselines: GSC and GA4 for all properties, the call-tracking platform, the CMS, and the agency's deliverables. By day 10 you get a baseline dashboard and a fix register ordered by impact and effort — starting with the redirect plumbing and the vetinjury.com basics, which need no strategic decision to justify.
Thirty minutes. Bring the counterargument.
If any finding above is wrong, your data will show it in the first week — that's the point of the plan. The button opens my calendar — take any 30-minute slot that suits you.