Case Study · Massage Therapy Local SEO

Ranking a Massage Therapist #1 in Google Maps Throughout New York City

TL;DR:

A Manhattan massage therapist reached the Google Maps top 3 at 98% to 100% of grid points on five Manhattan search terms, and organic clicks grew 54%. The campaign ran 7 months: competitor audits, new service and location pages, Google Business Profile updates, technical fixes, and a monthly Local Ranking Stack.

Quick Answers AI-ready summary
Client
Massage therapist, Manhattan, New York City
Service
Local SEO and Google Maps rankings
Timeframe
7 months
Maps result
Share of local voice reached 98% to 100% on five Manhattan search terms
Organic result
Clicks up 54%, from 6.09K to 9.4K (last 3 months vs. the same 3 months a year earlier)
Work included
Competitor audits, service and location pages, technical SEO, Google Business Profile, link building, Local Ranking Stack
Measured with
Geogrid rank tracking, Google Search Console, rank tracker
Overview

Client Overview: Massage Therapy SEO

A massage therapist with multiple service areas contacted Chaz Edward Local Marketing to rank in more of the places where customers search, including New York City and Manhattan.

The client had some visibility already. But they did not rank for competitive keywords in several service areas, and their Google Maps listings showed up inconsistently. That cost them customers who were searching for massage in those areas.

We built a custom massage therapy SEO plan with four goals:

  • Improve Google Maps rankings in every target area
  • Hold 3 Pack positions across the New York City metro area
  • Increase organic traffic to the website
  • Generate more qualified leads from local search

Over 7 months we ran the full campaign: keyword research, competitor analysis, location-based content, technical SEO audits, ongoing Google Business Profile work, and link building. Our Local SEO and Google Business Profile service covers each of these steps.

This case study walks through the work step by step, so other service businesses can see what a campaign involves and what it produced.

The Strategy

The campaign ran in six phases, in order. Each phase set up the next one.

  1. 1Research
  2. 2Site build-out
  3. 3On-page and tracking
  4. 4Google Business Profile
  5. 5Check-ins
  6. 6Monthly work
Phase 1 · Research

Set-Up: SEO Strategy & Research for Massage Therapists

Research came first: who ranks, for which searches, and why.

Competitor Listings Audit

We audited the top two competitors in each of the client's target service areas. For each one we recorded how they built their Google Business Profile, which categories they chose, and how complete the profile was. We also reviewed their content structure, keyword use, and backlink profiles.

The audit showed where each competitor was strong and where it was thin. We used those gaps to decide which pages, categories, and links the client needed to rank above them.

Keyword Targeting

We researched keywords for each location and each service the client offers. The list mixed transactional keywords (searchers ready to book) with informational ones (searchers comparing options), plus long-tail searches with specific needs.

We then built a keyword hierarchy that covered high-volume, competitive terms and niche, location-specific terms together. Every page we wrote or revised mapped to one of those keywords.

Campaign Sheet & Content Planner

We built a campaign sheet that listed every task, milestone, and deadline: content, technical fixes, link building, and Google Business Profile work. It kept each month's work on schedule.

A content planner sat alongside it. The planner listed each service page, location page, and blog post, and tied each one to a target keyword.

Topical map workbook for a massage therapist website
Content plannerThe topical map and content planner for the client's website.

Semantic Core & Location Page Audits

We mapped the related terms and phrases on the client's existing pages (the semantic core) and added the ones each page was missing. Each page now covers a wider set of searches and keeps its main keyword.

We then audited every location page for local keywords and searcher intent. The audit found content gaps, and we filled them.

Location page audit for a massage therapist website
AuditLocation page audit for the client's website.

Technical SEO Audit

We audited the website's code and structure for anything that slowed or blocked indexing. We fixed duplicate content, crawl errors, and internal linking problems, and we confirmed the schema markup on key pages was implemented correctly. Google's LocalBusiness structured data guide lists the properties its search results read, and schema.org defines the type.

For mobile usability and page speed, we resized image files, lazy loaded images and video, and removed unneeded code.

Rank Tracker & Geo Grids

We set up a rank tracker to follow keyword positions through the campaign. We also ran geogrid rank tracking, which checks the client's Google Maps position from a grid of points across each service area.

The grids showed where the client ranked for each search term and where it did not. We used that data to choose which areas to target next and to adjust the plan each month.

Google Maps geogrid for the search term medical massage, before and after the campaign
Geogrid: medical massageAverage grid rank improved from 13.75 to 2.93 and share of local voice rose from 0% to 67% between Jan 1 and Jul 16, 2024.
Phase 2 · Site build-out

Initial SEO Tasks to Rank a Massage Therapist Locally

These tasks closed the site's content and structure gaps.

Low-Content Revenue Pages

The audit found several pages that bring in revenue but carried thin content. They lacked detail, keywords, and local relevance. We expanded each one with full service descriptions, local keywords, and customer testimonials, and we answered the questions customers ask most. Rankings and visitor engagement both improved.

Additional Location Pages & Service Pages

We built a new location page for each service area, with local keywords, a Google Maps embed, and a service description written for that area. We also added service pages for treatments the site did not cover, or covered thinly. The new pages let the client rank for a wider set of local and service searches.

Hub Pages, Areas Served Pages, & All Services Pages

Hub pages now group the client's services by category. An Areas Served page lists every location the client covers, and an All Services page links to each individual service page. Together they give visitors and search engines a clear path to every service and location.

Project Gallery, Local Success Stories, and Case Studies

We added a project gallery with before-and-after images, plus local success stories and case studies that describe how the client solved specific customer problems. This content built trust with new customers and gave search engines unique pages that show the client's experience in each location.

About, Business, and Team Pages

We expanded the About, Business, and Team pages with more detail on the company, its history, and its team. Those details build trust with visitors and help the client rank for branded searches. We also added location keywords to each page.

Resource Pages, Checklists, FAQs, and Blogs

We published resource pages, checklists, FAQs, and blog posts that answer common customer questions and target long-tail keywords. The FAQs helped most: short, direct answers to specific questions improved the client's rankings for those searches.

Phase 3 · On-page and tracking

Technical SEO & On-Page Optimization for Massage Therapy Websites

Titles, speed, location pages, and reporting, set up before the monthly work began.

Website Optimization and Site SEO Set-Up

We rewrote meta titles, meta descriptions, and header tags on every major service and location page. Keywords went into the content where they read naturally and matched what searchers wanted. The new titles and descriptions raised click-through rates and rankings on the pages that matter most.

Site Performance Set-Up

Page speed and mobile use were a priority. We compressed images, minified code, and lazy loaded video and image-heavy content. Pages loaded faster, which improved the visitor experience and the rankings.

Location Page Optimization

Each location page carries local keywords, a service description for that area, customer testimonials, and an embedded Google Map. The embed ties the page to the client's map listing. See our location page and city service page build for how we structure these pages.

GA & GSC Set-Up and Looker Studio Integration

We set up Google Analytics and Google Search Console to track organic traffic, bounce rate, and goal completions. We then connected both to Looker Studio, which gave the client custom reports on campaign performance. Those reports showed the client what the work produced, month over month.

Phase 4 · Google Business Profile

Massage Therapist Google Business Profile Optimization

Google ranks local results on relevance, distance, and prominence. Our profile work targets all three, as described in Google's guide to improving your local ranking.

GBP Audits & Competitor Audit

We audited the Google Business Profile for each location. We confirmed the name, address, and phone number (NAP) matched everywhere, checked the business categories, and kept each profile current with new photos, posts, and videos.

We then audited competitor profiles to see how the top-ranking businesses used theirs, and we adjusted the client's profiles to match what ranked.

Phase 5 · Check-ins

Client Check-Ins & Strategic Adjustments

Scheduled reviews kept the client informed and the plan current.

2-Week Client Check-In

Two weeks in, we met the client on Zoom to close out onboarding items and confirm we were aligned. We walked through the keyword targets and the semantic strategy. The call surfaced changes early, so we made them early.

End-of-Month Strategy Sessions

Each month we reviewed progress in a strategy session. We read the Google Analytics, Search Console, and Looker Studio reports along with rank tracking and geogrid data, then adjusted the next month's work to match the results.

Phase 6 · Monthly work

Monthly SEO Tasks

The work that repeated every month of the campaign.

Content Creation and Publishing

We published 4 new pages or blog posts every month. Each one targeted a specific keyword and answered either an informational question or a service search. The steady output ranked the client for more keywords.

Website Optimization and Technical SEO Fixes

Every month we fixed crawl errors and broken links, improved internal linking, and sped up slow pages. We also added custom schema markup to key pages, which changes how those pages appear in search results.

Link Building and Backlink Earning

Each month we earned niche-relevant backlinks from quality sites. Those links raised the site's domain authority and supported rankings across the site. Our local link building service follows the same process. The screenshots show a sample of the sites that linked to the client during the campaign.

Local Ranking Stack

We also ran a Local Ranking Stack: press releases, guest posts, and Google Map embeds that build local relevance and off-page signals. The stack moves rankings for service-level keywords quickly and with precision. It uses five tactics, which we cover in depth in our Stacking Signals case study:

  1. Build keyword relevance across multiple platforms
  2. Silo the related pages, posts, and assets using DAS principles
  3. Use hyper-local targeting to create map signals unique to each target location
  4. Match local targeting to real-time geogrid rankings
  5. Build relevant signals that improve the massage therapist's local rankings

Are You Ready to Rank Locally?

Details and Pricing: Amplify Local SEO

News Article Syndication

We published articles on news websites to raise brand prominence: advertorials for the client's services, owner profile features, and brand announcements. These placements earned brand links from sites including New York Weekly, CEO Weekly, and Influencer Daily.

Domain authority, page authority, and referring domains for three news sites that published the client's articles
News placementsDomain authority, page authority, and referring domains for the news sites that carried the client's articles.

Brand Profiles, Business Listings, Competitor Signal Creation

Each month our off-page team built about 60 signals for the brand: citations, brand profiles, business directory listings, niche and local directories, and copies of the signals top-ranking competitors had. After six months we had used every quality signal available. We force-indexed the new signals, and each month we linked to the most authoritative ones so the signals formed an interlinked set around the client's entity.

Master USA citations tracking sheet listing existing profiles, links, and notes
CitationsMaster USA citations tab: every profile tracked in one sheet.

Patch Posts

After the listings and citations ran out, we moved to locally targeted classified articles on Patch. These posts index well and can carry embeds, NAP, and links. Each article title includes the company name, keyword, and location, the same pattern we use for press releases.

Patch classified posts published for the massage therapist
Patch postsLocally targeted Patch posts.

GBP Posts, Photos, and Videos

We posted updates, photos, and videos to each Google Business Profile on a regular schedule, and we responded to customer reviews. Active profiles earned more visibility in local results and more interaction, and review responses helped the client maintain a strong reputation.

Google Business Profile content planner graphic
GBP content plannerEach location's posts follow a content planner.
Scheduling sheet of published Google Business Profile posts with dates, titles, and keywords
GBP postsPublished GBP posts with dates, titles, and target keywords.
Scheduling sheet of upcoming Google Business Profile posts with dates and titles
GBP post scheduleUpcoming GBP posts scheduled by day and time.

Social Media Posts, YouTube Video, and 30 Second Reels

Each month our social media team produced 12 static posts, one video, and one 30-second reel for the location. Every piece targets one of the campaign's search terms. We linked the posts to the Google Business Profile, earlier GBP posts, and the location and service pages. We also embedded each keyword-relevant post and video in our Geo Maps, which built a siloed set of content around the client. Learn more about our Maps social media service.

The Results

Results: Massage Therapist Ranked #1 in Local SERPs and Google Maps

The geogrids, Search Console data, and keyword reports below show what 7 months of work produced.

The Impact of Chaz Edward Local Marketing's Service

99%
Increase in 3 Pack rankings
54%
Increase in clicks
60%
Increase in impressions
27%
Increase in organic users

Google Business Profile (GBP) Visibility

At the start of the campaign, the client's listings ranked outside the top 10 in many target locations. The grids were mostly red. In many areas the business ranked 15th or lower, so customers searching nearby could not find it.

By the end, most of those locations ranked in the top 3 on Google Maps, and many red and orange areas had turned green. The client now appeared in Google's local pack for the important search terms.

How to read the grids

Each grid reports two measures. AGR is the average grid rank, where lower is better. SoLV is the share of local voice: the share of grid points where the business ranks in the top 3.

Explore the geogrids by search term
Ranks 1 to 3Ranks 4 or lower
Medical massage Jan 1 to Jul 16, 2024
AGRAverage grid rank, lower is better13.752.93
SoLVShare of local voice0%67%

Google Maps geogrid for the search term medical massage, before and after the campaign
Medical massageAverage grid rank 13.75 to 2.93; share of local voice 0% to 67% (Jan 1 to Jul 16, 2024).
Google Maps geogrid for the search term medical massage manhattan, before and after the campaign
Medical massage ManhattanAverage grid rank 4.44 to 1.00; share of local voice 59% to 100% (Feb 19 to Jul 16, 2024).
Google Maps geogrid for the search term massage therapist manhattan, before and after the campaign
Massage therapist ManhattanAverage grid rank 5.88 to 1.04; share of local voice 2% to 99% (Feb 12 to Jul 16, 2024).
Google Maps geogrid for the search term manhattan massage therapy, before and after the campaign
Manhattan massage therapyAverage grid rank 4.00 to 1.41; share of local voice 0% to 98% (Jan 1 to Jul 16, 2024).
Google Maps geogrid for the search term sports massage, before and after the campaign
Sports massageAverage grid rank 12.07 to 2.64; share of local voice 1% to 82% (Jan 1 to Jul 16, 2024).
Google Maps geogrid for the search term manhattan sports massage, before and after the campaign
Manhattan sports massageAverage grid rank 8.75 to 2.12; share of local voice 1% to 100% (Feb 19 to Jul 16, 2024).
Google Maps geogrid for the search term therapeutic massage manhattan, before and after the campaign
Therapeutic massage ManhattanAverage grid rank 13.14 to 1.24; share of local voice 0% to 98% (Feb 19 to Jul 16, 2024).

Organic Traffic Growth

Search Console compares the last three months of the campaign with the same three months a year earlier. Clicks rose from 6.09K to 9.4K, a 54% increase. Impressions rose from 345K to 743K, so the client's pages appeared in more than twice as many searches.

Three changes drove that growth: more target keywords, faster pages, and revised location and service pages.

Clicks+54%
Last 3 months, 20236.09K
Last 3 months, 20249.4K
ImpressionsMore than 2x
Last 3 months, 2023345K
Last 3 months, 2024743K

Keyword Rankings Improvement

Service keywords including "sports massage near me" and "massage therapy Manhattan" moved to position 1, along with many others. Holding top 3 positions across many terms brought more qualified visitors, more online inquiries, and more direct calls, and it put the client ahead of local competitors for those searches.

KeywordFirst trackedLatest
sports massage near me#2#1
manhattan sports massage#1#1
sports massage manhattan#1#1
crossfit massage near me#1#1

Rank tracker, Aug 27, 2024.

Overall SEO Metrics

The number of organic keywords ranking in the top 3 on Google rose sharply. The gain covered a wide range of high-intent service and location terms, not a handful. Traffic kept climbing as rankings improved, and the added visibility produced more qualified leads and inquiries.

Organic keyword position history chart grouped by ranking range, with keyword counts rising steeply
Keyword growthOrganic keyword position history, grouped by ranking range.
Analysis

Conclusion

Over 7 months, Chaz Edward Local Marketing took a massage therapist from inconsistent map visibility to top 3 rankings across multiple service areas. The campaign combined competitor analysis, content, Google Business Profile work, technical SEO, and link building. The result was higher Google Maps rankings, more organic traffic, and more leads.

Takeaway: We worked on the website, the Google Business Profile, and off-page signals at the same time, and each month's geogrid data decided what we did next.

Related case study: Medical and Healthcare SEO Strategy that Ranked 170 Medical Clinics

FAQ

Frequently Asked Questions

Short answers to the questions people ask most about this campaign.

How long did it take to reach the top 3 on Google Maps?

The campaign ran for 7 months. By the Jul 16, 2024 geogrid check, the client ranked in the top 3 across 98% to 100% of grid points for five Manhattan search terms, up from 0% to 59% at the first check.

What do AGR and SoLV mean on a geogrid?

AGR is the average grid rank, where lower is better. SoLV is the share of local voice: the share of grid points where the business ranks in the top 3. For "therapeutic massage Manhattan," AGR dropped from 13.14 to 1.24 and SoLV rose from 0% to 98%.

What did the massage therapist SEO campaign include?

Competitor audits, keyword research, new location and service pages, technical SEO fixes, Google Business Profile work, link building, and a Local Ranking Stack. Monthly strategy sessions used rank tracking and geogrid data to set the next month's work.

How much did organic traffic grow?

Search Console shows clicks up 54%, from 6.09K to 9.4K, and impressions up from 345K to 743K. The comparison is the last three months of the campaign against the same three months a year earlier.

Why does Google Business Profile work matter for local rankings?

Google ranks local results on relevance, distance, and prominence, and our profile work targets all three. We matched the name, address, and phone number everywhere, checked categories, posted updates, photos, and videos on a schedule, and responded to reviews. Google's local ranking guide explains the three factors.

What is a Local Ranking Stack?

A Local Ranking Stack is a set of press releases, guest posts, and Google Map embeds that build local relevance and off-page signals around a business. It targets specific service keywords and matches local targeting to live geogrid rankings. Our Stacking Signals case study covers it in depth.

10,000+ CLIENTS RANKED USING CHAZ EDWARD'S LOCAL SEO FRAMEWORK

Are You an Agency in Search of White Label Local SEO?

We run this process for your clients, done for you, through white label and enterprise fulfillment. See how the white label program works.

Access the Agency Shop See White Label SEO Services
Want to Rank at the Top of Local Search?

Book a complimentary Zoom strategy session with Chaz. We will review where you rank on Google Maps and in organic results today, and plan your next steps.

Book a Strategy Call See Local SEO Services

Before & after

See A Result From A Business Like Yours

Pick your industry, then drag the slider to compare two real Google Maps ranking scans.

Roofing · San Antonio, TX

27%→80%

Share of Local Visibility

6.79→2.28

Average Grid Rank

Mar 6, 2026 to Mar 10, 2026
Search: “roofing company near me”

Before · Mar 6, 2026After · Mar 10, 2026
After: Google Maps geogrid for 'roofing company near me' on March 10, 2026. Average grid rank 2.28, share of local visibility 80%. Before: Google Maps geogrid for 'roofing company near me' on March 6, 2026. Average grid rank 6.79, share of local visibility 27%.

Local SEO Audit & Strategy Call

After you complete this form you’ll be prompted to schedule a Complimentary Zoom Strategy Session with Chaz