The challenge
What we delivered
A new website for a South Florida renovation company
KOZAK Ukrainian Services is a family-owned renovation company founded in 2009. Today it works in South Florida from its base in Boca Raton: bathrooms, kitchens, full-home renovations, tile, flooring, painting and small repairs, across four counties from Martin to Miami-Dade.
We built its new website from scratch: a new structure, a design built from the client’s mockups, a page for every trade and for every city it serves, and an estimate request available from any page. The site went live on 18 October 2026.

The first screen says who the company is and where it works, then backs it up with the awards and ratings it has earned on Thumbtack, Google and Nextdoor.
The site in figures
What the site contains, counted on the published pages
A homepage that answers before it is asked
A homeowner looking for a renovation company asks three things first: do they do what I need, do they work where I live, and can I trust them. The homepage answers in that order: the headline and the service area, the ratings earned on review platforms, then the grid of twelve trades.

One tile per trade. The photo, the icon and the name come from the service page itself, and the order follows the pages: publishing a new service adds its tile without touching the code.
Then come a drag-to-compare before-and-after, the six steps of the work (from the free consultation to the warranty), the two owners and the client reviews. Each block is the same wherever it appears: the process and the reviews are written once and reused on other pages.
A full page for every trade
Bathrooms, kitchens, full-home renovation, tile and stone, flooring, painting, drywall, doors and trim, accent walls, outdoor installations, ceilings, small repairs: each of the twelve trades has its own page, with its own first screen, photo and call to action.

The bathroom page shows how far the detail goes: twelve included items, each with a photo and an icon, from design to finishing; partial updates for those who do not want to redo everything (a walk-in shower instead of the tub, a new vanity, a toilet, a new floor); a before-and-after for the trade; recent projects; reviews.

The FAQ answers the questions clients actually ask: how much a bathroom remodel costs, how long it takes, whether they need to leave the house during the work. The answers do not quote a fixed price: they explain what drives the cost and point to a written, itemized estimate.

Questions and answers are also described for search engines (FAQPage), but only on the pages where they are shown.
Four counties, 29 cities
A local service company is searched for by city: people type “bathroom remodeling Delray Beach”, not “renovation Florida”. So the site has a page for each county and a page for each city served, 33 area pages in total, from Stuart and Jupiter down to Miami Beach and Key Biscayne.

The Areas menu is built from the page tree. Adding a city in WordPress puts it in the menu, in the mobile menu and in the structured data, with no code change at all.
The areas page presents the four counties with their cities, a city search and a map of the coast. Each county has its own page, and so does each city.

A city page has its own photo, a Google map centred on the city, the neighbouring cities, the services, recent projects, reviews and a call to action in the city’s name. Phrases shared by the 29 cities are written once with a {city} variable and can be rewritten for any single city.

The Boca Raton page, the company’s home base: breadcrumbs, map and the nearby cities it also serves.
Projects, not promises
For a renovation company, the strongest proof is the finished job. The homepage opens on a before-and-after you can drag with a finger or a mouse.

The Transformations page brings 32 of them together: each with a before-and-after slider, a title, the type of work and a few lines on what was taken out and what went in. All projects live in one list that the client fills in, and the city pages draw their selection from it.

An estimate request from any page
The “Get My Free Estimate” buttons on the service and area pages open the same window: name, phone, email, project type and a few words about the job. On a service page the trade is already selected. Visitors stay on the page they were reading, and once the form is sent a thank-you message replaces it.

On the bathroom page the project type is already filled in. Under the button, a link to online booking for those who would rather pick the date of the visit themselves.
The buttons in the header and on the homepage lead instead to online booking in Markate, the client’s CRM, where the visitor chooses the date of the estimate visit.
Behind the form sits our KOZAK Leads plugin. It saves every request in WordPress before the email is even sent, so a mail outage loses no contact, and it can forward the request to Markate, retrying on its own if delivery fails. The form also keeps the visitor’s landing page and campaign tags (utm, gclid, fbclid) for 30 days, so every request says where it came from. Bots are kept out without a captcha: an invisible trap field, a minimum fill time and an hourly limit per address.
The client edits everything
Every text, photo, figure and list visible on the site is a field, arranged on its page in the order of the blocks. Whatever repeats from page to page (phone, opening hours, ratings and review counts, client reviews, process steps, button labels, the estimate window texts) is edited once, in the theme settings, and changes everywhere.
Moving the content from code into fields changed nothing on screen: after the migration, the HTML of every address was compared with a reference snapshot. The field definitions are stored in the theme and travel with it, and a dashboard box shows where each piece of content is edited.
What search engines read
Yoast provides the base. We added what matters for a local business: a business entity (HomeAndConstructionBusiness) with phone, opening hours and service area, built from the real pages of the site; a catalogue of services; a service description on every trade, county and city page; and a structured FAQ wherever one is shown.
Two things are deliberately left unmarked. The Google rating, because it comes from a third-party platform and Google’s rules forbid presenting it as your own reviews. And GPS coordinates that nobody has verified: no pin is better than an invented one.
The clean-up also covered indexing: an old static sitemap.xml from 2024 was hiding the sitemap generated by Yoast, and the robots.txt file stopped Google from reading the CSS and JavaScript. Old service addresses now lead to the new ones through 301 redirects.
A clean and secure site
Before the clean-up we audited the installation and made a full backup. Fourteen useless or inactive plugins were removed, including four captcha plugins, two date pickers, an optimiser and old ACF add-ons. The site got security headers, XML-RPC was closed, PHP execution was blocked in the uploads folder and the user list was closed to anonymous visitors.
On a phone
In renovation, many visitors arrive from their phone, and the number in the header scrolls away. A sticky call bar takes over once the first screen is passed, never earlier, so that it does not cover the button on the first screen. The menu opens as a drawer with the whole tree of areas, and the estimate window fits the screen.

Homepage, the services grid with the call bar, and the estimate window on the bathroom page.
How it was done
Under the hood
Platform
WordPress with a theme written for KOZAK. All content lives in ACF fields, whose definitions are stored in the theme and travel with it.
Our own plugin
KOZAK Leads: every request saved before the email, delivery to Markate with automatic retries, online booking on its own page.
For search
Structured data for the local business, its services and FAQs, 301 redirects from old addresses, and an internal search limited to pages and articles, services first.
What changed
KOZAK now has a website that talks about where the company works and what it actually does: twelve detailed trades, a page for every city served, real projects and three short routes to an estimate, through the request window, online booking or a phone call.
And the site runs without a developer: a new project, a new review, a changed phone number or a new city is added in the admin and shows up everywhere it should.
Measured by us with Lighthouse on 19 October 2026 on the homepage and the bathroom page, on mobile and desktop, three runs each: 100 out of 100 for accessibility, best practices and SEO on every run.
