Nikoloz Topuridze
← All case files
Case 02 · Tourism · Lead generation

Client work · 2025–2026

GeoWonder

A tour company site built to turn visitors into WhatsApp messages

Client
GeoWonder
Role
Freelance developer: build, SEO audit, ongoing revisions
Years
2025–2026
Stack
Next.js 15, TypeScript, Prisma, PostgreSQL, Vercel Blob, TinyMCE, GA4
Visit the live site
GeoWonder: A tour company site built to turn visitors into WhatsApp messages

In short

  1. GeoWonder runs private, fully customisable tours across Georgia with local guides. There's no office and every booking starts as a WhatsApp message.
  2. I built the site and an admin where the owner manages tours, articles and photos. A year later I audited it for search and fixed what was keeping it invisible.
  3. The overhaul made the hero video roughly 3× lighter, let search engines see every tour, and made every WhatsApp and phone tap measurable.

50

active monthly viewers from other countries

19

tours that search engines can reach

3

kinds of lead tracked: WhatsApp taps, phone taps, form submissions

Timeline

  1. Jun – Sep 2025

    Designed and built the website and admin panel.

  2. 2025 – 2026

    Paid revisions, including a full SEO audit and overhaul in October 2026.

The client

GeoWonder is a small tour operator. The guides speak Georgian, English and Russian, every trip is private and adjustable, and every price is quoted individually. That shaped everything: the site's job is to make a traveller trust the guides enough to send a message.

2025: the build

I built the site with an admin panel so the owner can run it without me: Create and reorder tours by drag and drop, write travel articles in a familiar text editor, manage the photo gallery and update contact details. Contact is WhatsApp-first, because that's how tourists in Georgia actually reach guides.

2026: why nobody could find it

A year in, the site looked good but barely appeared in search. I ran a full audit against the live site and found the problems weren't one big mistake but many small ones:

  • Tour pages had only 37–62 words of unique text each. The rest was the same FAQ repeated on every tour.
  • The main headline started invisible and faded in, which delayed the moment Google considers the page "loaded".
  • Not a single WhatsApp or phone tap was being measured, so there was no way to tell whether anything worked.
  • While auditing, I also found and closed a security gap in the admin's data routes.

What I changed

I worked through the fixes in order of how much each one would lead to more messages and agreed the business rules with the owner first: no prices on the site, every tour described as customisable, three guide languages everywhere.

  • Correct titles, descriptions, link previews and canonical addresses on every page, from one shared system so they can't drift again.
  • A sitemap that updates itself (including images), instant notification to search engines when content changes, and permanent redirects when a tour is renamed.
  • Every tour and article reachable in plain HTML, plus structured data describing the business, each tour, each article and the breadcrumbs.
  • Dedicated landing pages for what travellers actually search, such as "private tour guide Tbilisi", instead of internal names like "Kakheti 2".
  • Generated preview images for every tour, so shared links look like the tour, not the logo.
  • Lighter media, and the headline visible from the first frame.
  • Tracking for WhatsApp taps, phone taps and form submissions, so the owner can see which pages bring enquiries.

Results so far

The overhaul went live at the end of October 2026. Search rankings take weeks to months to respond, so I'm not going to claim a traffic jump yet. What changed immediately is measurable above: lighter pages, every tour visible to search engines and lead tracking in place. I'll update this case study with Search Console and enquiry numbers in early 2027.

Under the hoodFor developers ↓

Next.js 15 App Router, Prisma with PostgreSQL, Vercel Blob for media and TinyMCE in the admin. The SEO work is one shared metadata builder used by every route, so canonical and preview tags can't go out of sync page by page.

  • On-demand revalidation plus IndexNow pings when the owner publishes, so new tours reach search engines in minutes instead of whenever the cache expires.
  • Old addresses are kept per tour, so renaming a tour issues a permanent redirect instead of a 404.
  • Per-tour Open Graph images rendered on the server.
  • JSON-LD for TravelAgency, TouristTrip, BlogPosting, Service and BreadcrumbList, plus an llms.txt summary for AI assistants.
  • The write API routes required no authentication. I moved them behind the admin session in middleware.
Next case · Case 03Anuka LiveThe one link a musician sends to labels, studios and press