Illustrative case study

A fictional business. The figures are a modelled scenario, not a client result.

SEO case studyLocal9 months

Ridgeback Climbing

Bouldering gym pair · Vancouver

Two bouldering gyms that went from hidden gem to the top of every Vancouver map search

+152%new-member sign-ups from search

Read it like a route: start holds at the top of the page, the grades get harder as you go, and the results are waiting at the top-out.

Start climbing
V0V1V2V3V4V5V6V7START · MONTH 1TOP-OUT · MONTH 9
V0Grade 0 / 7

The problem

Big-box gyms dominated 'climbing gym Vancouver', and Ridgeback's class schedule lived inside a third-party booking widget Google couldn't read.

Ridgeback runs two community bouldering gyms, one off Main Street and one in East Van. Members loved them; Google barely knew they existed. Two national chains with ten times the floor space held the map pack for almost every climbing search in Vancouver.

Worse, the thing a first-timer actually searches for, an intro class on a weeknight, was locked inside a booking widget. To a crawler, Ridgeback had no classes, no times and no prices.

Month 0 · “bouldering vancouver” · map pack (modelled)
  1. ABig-box Climbing Co.4.3 ★ · Gym · Open
  2. BSummit Fitness Chain4.1 ★ · Gym · Open 24 hours
  3. CDowntown Rec Centre4.0 ★ · Recreation centre

Ridgeback: not in the three-pack; first seen at #9 below the map.

V1Grade 1 / 7

The audit

Before setting a route you read the wall. The audit graded each problem by how hard it would be to send, the same way a setter grades a boulder.

  • TechnicalGraded V5

    The timetable was invisible

    All 31 weekly classes rendered inside a third-party booking iframe. Google indexed zero class pages, zero times and zero prices; the only crawlable copy was 'Book now'.

  • LocalGraded V4

    Two gyms, one blurry listing

    Main St and East Van shared a primary category of 'Gym', one profile was set to service-area with no address, and NAP details disagreed across 14 of 41 citations.

  • ContentGraded V3

    No page for the first-timer

    Searches like 'intro to bouldering class' and 'kids climbing Vancouver' landed on a generic homepage. Route resets and comps were announced on Instagram only.

  • AuthorityGraded V3

    Four local links vs. sixty

    Ridgeback had 4 referring domains from Vancouver sites. The two big-box chains averaged 63, mostly from neighbourhood guides, schools and outdoor clubs.

V2Grade 2 / 7

The plan

Four moves, set in order, built on our Local plan. Each one unlocks the next: the profiles earn the clicks, the pages give them somewhere to land, the markup and links make it all stick.

  1. Move 1

    Google Business Profile

    Split, verify, fill every field

    • Primary category set to 'Rock climbing gym' on both profiles, 'Gym' moved to secondary
    • Storefront addresses restored; hours, parking, accessibility and day-pass products added
    • Weekly Posts for each route reset with fresh-hold photos, 2 per location
  2. Move 2

    Event schema

    Every class and comp became an Event

    • Server-rendered Event JSON-LD for classes, youth camps and the monthly bouldering league
    • eventStatus, offers and location filled per gym, validated in Rich Results Test
    • Past events retire automatically so the markup never goes stale
  3. Move 3

    Local link building

    Earned links from the climbing community

    • Route-setting open nights pitched to neighbourhood blogs and the city's what's-on guides
    • School PE and university club partnerships with a listed partner page
    • Sponsorship of a local crag clean-up, covered by two outdoor outlets
  4. Move 4

    Class booking pages

    The widget moved below crawlable HTML

    • One indexable page per class type per gym: what you'll learn, who it's for, price, times
    • Booking widget kept, but loaded after the static timetable and FAQ
    • Internal links from location pages and GBP 'Book' buttons to the matching class
V3Grade 3 / 7

The beta

The beta, move by move: 9 months, one hold at a time.

  1. Month 1 · V0

    Read the route

    Crawl, citation and GBP audit across both gyms; booking widget traffic mapped in analytics.

  2. Month 2 · V0

    Split the profiles

    Categories, addresses and hours fixed; 14 inconsistent citations corrected.

  3. Month 3 · V1

    Pages out of the iframe

    Eight class booking pages shipped per gym with static timetables and FAQs.

  4. Month 4 · V2

    Events marked up

    Event schema live for classes and comps; first rich results appear in week 15.

  5. Month 5 · V3

    Open nights

    Route-setting evenings pitched locally; 12 new links land, school partnerships signed.

  6. Month 6 · V4

    Map pack crux

    Both gyms break into the top three for 'bouldering Vancouver' in their neighbourhoods.

  7. Month 7 · V5

    Youth season

    Kids camp and after-school pages launched ahead of the autumn booking wave.

  8. Month 8 · V6

    Crag clean-up

    Sponsorship coverage adds outdoor-community links; league pages earn event snippets.

  9. Month 9 · V7

    Top-out

    Map-pack share at 64%; review velocity and Posts handed to the front-desk team.

V4Grade 4 / 7

The crux

The crux was the map pack. Share of tracked map searches with a Ridgeback gym in the three-pack: 22% → 64%.
0%25%50%75%M0M1M2M3M4M5M6M7M8M964%22%
Month 9 · “bouldering vancouver” · map pack (modelled)
  1. ARidgeback Climbing Main St4.9 ★ · Rock climbing gym · Open
  2. BRidgeback Climbing East Van4.8 ★ · Rock climbing gym · Intro class tonight
  3. CBig-box Climbing Co.4.3 ★ · Gym · Open
V5Grade 5 / 7

The send

Visibility only counts if people walk in. New-member sign-ups from search went +152%, and intro class bookings +174%.

M041M1M2M3M4M5M6M7M8M9103
New members from search / monthIntro class bookings / month

Local backlinks

38

Event rich results

26

V6Grade 6 / 7

Chalked

Every result, chalked onto a hold. Pick one to read the beta behind the number.

Hold 1 of 4 · beta

22% → 64%

Map-pack share

Share of tracked 'climbing' and 'bouldering' map searches where a Ridgeback gym appears in the local three-pack, across a 49-point Vancouver grid.

Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.

Tracked keywords · best Ridgeback position · month 0 vs. month 9
KeywordBeforeAfterWhere
bouldering vancouver9#1Map pack
climbing gym vancouver14#3Map pack
intro to bouldering class vancouver—#1Class page
bouldering gym near me (Mount Pleasant)11#2Map pack
adult beginner climbing lessons23#3Class page
kids climbing camp vancouver—#2Event result
climbing gym day pass vancouver18#4GBP product
bouldering league vancouver—#1Event result

Top-out

V7 · Top-out · both hands on the lip

+152%

new-member sign-ups from search

Get a plan like this

Map pack, class pages, event markup and local links for venues that people book, built on our Local plan.

← Back to all case studies