Portfolio Case Study
IndoorClimbingGym logo

IndoorClimbingGym.com

A US-focused directory of indoor climbing gyms

Visit live site

Performance snapshot (as of Feb 24, 2026)

URLS
0
Total URLs
INDEXED
0
Indexed Pages
KEYWORDS
0
Organic Keywords
VIEWS
0K
Impressions

Founder note

“Coverage only works when the template is genuinely useful. Better UI and stronger structure changed this from a page factory into a real asset.”

The Challenge

Climbing is exploding in popularity, but finding a climbing gym while traveling or moving to a new city is surprisingly difficult. Most existing directories were outdated, incomplete, or buried in forum threads. I saw an opportunity to build something comprehensive, fast, and SEO-optimized from day one.

The Approach

01

Data-First Strategy

Instead of building a skeleton and hoping content would come, I started with data. I compiled a comprehensive US dataset of climbing gyms—locations, contact info, facility details, and equipment. This gave me a solid foundation of thousands of pages ready to go at launch.

02

SEO-Optimized Structure

Every page was built with search intent in mind. City pages target "climbing gyms in [city]" queries. Individual gym pages capture "[gym name]" branded searches. The URL structure follows a logical hierarchy: /country/state/city/gym-name.

03

Performance First

Built with Astro for static generation, the site loads in under a second. Core Web Vitals are consistently in the green. Fast load times aren't just good for users—they're a ranking factor.

04

Content That Ranks

Beyond the directory listings, I created informational content around climbing—guides for beginners, equipment recommendations, and city-specific climbing scenes. This topical authority helps the commercial pages rank.

The Results

Four months in, the numbers tell the story:

  • 7.5K URLs generated programmatically from structured data
  • 1.78K pages indexed by Google
  • 4.1K organic keywords ranking in Google
  • ~997 organic visitors per month and growing
  • 531 AI-cited pages showing up in ChatGPT and Perplexity
  • 463K impressions in the last 30 days

What I Learned

Data quality matters more than quantity. Having 7,500 pages means nothing if they're thin or duplicate. I spent more time cleaning and structuring the data than building the site itself.

Internal linking is underrated. Connecting city pages to country pages, nearby gyms to each other—this web of connections helps Google discover and understand the site's structure.

AI search is the next frontier. Getting cited by ChatGPT and Perplexity isn't accidental—it comes from having clear, factual, well-structured content that AI systems can easily parse and reference.

The Tech Stack

Astro React TypeScript Tailwind CSS PostgreSQL Vercel

What's Next

The site continues to grow. I'm adding user-generated features—reviews, photos, gym updates submitted by the community. The goal is to make it not just the biggest climbing gym directory, but the most useful one.

Want results like this?

I can build your directory with the same approach. Let's talk.

View Pricing