Case study · Fight Fit

A faster, bilingual website for a Bucharest gym.

Fight Fit is a kickboxing, boxing, and fitness gym in Herăstrău, Bucharest. Their old WordPress site was slow and Romanian-only. We rebuilt it: faster, in Romanian and English, and structured so Google, maps, and AI search can read it.

The client

Fight Fit, a gym in Herăstrău.

A kickboxing, boxing, and fitness gym in the Herăstrău area of Bucharest, with classes for adults and kids and members who speak Romanian and English.

Before

A slow WordPress site

The old site loaded slowly, existed only in Romanian, and gave Google very little to work with. Good enough to launch on, not to grow on.

The brief

Faster, bilingual, easier to find

A website that loads quickly, works in Romanian and English without becoming two sites to maintain, and shows up clearly in search.

The work

What we built.

One rebuild across four fronts: two languages, search, speed, and a clean migration off a locked-down host.

Languages

Romanian and English, one site

Real /en/ URLs, not query strings. Hreflang and per-language canonicals so Google serves the right language and does not treat the two as duplicates. One set of pages and one switcher wired to the translated URLs, so there is no second site to maintain.

Search

Structured for search

Schema for a local gym: business details, services, coaches, opening hours, FAQs, and breadcrumbs, so the site can show up in rich results and on the map. Per-page titles and descriptions, and directions that point to the real Google Business listing.

AI search

Readable by AI, with llms.txt

An llms.txt and llms-full.txt in Romanian and English, linked from every page, listing the gym, coaches, schedule, prices, and location in a format ChatGPT and Perplexity can read and cite. Very few sites do this yet.

Speed

Fast, even with the motion

A design with a lot of movement that still passes Core Web Vitals. Images in WebP and correctly sized, third-party embeds deferred and removed on mobile, and fonts that do not block the page from rendering.

Design

A custom design built for the gym

A dark editorial look with GSAP and Lenis scroll animation, an ASCII hero mark, section reveals, and real gym photography. Built mobile-first, with the same layout logic on every page.

Migration

Moved off a locked-down host

The live WordPress site sat on a shared host with API, FTP, and SSH all blocked. We migrated it with a scoped deploy account and a scripted cutover, after a full backup we verified first. No data lost, no downtime.

What we learned

A few things this build taught us.

Bilingual

Two languages is an architecture choice

Setting up /en/ URLs, hreflang, and canonicals from the start is what keeps a bilingual site from turning into duplicate content later.

Speed

Embeds slow sites more than images

Deferring and removing third-party embeds did more for load time than any image tweak. It is usually the first thing to check.

Scores

A high score is not the goal

Tricks that hurt the real experience, like hiding content until someone clicks, are not worth the points. The site has to work first.

AI search

llms.txt helps a small site get found

A plain, machine-readable summary makes a small business easier for AI search to read and mention, and that is a growing part of how people find things.

Local SEO

The details matter most

Accurate business listings, a consistent name and address, and FAQ markup do more for a local site than adding more pages.

Results

What we’re tracking.

The site just launched, so there are no before-and-after numbers to show yet, and we will not make any up. We set a baseline at launch and check it in Search Console at 30, 60, and 90 days, for searches like kickbox in Herăstrău and kids’ classes. Here is what is in place today.

Bilingual

Romanian and English

Every page in both languages on real /en/ URLs, with hreflang on all non-blog pages.

Schema

Structured data

Business details, services, coaches, hours, FAQs, and breadcrumbs, checked with Google’s Rich Results test.

AI search

llms.txt in both languages

An llms.txt and llms-full.txt linked from every page, so AI search can read the gym clearly.

Speed

Performance baseline

WebP images, deferred embeds, and non-blocking fonts, with Core Web Vitals recorded at launch.

The full build is live and running.