The Challenge
Alpine Lakes Lodge is a 54-acre lakefront retreat and event venue in Easton, Washington, about eighty minutes east of Seattle near Snoqualmie Pass. The property has a lot going on: rustic cabins, modern tiny homes, a 14-person log lodge, RV sites with hookups, tent camping, four stocked fishing lakes, kayaking and water sports, hiking, farm animals, and a full event-venue side that hosts weddings, corporate retreats, family reunions, and group celebrations. It is one of the only private lakefront venues in the Snoqualmie Pass area, and the kind of property where website visibility translates directly into bookings and event inquiries.
The existing website had a problem common to multi-revenue-stream properties: it ranked for the literal brand name and almost nothing else. Anyone searching "Alpine Lakes Lodge" found it. Anyone searching "cabin rental near Snoqualmie Pass," "lakefront wedding venue Washington," "tiny home rental Easton WA," or "corporate retreat near Seattle" never saw it. The site was technically there, but it was invisible to the discovery searches that bring new guests through the door.
The business needed a rebuild that would surface the property for those local-discovery and category searches — across all of its accommodation types and all of its event use cases — and that would convert that visibility into real bookings and real event inquiries.
What We Built
We rebuilt alpinelakeslodge.com from scratch using our SEO-first methodology, with adjustments specific to a multi-product destination property:
Technical Foundation
- Next.js framework with server-side rendering for fast mobile page loads
- Core Web Vitals optimized — LCP under 2.5 seconds on mobile, zero cumulative layout shift
- Mobile-first responsive design — most retreat and venue research happens on a phone
- Vercel deployment with global CDN so the site is fast from anywhere, not just the Pacific Northwest
SEO Architecture
- Dedicated landing pages for each accommodation type — cabins, tiny homes, the 14-person log lodge, RV sites, and tent camping each get their own URL, their own meta tags, and their own internal linking footprint, instead of living as anchors on a single "rentals" page
- Dedicated landing pages for each event use case — weddings, corporate retreats, family reunions, and group celebrations each have their own page targeting the actual searches each customer type uses
- JSON-LD structured data — LodgingBusiness and LocalBusiness schema with full NAP, geographic signals for Easton and the Snoqualmie Pass region, plus Event schema for the wedding and venue pages
- Optimized meta tags — unique titles and descriptions for every page, written around real search intent rather than brand-first marketing copy
- Internal linking strategy that connects accommodations, activities, events, and the blog naturally — so when Google crawls the wedding venue page it understands the property's amenities, and when it crawls the cabins page it understands the activities included
- XML sitemap submitted to Google Search Console and Bing Webmaster Tools on day one
Content & Conversion
- Activities pages for fishing, kayaking, hiking, and the farm animals — the searches travelers use when they are deciding between properties
- Event venue pages for weddings, corporate retreats, and reunions, each with capacity details, what is included, and a clear inquiry path
- Gallery and amenity content that gives Google enough context to understand the property without sending bots through a JavaScript-heavy slideshow
- Clear booking CTAs throughout the site — phone, contact form, and booking system links accessible from every page
- About and policies pages that close the trust loop for guests doing pre-booking research
A Note on the September Impressions Anomaly — Read This First
If you look at the chart above, you will see impressions explode at the end of August, peak near 7,800 in a single day on September 8, and then collapse back. That spike is real data and we have left every row of it in the chart. It is also excluded from every average in this case study, and you should know why before you read the numbers.
Between August 29 and September 17 — 20 days — the site averaged 2,345 impressions per day against a normal run rate of about 249. Average position over the same window dropped to 4.3, briefly hitting 1.5. Those look like spectacular numbers until you check the clicks: they averaged 11.9 per day, which is lower than August. Click-through rate fell from about 7.1% to 0.51%.
At the last refresh we said we could not identify the cause and would not invent one. We can now name it. Pulling live query-level data from Search Console for the 28 days ending October 4 shows a single search term — "best places to camp near seattle" — with 36,160 impressions at average position 2.5 and zero clicks. That one query accounts for about 83% of every impression the site recorded in that entire 28-day window, and none of its traffic. It is a broad, high-volume query that Alpine Lakes Lodge does not actually answer: the property is a private lakefront resort, not a campground near Seattle.
Impressions at the top of page one that nobody clicks is not demand. It did not last, either: by September 18 impressions were back to roughly 314 per day, and across the 16 days from September 18 to October 3 that same query logged just 249 impressions — still zero clicks, but a 99% drop in volume.
So the headline figures below cover the 164 days of representative data out of 184 calendar days since launch. Had we included the anomaly, this case study could have claimed "+881% impressions" instead of +382%. That number would have been technically calculable and completely misleading.
The Results
Comparing the 11 days of pre-launch data against the 164 days of representative post-launch data (April 3 – October 3, excluding August 29 – September 17), the numbers from Google Search Console tell a clear story:
Search Visibility
| Metric | Before (avg/day) | After (avg/day) | Change |
|---|---|---|---|
| Google Impressions | 46.2/day | 222.5/day | +382% |
| Google Clicks | 3.0/day | 14.8/day | +392% |
| Average Position | 15.7 | 10.7 | 32% closer to page 1 |
| Click-Through Rate | 6.5% | 6.6% | held steady |
That last row matters more than it looks. Growing impressions fivefold usually dilutes click-through rate, because the new impressions come from queries that match the site less well. Alpine Lakes Lodge grew impressions 4.8x and converted them at the same rate as before — the new visibility was genuinely relevant.
Traffic Totals
| Metric | Before (11 days) | After (164 days) |
|---|---|---|
| Impressions | 508 | 36,483 |
| Clicks | 33 | 2,419 |
At the old site's run rate, 164 days would have produced roughly 490 clicks and 7,600 impressions. The new site delivered 2,419 and 36,483.
Month by Month
The averages hide the shape, so here it is month by month. The anomaly window is broken out separately rather than folded into August and September:
| Period | Impressions/day | Clicks/day | Position |
|---|---|---|---|
| Baseline (11 days) | 46.2 | 3.0 | 15.7 |
| April | 116.0 | 7.6 | 13.2 |
| May | 184.2 | 11.1 | 12.4 |
| June | 218.8 | 13.9 | 10.3 |
| July | 289.4 | 23.5 | 9.3 |
| August 1–28 | 249.1 | 19.9 | 10.0 |
| Aug 29 – Sep 17 (anomaly, excluded) | 2,344.6 | 11.9 | 4.3 |
| September 18 – October 3 | 313.5 | 10.1 | 7.5 |
The Click-Through Story — and the Seasonal Read
The old site averaged about 3 clicks per day, mostly from branded "Alpine Lakes Lodge" searches. After launch, daily clicks climbed steadily through week one, spiked in week two as Google began ranking the new accommodation and event pages, and then kept climbing for four consecutive months — 7.6 per day in April, 11.1 in May, 13.9 in June, and 23.5 in July, nearly 8x the pre-launch baseline. The single best day was July 21: 48 clicks off 421 impressions.
Then it eased. August held at 19.9 clicks per day across its clean days, and the 16 days from September 18 to October 3 ran at 10.1 per day. At the last refresh we had only three post-anomaly days and said we could not tell seasonality from damage. We have 16 now, and the data points fairly clearly at season:
- Impressions over those 16 days averaged 314 per day — the highest clean run rate in the site's history, above the July peak of 289.
- Average position hit 7.5, the best clean figure the site has recorded, improving on July's 9.3.
Rankings improved and visibility improved while clicks fell by half. That is what a summer lakefront property looks like in late September and October — the audience leaves, not the rankings. If Google had demoted the site, position and impressions would have fallen with the clicks. They went the other way.
The honest other half: click-through rate over those 16 days was 3.2%, against 8.0% in clean August. Some of that gap is the site now collecting impressions for broad off-season and poorly-matched queries — the residue of the same pattern that produced the anomaly, at a far smaller scale. We are not going to call that a win.
Top Search Queries (last 28 days, September 6 – October 4, 2026)
Pulled live from Google Search Console for this refresh:
| Query | Clicks | Impressions | Position |
|---|---|---|---|
| alpine lakes lodge | 64 | 110 | 1.1 |
| alpine lakes lodge easton wa | 15 | 23 | 1.0 |
| alpine lake lodge easton wa | 13 | 20 | 1.0 |
| alpine lakes lodge photos | 8 | 25 | 1.0 |
| alpine lake lodge | 6 | 72 | 6.6 |
| alpine lodge | 2 | 15 | 1.9 |
| when does snoqualmie pass get snow | 1 | 53 | 3.0 |
| lake easton cabins | 1 | 25 | 12.2 |
| snoqualmie pass | 1 | 8 | 4.1 |
| private fishing lakes near me | 1 | 5 | 4.0 |
| hikes near me | 1 | 4 | 2.8 |
| family reunion campgrounds | 1 | 2 | 1.0 |
| rv camping near me | 1 | 2 | 4.5 |
| fishing cabins | 1 | 2 | 1.5 |
| snoqualmie pass summer | 1 | 2 | 4.0 |
| kayaking near me | 1 | 1 | 7.0 |
| easton rv park | 0 | 62 | 10.0 |
| alpine lake rv resort | 0 | 61 | 9.8 |
| alpine lake cabins | 0 | 43 | 4.4 |
| cabins snoqualmie pass | 0 | 27 | 14.8 |
| best places to camp near seattle (the anomaly) | 0 | 36,160 | 2.5 |
Two things to read off that table. The brand-name variants at position 1 are doing the click work, which is normal for a destination property in its first six months. And the non-brand discovery queries — Easton, Snoqualmie Pass, lake cabins, RV park — are landing impressions at positions 4 to 15 without many clicks yet. That is the gap between "indexed and ranking" and "ranking high enough to win the click," and it is the live work on this site.
Across the full post-launch window the site has earned real non-brand clicks too: "fishing cabin rentals near me," "fishing cabins near me," "fishing cabin rentals," "alpine lakes campground," "alpine lakes camping," "alpine camping," "alpine lake resort." None of these existed for the old site.
Position Improvement
Average search position improved from 15.7 before launch to 10.7 across the 164 representative days, and the monthly trend moved the right way almost every month: 13.2 in April, 12.4 in May, 10.3 in June, 9.3 in July, 10.0 across clean August, and 7.5 across the 16 days since the anomaly cleared — the best stretch on record. Branded queries sit locked at position 1, and the discovery queries that started on page 3 and 4 have worked their way steadily up the results.
A Note on the GA4 Numbers
GA4 session data is now available for the full post-launch window, not just the first 60 days: 7,535 sessions across the 182 days of GA4 session data since launch — 41.4 per day, against 2.5 per day pre-launch. An earlier version of this case study reported only the first 60 days (1,443 sessions, 24.1 per day) because that was all we could verify at the time; the window is now complete.
Two honest notes on that figure. It covers all 182 days of GA4 data including the anomaly window, because we have daily GA4 data at the window level rather than per-day, and sessions are real visits — an impressions anomaly does not inflate them. And GA4 sessions (41.4/day) run about three times Search Console clicks (14.8/day) because sessions include direct traffic, referrals, repeat visitors, and the booking funnel, not just organic search clicks. The two numbers are measuring different things, not contradicting each other.
Key Takeaways
- Clicks up 392%, impressions up 382% across 164 days of representative data, with click-through rate holding at 6.6% against a pre-launch 6.5% — the site converted its new visibility rather than just accumulating it.
- Position improved from 15.7 to 10.7, and the most recent 16 days average 7.5 — the best stretch since launch, inside page 1 where click-through starts to compound.
- The curve was not monotonic, and the dip has an explanation that holds up. Clicks rose for four months to 23.5/day in July, then settled to 10.1/day in late September — while impressions hit an all-time clean high and position its all-time clean best. That combination is seasonal demand, not lost rankings, on a summer lakefront property.
- Multi-product visibility landed — the site ranks across the property's revenue streams (cabins, tiny homes, the log lodge, RV sites, private-lake camping, fishing, weddings, retreats). Brand searches still drive most clicks; lifting the discovery queries from positions 4–15 into the top three is the next job, and we say so rather than claiming the work is finished.
- A 20-day impressions anomaly was diagnosed, not exploited. One query — "best places to camp near seattle" — produced 36,160 impressions at position 2.5 and zero clicks, about 83% of the window's total. Including it would have produced a +881% headline built on traffic that never clicked and never came back.
A Note on the Timeframe
This case study has now been published four times, and the numbers have moved each time. At 22 days we reported +130% impressions and +133% clicks. At 93 days we reported +283% impressions and +270% clicks. At 171 calendar days we reported +364% impressions and +406% clicks across 151 representative days. This refresh covers 184 calendar days, of which 164 carry representative data, and reports +382% impressions and +392% clicks.
The click percentage came down slightly from the last version and the impressions percentage went up, because September and early October added days with high impressions and off-season click volume. The versions are not directly comparable — each one covers a different window, which is exactly why we state the window every time.
Two things genuinely changed since the last refresh. We can now name the cause of the September anomaly instead of leaving it unexplained, and the open question from the last version — seasonality or damage — has 16 days of evidence behind it rather than three. We also tightened one claim: the previous version said the site "appears for the high-value discovery searches that drive new bookings." It appears for them and ranks for them, which the live query data confirms, but brand searches still produce most of the clicks. That distinction belongs on the page.
Why It Worked
Alpine Lakes Lodge's results are not unusual — they are what happens when you build a multi-product destination website with SEO as the foundation instead of an afterthought. A property with five accommodation types and four major event use cases needs a separate, properly-optimized URL for each one, not a single generic "book now" page. Combine that with proper schema markup, fast mobile pages, and content written around the searches real travelers actually use, and Google has everything it needs to surface the property for the discovery queries that drive bookings.
Most lodge and venue websites are built on generic templates that look fine but cram every revenue stream onto the same handful of pages. The result is a site that looks decent but is invisible in search results for everything except the brand name. That is the gap we filled here — and six months in, the site is earning roughly five times the clicks the old one did, at an average position five places higher, with its best ranking stretch landing in the most recent sixteen days.