Since 2024

Our own place: where we test what we sell

A studio rental in Hua Hin, Thailand. Site rebuilt, hosted, deployed and optimised by us — and it is our own money going into the Google Ads campaigns.

HAY HuaHin
100%

occupancy rate reached

8 languages

served with server-side rendering, and canonical and hreflang tags that do not contradict each other

0

trackers loaded before the visitor agrees — the banner blocks rather than warns

35

URLs in the sitemap, each under the only language it genuinely exists in

The context

HAY HuaHin is a studio rental in Hua Hin, Thailand. It is not a client: it is OUR place, and we say so rather than passing it off as a third-party reference. That is exactly what makes this page worth reading. A supplier who recommends server-side rendering, a cookie banner that genuinely blocks, automated deployment and an ad account in the owner's name ought to be able to show all of it running somewhere the money is their own. This is that site.

The workflow, in motion

Three stages, and a gate in the middle

Our own guesthouse: the campaigns are paid with our money, so the trade-offs show. This one shows more than most.

ads_click

Google Ads listing

Targeted on stay intent, in the languages the site actually exists in.

language

Site visit

Eight languages, hosted and deployed by us, on our own servers.

lock

Consent not given

No analytics starts: the visit happens, the number does not.

0tracker loaded
bed

Booking

It happens on the platform: the site brings people in, it does not take the money.

An owned consequence: our own visit statistics are incomplete. An honest low number beats a complete illegal one.

What we did

  • check_circleA full rebuild from an old WordPress.com site, weighed down by useless modules, onto our own server-side-rendered stack: the pages that matter (the room, facilities, gallery, blog) and booking handed off to the platform that already handles it. The site comes out markedly lighter and faster — we did not keep the before figures, but the performance gap was clear.
  • check_circleClean international SEO: eight languages in gettext, with a discipline you rarely see — an article written in English is only listed in the sitemap under `/en/`, and the other languages carry a canonical tag pointing at it instead of claiming to be translations.
  • check_circleA back office to publish articles and photos without calling us, with a log recording every write and its author.
  • check_circleA consent banner that genuinely blocks: neither Google Analytics nor Google Ads loads before agreement, and refusing is as easy as accepting. That is the compliant version, not the one that sets first and asks after.
  • check_circleHosting, automated deployment and monitoring, on the same pipeline as our clients' applications — a fix reaches production in one command.
  • check_circleVisibility in AI assistants, just as for our clients: registration with Bing, explicit opening to assistant crawlers, structured data (schema.org) describing the accommodation, and consistent establishment information across third-party sources. No extra charge and no guarantee.

What changed

  • trending_upThe site is our test bench: what breaks here, breaks on us. Methods that reach a client have already run here first.
  • trending_upThe Google Ads account is set up the way we set one up for a client: in the owner's name, on their card, with a capped daily budget, and us on management access.
  • trending_upA holiday rental site is a hard search case: the competition is made of enormous platforms. The answer is not to take them on, it is to be found on the property's own name and to convert once someone arrives.
  • trending_upSince the redesign, SEO and the ad campaigns, traffic has risen sharply — and occupancy followed, up to 100% reached in peak periods. The figure is ours, and so is the property.
  • trending_upIt is the only page on this site where we talk about ourselves. It exists because a supplier who does not use their own methods shows — and because presenting it as a client reference would have been a lie.

Let's talk about your project

Thirty minutes is enough to tell whether we are the right fit. We reply within 48 hours, and we say no when it is not for us.