
Work Client website + SEO
SB Excursions
A Bali tours website I designed and built for a friend’s excursion company: 28 tours, guides and an AI trip planner in five languages, with 1.08K Google clicks in three months.
Overview
SB Excursions runs private tours in Bali: volcano sunrises, Nusa Penida, snorkelling, temples and transfers. Travellers compare several operators before they write to anyone, and most of them start on Google, in their own language. The company needed a site that answers the practical questions — how long, what is included, how much, what happens next — and can be found for them.
Bookings were to stay a conversation with the organiser in WhatsApp, so the site had to lead to that message rather than to a checkout.
1.08K
clicks from Google Search in three months
Source: Google Search Console, 3 months to 17 Sep 2026
92.2K
impressions in Google Search over the same three months
Source: Google Search Console, 3 months to 17 Sep 2026
×10
daily clicks after 7 August: about 2.7 a day before, about 26 after
Source: Google Search Console, daily data
1,752
URLs in the sitemap: 28 tours and 296 guides per language
Source: Live sitemap.xml, 22 Sep 2026
Approach
I designed and built the site: information architecture, interface, implementation and the search layer. The catalogue groups tours by intent — city tours, culture, Nusa Penida, islands, water, transport and helicopter — and every tour card repeats the same facts: duration, pickup, route points and price. Tour pages carry the route, the rating and a booking action; an AI planner lays out a week on the island; live weather, reviews, a journal of guides and an FAQ support the decision.
Every page exists in English, Chinese, Russian, Spanish and French, and part of the site also in German. Pages link to their language editions with hreflang and an x-default, declare a canonical URL and describe themselves in JSON-LD: TravelAgency, TouristTrip, Product with Offer, FAQPage, BreadcrumbList and BlogPosting with Speakable. Titles give the practical answer, for example “Ubud Tour: 10 Hours, Hotel Pickup, $65 per Car + Tickets”.
Journal articles answer questions people search for — beaches, areas, whether a tour is worth it — and link to the tour that fits; the tour page then hands over to WhatsApp with the tour named. The sitemap lists every language edition, a separate image sitemap lists 6,738 photos, and robots.txt lets search engines and named AI crawlers such as GPTBot, ClaudeBot and PerplexityBot read the content.
Gallery





Results
On 22 September 2026 the sitemap held 1,752 URLs: about 330 in each of the five main languages and 103 in German. In the site’s Search Console report for the three months to 17 September, it had 1.08K clicks and 92.2K impressions from Google web search, a 1.2% average click-through rate and an average position of 10.8.
Until early August the site received about 2.7 clicks and 230 impressions a day. From 7 August both rose within a week and held: from 14 August to 17 September the average was about 26 clicks and 2,300 impressions a day, with a peak of about 35 clicks on 3 September.
SEO review
The most complete technical SEO of the eight websites I reviewed: on 22 September 2026, 15 pages in five languages rendered in Chrome passed 9 of the 12 checks in full, and all 517 internal links found on them resolved. Lighthouse gives the home page 92 for SEO and 100 for best practices on both phone and desktop.
Lighthouse
Mobile
- Performance: 65 / 100
- Accessibility: 87 / 100
- Best practices: 100 / 100
- SEO: 92 / 100
- LCP
- 7.8 s
- CLS
- 0.079
- TBT
- 7 ms
- Weight
- 3 MB
Desktop
- Performance: 74 / 100
- Accessibility: 87 / 100
- Best practices: 100 / 100
- SEO: 92 / 100
- LCP
- 1.3 s
- CLS
- 0.461
- TBT
- 0 ms
- Weight
- 2.5 MB
In place: a canonical URL, JSON-LD and exactly one H1 on 15 of 15 pages; hreflang between the five language editions; a sitemap.xml with an image sitemap and a robots.txt that names AI crawlers; alt text on every image; no broken internal links among 517 checked. Meta descriptions are 70–170 characters on 12 of 15 pages.
To fix next: Open Graph images on the guides, FAQ and about pages (12 of 15 pages have them); titles outside 30–65 characters on 5 of 15 pages — the French article title runs to 113 characters and the Chinese home title is 29; descriptive link text instead of the repeated “Details” (the reason Lighthouse SEO is 92); text contrast, link names and tap-target size (accessibility 87); and speed on phones — mobile performance 65 with a largest contentful paint of 7.8 s, plus a layout shift of 0.461 on the desktop home page.
| Check | Result | Status |
|---|---|---|
| Unique page titles | 15/15 | Pass |
| Title length | 10/15 | Needs work |
| Meta descriptions | 12/15 | Pass |
| One H1 per page | 15/15 | Pass |
| Language attribute | en, es, fr, ru, zh | Pass |
| Mobile-friendly | 390 px | Pass |
| Image alt text | 100% | Pass |
| Broken internal links | 0 | Pass |
| Canonical URLs | 15/15 | Pass |
| Open Graph tags | 12/15 | Needs work |
| Structured data | 15/15 | Pass |
| XML sitemap | 2/2 | Pass |
What this does not prove
Search Console counts visits from Google, not bookings or revenue. Enquiries continue in WhatsApp, and conversion figures and the project budget are not published, so this case makes no claim about sales. It also cannot prove which change caused the rise on 7 August; indexing of the new language editions and the travel season may both play a part.
An average position of 10.8 means many queries still show the site on the second page of results. Lighthouse gives the home page 65 for performance on mobile, with a largest contentful paint of 7.8 s, so speed is a known weakness, not a strength.
Want something like this? Tell me about your project.