Skip to content
Victor Dumeige
← All web work

Thai Herb Massage

Website, local SEO, and Google Ads for a Thai massage studio in San Diego.

Marketing SiteFlaskLocal SEOGoogle Ads
Visit live site →
thaiherbmassage.com
Thai Herb Signature Massage page with benefits, six pricing tiers, and a client review
Role
Sole designer and developer; Google Ads and SEO
Year
2024–2026
Tools
Flask, Jinja2, Bootstrap 5, Google Tag Manager, Google Analytics 4, Google Ads, Elfsight, Render

A marketing and discovery site for a Thai massage studio in Mission Valley, San Diego. The job the site does is narrow and commercial: be found on local search, explain seven treatments and their pricing clearly, and hand the visitor off to booking with as little friction as possible.

Seven pages — home, about, massages, location, contact, gift cards, and policy — rendered from Flask and Jinja2 templates, with the service catalogue (descriptions, benefits, per-duration pricing) kept as structured Python data so one edit updates the cards, the pricing tables, and the featured row together. Booking and gift cards route to the studio's MassageBook account through a single injected context processor, so the owner can change where those buttons point without touching templates. Reviews come in through an Elfsight widget; GTM and GA4 cover the funnel.

Local SEO is the substance of the build, not an afterthought: hand-written JSON-LD HealthAndBeautyBusiness schema with geo, hours, payment, and per-service price offers; canonical URLs; robots.txt; and 301 redirects that force HTTPS and collapse non-www to www so ranking signals don't split across hosts.

The front end is a Bootstrap 5 theme customized with thaiherb.css, a ~2,800-line design system of my own — tokens, button variants, hero and card components, an inline SVG icon set, and prefers-reduced-motion handling throughout. Performance work: WebP throughout, lazy loading, preconnect and preload hints, deferred font loading, gzip via Flask-Compress, and long-lived cache headers for video and images. Media is served from a CDN, with CSS deliberately kept local so a style fix ships without a separate CDN deploy. Deployed on Render under Gunicorn, with security headers — CSP, HSTS, frame and MIME protections — set in an after_request hook.

Built and maintained solo since 2024, working directly with the owner: her feedback on pricing goes straight into the data layer and ships the same day. I have also run the studio's Google Ads account since 2022.

Google Ads performance

Impressions
11.5K
Clicks
416
Click-through rate
3.62%
Cost per conversion
$2.34

Figures as reported in Google Ads for the account I manage, 13–26 August 2026 (14 days). Conversions counted per the account's configured conversion actions.

Screens

thaiherbmassage.com
The About page of Thai Herb Massage showing the studio's team photo and story
The about page carries the studio's own team photography — a deliberate choice over stock imagery for a business that sells trust.
Thai Herb Massage homepage on a phone, with a promotion bar, booking button, and trust badges
Most of this studio's traffic is mobile, so the phone layout leads with the promotion, the booking button, and local trust signals.
Visit live site →github.com/vdumeige/thai-herb-massage (private)