The Problem: A Great Firm That Google Couldn't Find
Martinez & Associates (name changed for privacy) had been practicing personal injury law in Coral Gables for 11 years. Three attorneys, a solid track record, and over $30 million in settlements recovered for clients. Their referral network kept them busy — but not growing.
When the founding partner called me, the situation was familiar: "We spend $6,000 a month on Google Ads and get maybe 3 real leads. Our website looks like it was built in 2015 because it was. We know we need SEO but every agency we talked to wanted $5,000/month with a 12-month contract and no guarantees."
I pulled up their site and ran a quick audit. The numbers told the story:
🚨 Initial Audit Results
- Lighthouse Performance28/100
- Lighthouse SEO54/100
- Mobile Usability Errors23 issues
- Page Load (Mobile)9.2 seconds
- Schema MarkupNone
- Google Business ProfileUnclaimed
- Ranking: "personal injury lawyer Miami"Page 4 (#38)
Their website was a WordPress theme from 2015 running 47 plugins, loading jQuery three times, and serving uncompressed 4MB hero images. The homepage had one H1 that said "Welcome to Our Firm" — not a single mention of Miami, personal injury, or any practice area in the heading structure.
But here's what made this project exciting: the firm had genuine authority. Eleven years of real cases, real settlements, and real expertise. They just needed a website that communicated that to Google.
The Strategy: Technical Foundation First, Content Second
Most SEO agencies start with content and backlinks. That's backwards for a site this broken. You can write the best article in the world — if it loads in 9 seconds on mobile, Google won't rank it. Period.
Here's the phased approach I used:
Phase 1: Technical Rebuild (Weeks 1-3)
I rebuilt the entire site from scratch using Astro with static pre-rendering. Why not keep WordPress? Because for a law firm that updates content monthly, a static site generator gives you:
- Sub-second load times — no database queries, no PHP overhead
- Perfect Core Web Vitals — LCP under 1.2s, CLS of 0, FID under 50ms
- Zero security vulnerabilities — no WordPress plugins to exploit
- $0/month hosting — deployed on Netlify's free tier (was paying $89/month for managed WordPress)
The technical checklist was extensive:
✅ Technical SEO Overhaul
- ✅ Semantic HTML5 with proper heading hierarchy (H1 → H2 → H3)
- ✅ Schema markup: LegalService, Attorney, LocalBusiness, FAQPage, BreadcrumbList
- ✅ Open Graph + Twitter Cards on every page
- ✅ Responsive images: WebP with AVIF fallback, lazy loading, explicit dimensions
- ✅ XML sitemap with lastmod dates + hreflang tags
- ✅ Robots.txt optimized, canonical URLs on every page
- ✅ Internal linking architecture: hub-and-spoke model
- ✅ 301 redirects from all old WordPress URLs
- ✅ Structured data testing: zero errors, zero warnings
Phase 2: Google Business Profile + Local Citations (Weeks 2-4)
This was the single biggest quick win. Their Google Business Profile was unclaimed. Eleven years in business and nobody had ever verified their listing.
Here's what I did:
- Claimed and verified the GBP with correct NAP (Name, Address, Phone)
- Added 15 practice area categories — primary: "Personal Injury Attorney"
- Uploaded 40+ photos — office, team, Coral Gables neighborhood, settlement wins
- Created GBP posts weekly — case results, legal tips, community involvement
- Built 85 local citations — Avvo, FindLaw, Justia, SuperLawyers, Yelp, local chamber
- Launched a review campaign — went from 4 reviews to 47 in 3 months (4.9 stars)
Within 3 weeks of GBP optimization alone, they appeared in the local 3-pack for "personal injury lawyer Coral Gables" — a term they'd never ranked for.
Phase 3: Content Strategy (Weeks 3-8)
Legal SEO content is a minefield. Most law firm blogs are either useless ("5 Things to Do After a Car Accident" copied from 10,000 other sites) or so dense with legal jargon that nobody reads them.
I took a different approach: hyper-local content with real data.
Instead of generic articles, every piece of content was tied to Miami specifically:
📝 Content Pillars Created
- "Car Accident Lawyer in Miami: What Your Case Is Actually Worth"
Used Florida DOT crash data for Miami-Dade County, average settlement ranges by injury type, and specific intersection statistics. This page alone ranks #3 for "car accident lawyer Miami." - "Slip and Fall Claims in Miami: Premises Liability Under Florida's New Law"
Addressed the 2024 tort reform changes that reduced the statute of limitations. Captured featured snippet for "Florida slip and fall law changes." - "Miami-Dade Rideshare Accident Claims: Uber & Lyft Insurance Explained"
Targeted a growing niche. Miami has the highest rideshare accident rate in Florida — this page converts at 4.2%. - "Wrongful Death in Florida: Navigating the Claims Process"
Sensitive topic handled with expertise and empathy. Includes specific Florida statutes and timeline requirements. - Practice area pages for 8 specializations
Each with unique content, local statistics, FAQ schema, and clear CTAs. Not cookie-cutter templates.
Every page included:
- Article + FAQPage structured data
- Internal links to related practice areas and other articles
- Embedded consultation booking (Calendly, no page redirect)
- Social proof: settlement amounts, years of experience, review count
- Click-to-call button fixed on mobile (this alone increased calls 40%)
Phase 4: Conversion Optimization (Weeks 6-10)
Traffic without conversions is vanity. Here's what I built to turn visitors into consultations:
- Smart intake forms — multi-step (practice area → injury details → contact), not a wall of fields. Completion rate: 68% vs. industry average of 22%
- Live chat with automation — qualifying questions during business hours, AI chatbot after hours that books consultations directly
- Exit-intent on practice area pages — "Before you go: free case evaluation in 24 hours" captured 12% of abandoning visitors
- Speed dial on mobile — sticky CTA that follows scroll, showing "Call Now - Free Consultation"
The Results: Month by Month
Month 1: Foundation
New site launched. GBP claimed and optimized. Lighthouse: Performance 97, SEO 100, Accessibility 100. Organic traffic: +34% (from an admittedly low baseline of ~200 sessions/month).
Month 2: Traction
First content pieces indexed. "Personal injury lawyer Coral Gables" → local 3-pack. Organic traffic: 580 sessions (+190%). First 8 leads from organic search. Google Ads spend reduced by $2,000/month.
Month 3: Acceleration
"Car accident lawyer Miami" hit page 1 (#7). Content pages earning featured snippets. Organic traffic: 1,240 sessions. 22 qualified leads. Two signed cases worth $180K+ combined.
Month 4: Dominance
"Personal injury lawyer Miami" → #2 organic, local 3-pack position #1. Organic traffic: 2,100 sessions. 31 qualified leads (285% increase from pre-SEO baseline of 8/month). Pipeline value: $412K. Google Ads paused entirely.
Why This Worked: Lessons for Miami Law Firms
1. Technical SEO Is Non-Negotiable
Most law firm websites are WordPress disasters. Slow, bloated, insecure. When you rebuild on a modern stack with perfect Core Web Vitals, you immediately leapfrog 80% of competitors who are still loading jQuery UI and 47 plugins.
2. Google Business Profile Is Free Money
An unclaimed GBP is like leaving $100 bills on the sidewalk. For local service businesses — especially attorneys — the local 3-pack drives more calls than organic results. Claiming, optimizing, and actively managing your GBP is the single highest-ROI activity in local SEO.
3. Hyper-Local Content Beats Generic Content Every Time
Google's algorithm increasingly rewards content that demonstrates genuine local expertise. Writing about "Miami-Dade County crash statistics" and "Florida tort reform 2024" signals real authority in a way that "5 Tips After a Car Accident" never will.
4. Small Firms Have a Speed Advantage
Large firms have marketing committees, brand guidelines, and approval processes that take weeks. A 3-attorney firm can approve a new page in an afternoon. We used that speed to publish timely content around Florida legal changes weeks before large competitors.
The Cost Breakdown: SEO vs. Google Ads
❌ Before (Google Ads Only)
- Ad spend: $6,000/month
- Leads: ~3/month
- Cost per lead: $2,000
- Signed cases: ~0.5/month
- Cost per client: $12,000
✅ After (SEO + New Site)
- Monthly SEO: $0 ongoing*
- Leads: 31/month
- Cost per lead: ~$0
- Signed cases: ~5/month
- Cost per client: ~$0*
*After initial project investment. The site and SEO foundation were a one-time project cost, not an ongoing retainer. Content updates are handled in-house with training I provided.
What I'd Do Differently
Transparency matters. Two things I'd change if I did this again:
- Start the review campaign earlier. We waited until month 2 to ask clients for Google reviews. Should have been day 1. Reviews compound — the sooner you start, the faster you build social proof that feeds the ranking algorithm.
- Build video content from the start. Attorney introduction videos and case type explainers would have boosted GBP engagement and time-on-site. We're adding these now, but they should have been part of the initial launch.
Ready to Get These Results for Your Firm?
If you're a Miami attorney spending thousands on Google Ads with mediocre results, your website and SEO are likely the bottleneck. A fast, technically optimized site with genuine local content will outperform paid ads every time — and the results compound month over month.
Free SEO Audit for Miami Law Firms
I'll analyze your site, competitors, and local rankings — and show you exactly what's costing you clients.
Get Your Free Audit →Isaac Benyakar
Miami-based SEO expert and web developer specializing in high-performance websites that rank. I help local businesses outrank competitors with bigger budgets through technical excellence and strategic content. Let's talk about your project →