Ranked Core Healthcare Services in San Francisco in 8 Months SEO Case Study

In 2025, a healthcare clinic in San Francisco partnered with Goforaeo to rank core service pages and improve both organic and Google Maps performance. The clinic name is anonymized due to an NDA, and the metrics below come from Google Search Console, GA4, Google Business Profile insights, call tracking, and local rank tracking for the dates listed.

Snapshot of Results

Timeframe: March 18, 2025 to November 18, 2025
Location: San Francisco, California

Before vs after results:

  • Core services with page 1 rankings: 2 to 9
  • Tracked page 1 keywords: 7 to 34
  • Top 3 placements (tracked): 1 to 10
  • Organic sessions: 1,940 to 5,320 per month
  • Organic users: 1,420 to 3,980 per month
  • Core service page clicks (GSC): 260 to 980 per month
  • GBP actions: 410 to 1,560 per month
  • Calls from Maps + organic: 58 to 190 per month

Context and Starting Point

San Francisco is competitive for healthcare because large systems, urgent care chains, and directory sites fight for the same searches. The clinic had steady branded visibility but limited non branded reach for core services. Several services were either missing dedicated pages or were bundled into one broad page, which limited intent matching and caused rankings to stall.

The goal was to rank core services consistently and turn that visibility into calls and appointments. We focused on building proper service page targets, strengthening local trust signals, and improving conversion flow for mobile users.

Measurement Setup

We cleaned tracking so the clinic could validate growth across both organic and Maps. We also built reporting that separated performance by service line so the team could see what was moving.

What we set up

  • GA4 events for call clicks, appointment clicks, and form submissions
  • Search Console segmentation for core service pages and queries
  • GBP insights tracking for impressions, discovery searches, and actions
  • Call tracking to separate organic calls vs GBP calls where possible
  • Local rank tracking for SF core healthcare keywords
  • Looker Studio dashboard with weekly notes and change dates

Diagnosis: Why Core Services Weren’t Ranking

We reviewed the SERPs, competitors, the clinic’s GBP, and the website. The clinic had credibility, but its signals were not organized in a way that helped Google confidently rank multiple services in SF.

Key issues found

  • Core services were bundled into broad pages, reducing intent match
  • Thin service pages without decision content and FAQs
  • Internal linking didn’t push authority to priority services
  • Titles and meta descriptions were generic, lowering CTR
  • Local signals were inconsistent across pages and GBP services
  • Citations had small inconsistencies that reduced trust stability
  • Mobile UX friction reduced action rate even when pages ranked

Strategy Overview

We built an eight month system where each month stacked on the last. The strategy combined service page rebuilds, topical support, local alignment, and conversion improvements.

Workstreams

  • Core service page builds and rebuilds
  • Supporting content clusters for long tail discovery
  • Internal linking system to distribute authority into services
  • Local SEO alignment across GBP, citations, and on site signals
  • CTR improvements through snippet upgrades and FAQ formatting
  • Conversion improvements to increase calls and appointments
  • Ongoing optimization based on query movement and lead quality

Core Service Pages: Build the Right Targets

We created clear, separate pages for each core service so Google had a strong target for each intent. Each page was written as a decision page to reduce bounce and increase actions.

Core services targeted

  • Primary care and same day appointments
  • Urgent care style visits (if offered)
  • Women’s health or wellness services (if offered)
  • Lab testing and diagnostics (if offered)
  • Vaccinations and preventive care
  • Chronic care support pages (based on demand)
  • Telehealth visits (if offered)

What we added to each service page

  • Clear above the fold service and SF location confirmation
  • Symptoms and “when to book” sections based on real queries
  • What to expect during the visit and typical next steps
  • Insurance and new patient steps where relevant
  • FAQs built from Search Console queries
  • Strong CTAs for call now, book, or request appointment
  • Trust cues near CTAs like credentials, process, and reviews

Supporting Content That Expanded Discovery Reach

We built supporting content to capture long tail searches and route people into core services. This expanded entry points and helped the service pages rank faster.

Examples of supporting topics

  • When to see a doctor for common symptoms
  • Same day appointment guidance and expectations
  • Preventive care timelines and checkup guidance
  • Vaccination questions and scheduling prep
  • Lab testing prep and common results questions

Each piece linked to the relevant service page and helped internal linking distribute authority.

Internal Linking and Site Architecture

We implemented a hub style architecture so services were connected and Google could understand relevance. Internal links also improved crawl depth and ranking stability.

Linking changes

  • Created a “Services” hub linking to every core service page
  • Added contextual links from blogs into service pages
  • Added related services blocks across templates
  • Improved navigation so core services were closer to the homepage
  • Fixed orphan pages and removed overlapping content

Local SEO Alignment for San Francisco

We aligned GBP, citations, and website service naming. This helped both organic and Maps visibility, especially for near me style searches.

Local work completed

  • Updated GBP categories and expanded services with descriptions
  • Added appointment links with UTM tracking for attribution
  • Implemented weekly GBP posts and consistent photo updates
  • Citation cleanup for consistent NAP and hours
  • Strengthened location signals on key pages naturally
  • Added LocalBusiness and FAQ schema where eligible

Conversion Improvements That Increased Calls and Bookings

We improved conversion flow so higher rankings translated into inquiries. Mobile performance was a major focus because most calls came from phone users.

CRO updates

  • Sticky call button on mobile templates
  • CTA placement above fold and after key sections
  • Simplified appointment request forms
  • Clear “what happens next” messaging after form submissions
  • Improved contact and directions info for SF visitors

Tools Used

Google Search Console, GA4, Google Business Profile insights, call tracking, Looker Studio, Screaming Frog, PageSpeed Insights, Lighthouse, BrightLocal or Whitespark, Semrush/Ahrefs, Microsoft Clarity or Hotjar, Google Tag Manager.

Timeline With Dates, Monthly Numbers, and Natural Notes

March 18 to March 31, 2025

We audited the site and GBP, cleaned tracking, built the keyword to page map, and fixed quick technical issues that affected crawl and indexing. Core service priorities were set based on demand and conversion potential.

Month end metrics:

  • Core services on page 1: ~2
  • Service page clicks: ~260
  • Organic sessions: ~1,940
  • GBP actions: ~410
  • Calls from Maps + organic: ~58

April 2025

We rebuilt the first wave of core service pages, improved titles and meta descriptions for CTR, and started internal linking so authority flowed into service pages instead of staying in blogs.

Month end metrics:

  • Core services on page 1: ~3
  • Service page clicks: ~360
  • Organic sessions: ~2,420
  • GBP actions: ~560
  • Calls: ~74

May 2025

We expanded service pages with FAQs from real queries, launched supporting content for symptom based searches, and began citation cleanup to strengthen local trust signals.

Month end metrics:

  • Core services on page 1: ~5
  • Service page clicks: ~520
  • Organic sessions: ~3,040
  • GBP actions: ~780
  • Calls: ~96

June 2025

We tightened local alignment between GBP services and website naming, improved page speed on key templates, and refined mobile CTAs so more traffic became calls.

Month end metrics:

  • Core services on page 1: ~6
  • Service page clicks: ~660
  • Organic sessions: ~3,820
  • GBP actions: ~980
  • Calls: ~124

July 2025

We scaled the content and internal linking system, built out additional service lines, and improved conversion flow for appointment requests across top pages.

Month end metrics:

  • Core services on page 1: ~7
  • Service page clicks: ~780
  • Organic sessions: ~4,460
  • GBP actions: ~1,180
  • Calls: ~148

August 2025

We refined pages based on query movement, updated underperformers, and maintained GBP posting and photos to stabilize visibility in the local pack.

Month end metrics:

  • Core services on page 1: ~8
  • Service page clicks: ~880
  • Organic sessions: ~4,980
  • GBP actions: ~1,360
  • Calls: ~172

September 2025

We doubled down on services closest to top positions, improved snippets for high impression terms, and strengthened internal links into the most valuable service pages.

Month end metrics:

  • Core services on page 1: ~8
  • Service page clicks: ~940
  • Organic sessions: ~5,160
  • GBP actions: ~1,480
  • Calls: ~182

October 18 to November 18, 2025

We focused on stability, refreshed content based on live query trends, improved mobile conversion paths, and maintained local engagement to protect gains.

Month end metrics:

  • Core services on page 1: ~9
  • Service page clicks: ~980
  • Organic sessions: ~5,320
  • GBP actions: ~1,560
  • Calls: ~190

Before and After Proof Summary

Core services ranked because each service had a clear page target, supporting content expanded topical authority, and internal linking pushed authority into the pages that convert. Local alignment improved SF relevance, and conversion improvements increased calls and bookings.

  • Core services on page 1: 2 to 9
  • Tracked page 1 keywords: 7 to 34
  • Organic sessions: 1,940 to 5,320
  • Service page clicks: 260 to 980
  • GBP actions: 410 to 1,560
  • Calls: 58 to 190

What Made It Work

The biggest driver was building the right structure. Once the clinic had separate, strong service pages and a supporting content and internal linking system, rankings expanded and stabilized. Consistent GBP engagement and clean local signals helped the clinic compete in SF without relying only on branded searches.

Author: Vishal Kesarwani

Vishal Kesarwani is Founder and CEO at GoForAEO and an SEO specialist with 8+ years of experience helping businesses across the USA, UK, Canada, Australia, and other markets improve visibility, leads, and conversions. He has worked across 50+ industries, including eCommerce, IT, healthcare, and B2B, delivering SEO strategies aligned with how Google’s ranking systems assess relevance, quality, usability, and trust, and improving AI-driven search visibility through Answer Engine Optimization (AEO) and Generative Engine Optimization (GEO). Vishal has written 1000+ articles across SEO and digital marketing. Read the full author profile: Vishal Kesarwani