Illustrative case study

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

Hrimfaxi Tours · Northern lights & glacier tours · Reykjavík

How a Reykjavík tour operator fixed a slow site that was losing aurora bookings

+64%

Mobile conversion rate in 6 months · Travel & Leisure, Iceland

Forecast console

Month 6

01234567897.8

Site Kp — composite of LCP, INP and crawl efficiency

Mobile LCP
2.1 s
Mobile conversion
1.80%
Parameter URLs
1.1k
Organic sessions / mo
71k

Month 6: Kp 7.8

01 · The challenge

The sky cleared at ten. The site didn’t.

A heavy booking platform pushed mobile LCP past 7 seconds just as aurora-chasers searched at night. Date-parameter URLs had also multiplied into 200,000 crawlable pages.

Aurora tours are sold at the last minute: visitors check the forecast after dinner, see clear skies, and search “northern lights tour tonight” from a hotel lobby. That is exactly when Hrimfaxi Tours’s booking pages took over seven seconds to show anything. Meanwhile Googlebot was busy crawling a near-infinite calendar of date and guest combinations, so new tours and seasonal pages sat undiscovered for weeks.

When aurora-chasers searchshare of daily searches, by hour
00:0006:0012:0018:0023:00LCP then: 7.4 s

Modelled: 46% of “tonight” searches fall between 20:00 and 23:00, almost all on mobile.

Space-weather bulletin

02 · Diagnosis

Six disturbances in the field data

Rated on a geomagnetic-style scale: G4 broke bookings outright, G1 cost visibility at the margin.

  1. CWV-01 · Core Web VitalsG4 Storm

    LCP 7.4 s on mobile, p75

    The hero was a 1.9 MB aurora photo injected by the booking widget after 1.2 MB of third-party JavaScript had parsed. Nothing painted until the widget booted.

  2. CWV-02 · Core Web VitalsG3 Strong

    INP 410 ms on the date picker

    Every tap on the calendar re-rendered all 90 days of availability on the main thread — at 22:00, on a phone, in the cold, with one bar of 4G.

  3. CRW-01 · Crawl budgetG4 Storm

    200,000 crawlable date URLs

    ?date=, &guests=, &pickup= and &lang= combined freely. Server logs showed 78% of Googlebot hits landing on parameter URLs, and new tour pages waited 19 days to be crawled.

  4. FAC-01 · Faceted navigationG3 Strong

    Filters indexable in every order

    Duration × difficulty × pickup × sort produced 4,300 thin category variants, many near-duplicates competing with the core 'northern lights tours' hub.

  5. SCH-01 · Product schemaG1 Watch

    No structured offers on 38 tours

    Tour pages carried no Product or Offer markup, so price, currency and availability never surfaced in results while competitors showed 'from ISK 14,900'.

  6. CWV-03 · Core Web VitalsG1 Watch

    CLS 0.31 from the availability bar

    The 'seats left tonight' strip loaded late and pushed the Book button down — users tapped the wrong tour.

03 · Strategy

Four instruments, one forecast

Built on our Signal plan (technical seo): speed first, because every other gain is wasted on a page that loads after the visitor gives up; then crawl, facets and schema, so the fast pages are the ones Google finds and shows.

Core Web Vitals

01

Paint the sky first

  • Server-rendered hero with a 140 KB AVIF and fetchpriority=high
  • Booking widget deferred until interaction, behind a static price card
  • Date picker virtualised; availability fetched per week, not per quarter
  • Reserved space for the seats-left bar to kill layout shift

LCP 7.4 s → 2.1 s · INP 410 → 140 ms · CLS 0.31 → 0.03

Crawl budget

02

Stop chasing every night

  • Date, guests and pickup moved into client state — no new URLs
  • Legacy parameter URLs 301 to their canonical tour
  • robots.txt disallow for internal search and sort orders
  • Segmented XML sitemaps: tours, hubs, guides — refreshed nightly

Googlebot hits on parameter URLs 78% → 6%

Faceted navigation

03

Index the routes people search

  • 12 curated facet pages kept indexable (e.g. small-group aurora tours)
  • Every other combination noindex, follow with a self-sorting canonical
  • Filter links rendered as buttons, so crawlers follow only curated paths

4,300 variants → 12 intentional landing pages

Product schema

04

Show the price before the click

  • Product + Offer markup on all 38 tours: price, ISK, availability
  • TouristTrip and itinerary properties on multi-stop tours
  • Validation in CI so a CMS edit cannot ship broken JSON-LD

Price snippets on 34 of 38 tour results

Before“northern lights tour reykjavik” · position 14

hrimfaxi.is › tours?date=2025-11-14&guests=2&pickup=bsi

Tours – Hrimfaxi – Book

Select date. Select guests. Loading availability…

After“northern lights tour reykjavik” · position 3

hrimfaxi.is › northern-lights-tours

Northern Lights Tours from Reykjavík | Small Groups

From ISK 14,900 · Available tonight

Minibus aurora hunts with a 3-hour window, hotel pickup and a free rebooking if the sky stays dark.

04 · Timeline

6 months, one long polar night

  1. Month 1 · Kp 2.4

    Field audit

    CrUX and RUM baselines, 30 days of server logs, full parameter map. Hero rebuilt outside the widget.

  2. Month 2 · Kp 3.5

    Widget off the critical path

    Booking script deferred, static price cards shipped, date picker virtualised.

  3. Month 3 · Kp 4.7

    URL collapse

    Date and guest state moved client-side; 160k legacy URLs redirected; robots rules live.

  4. Month 4 · Kp 5.9

    Facets curated

    12 facet hubs kept, 4,300 variants noindexed; sitemaps segmented and resubmitted.

  5. Month 5 · Kp 7.0

    Schema everywhere

    Product + Offer JSON-LD on 38 tours, validated in CI; price snippets begin appearing.

  6. Month 6 · Kp 7.8

    Hold the gains

    Performance budgets in CI, field-data alerts, and a crawl-stats review cadence.

05 · Results

Storm-level activity, by month 6

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

+64%

Mobile conversion rate

M0M1M2M3M4M5M6
1.10% → 1.80% of mobile organic sessions booked a tour.

7.4s → 2.1s

Mobile LCP

2.5 s good
p75 field data. Under 2.5 s from month 5, through the peak aurora season.

200k → 1.1k

Crawlable parameter URLs

M0M1M2M3M4M5M6
Log scale. Date, guest and pickup state no longer mint new URLs.

+82%

Organic tour revenue

index 100182
Indexed to the baseline month; seasonally adjusted against the prior winter.

Ranking forecast, verified

Google.com · mobile · month 0 → month 6

Keyword positions before and after the engagement
QueryVolume / moBeforeAfterClimb
northern lights tour reykjavik9.9k143Up 11 places
small group aurora tour2.4k122Up 10 places
aurora tour tonight1.6k234Up 19 places
northern lights boat tour1.9k195Up 14 places
glacier hike iceland6.6k186Up 12 places
golden circle and northern lights1.3k317Up 24 places
ice cave tour from reykjavik3.6k279Up 18 places

Get a plan like this

If your bookings peak when your pages are slowest, Signal starts with field data and ends with a site that is fast when your customers are searching.

← Back to all case studies