Case study · Webko

Klinika PINKOVA: moving a clinic website from Tilda to Angular

Webko develops and maintains the website of Klinika PINKOVA, a cosmetology clinic in Vilnius: a static Angular site in four languages that replaced Tilda to cut running costs, simplify updates and give full control over SEO.

Project
Website of a cosmetology clinic in Vilnius: laser, RF lifting, body shaping, permanent makeup
Our role
Contractor: migration off Tilda, development, SEO, deployment and support
Scope
Home page, 10 service pages, careers and legal pages, thank-you pages: 29 pages in Lithuanian, 26 of them in Russian, English and German
Main stack
Angular 22 with static prerendering, TypeScript, SCSS; a small PHP form relay to Telegram
Languages
Lithuanian, Russian, English, German
Status
Live since 26 October 2026 at pinkova.lt

Visit pinkova.lt →

The task

The site was built on Tilda. The clinic paid a monthly fee for the builder, every change meant working page by page in a visual editor, and SEO details such as hreflang, structured data, image alt texts and redirects were hard to control and to check.

The new site had to keep every indexed address working, look the same to visitors, send enquiries to the clinic's Telegram group as before and speak four languages, all without an application server to run.

What we build

The same site on a new foundation

Angular 22 with standalone components, signals and static prerendering. Every page becomes plain HTML at build time, so the site runs on ordinary hosting: no builder subscription and no server to maintain.

Content as typed files

Each page is a typed content file per language. Phone, address, opening hours and social links live in one place, so changing the hours means editing one line instead of every page.

SEO built into the build

Title, description, canonical, hreflang and JSON-LD (the clinic, its services and prices read from the price tables, the website and each page) are written into the prerendered HTML, together with a sitemap with hreflang. The build fails on a missing image alt text, a broken language pair or an oversized title.

No lost addresses

Old Tilda page addresses and duplicate URL forms get a 301 redirect, www goes to the main domain in one hop, and the new sitemap was resubmitted in Search Console, so the pages the clinic already had in Google keep their place.

Four languages that survive auto-translate

Lithuanian, Russian, English and German with a language switcher. Text blocks reflow instead of overlapping, because browser auto-translate makes text 10 to 35 percent longer; an automated test checks it.

Enquiries to Telegram, analytics after consent

Forms post to a small PHP endpoint that relays the enquiry, with attachments, to the clinic's Telegram group, with a spam trap and a rate limit. Google Analytics and Meta Pixel load only after the visitor accepts cookies.

Lighter pages and simple releases

Images are served as WebP at display size, from 31 MB down to 7 MB. The static build is deployed over FTPS to the clinic's existing hosting, with a separate staging copy that search engines do not index.

The site

Pinkova clinic enquiry form with a phone field, consent checkbox and a submit button
Enquiry form: a phone number and consent; the request goes straight to the clinic's Telegram group.
Pinkova clinic full-screen menu listing the procedures, contacts and opening hours
Full-screen menu with all procedures, contacts and opening hours.
Pinkova clinic contact block with address and a map with the clinic marker
Contacts and an embedded map with the clinic marked.

Technology

Front end
Angular 22 (standalone components, signals, zoneless), SCSS, typed page content per language
Rendering and SEO
Static prerendering, SEO and integrity checks that fail the build, SEO audit of the output, sitemap with hreflang
Server side
Apache redirect rules, a PHP relay to a Telegram bot (attachments, spam trap, rate limit)
Quality
Vitest, angular-eslint, an automated overlap test for browser auto-translate, smoke test of the live site
Hosting
Static files over FTPS to the existing hosting; staging on a separate noindex host

Result

  • No builder subscription — the site is a set of static files on hosting the clinic already has.
  • One place for the facts — phone, address and hours are defined once and reused on every page and in the structured data.
  • Pages that ship checked — every build is verified for SEO and integrity before it can be deployed.
  • Images from 31 MB to 7 MB — faster pages on mobile connections, with the original JPEG kept only for social previews.

No traffic or ranking figures yet: the site went live on 26 October 2026. The facts are from the project repository, as of 30 October 2026.

More case studies

  • PEV Deals — A six-language catalogue of discounts on electric rides: prerendered Angular storefront, admin panel and Spring Boot API.
  • Terasa28 — A seaside apartment rental site with a guest account, a booking calendar and an admin panel for approving requests.
  • Intela — Reusable Angular components, module business logic and report pages for a tax-management portal inside a global corporation.

See all projects

Moving a site off a website builder?

Describe the task in a few lines and we will reply with an estimate and a proposed way to start.

Contact Webko