
MK Master
MK Master is a licensed Sydney painting contractor that has been working domestic and commercial premises since 2010, founded and still run by Moey Khatib. mkmaster.au is the one WordPress build in this portfolio. It launched on mkmaster.com.au and moved to the shorter mkmaster.au once direct .au registration opened in 2022, with the original domain redirected rather than dropped so nothing that had ever linked to it was lost.
Why WordPress here
We build most things on Next.js, and it would have been easy to do that again. The client wanted to own their content in a system they already understood and could hand to someone else later without hiring a developer, and that is a completely legitimate requirement — arguably the most under-weighted one in this industry. Choosing the stack the client can actually operate beats choosing the stack we prefer to work in. The interesting part of the project is what that decision then costs you, and how much of it can be bought back.
What it costs is speed, because the standard route to a rich WordPress site is a page builder, and page builders arrive carrying stylesheets and scripts the visitor pays for on every page. On a photography-led site viewed largely on mobile data, that is exactly the wrong trade. So the build avoids the builder: the layout is theme-level, and the interactive pieces are written as small custom components instead of assembled from plugins.
The before-and-after slider
The centrepiece is a comparison slider covering more than ten completed projects across residential, commercial and industrial work — drag the handle and the finished wall replaces the prepared one. It is the single most persuasive element on the site, because painting is bought on evidence of finish and nobody believes an adjective. Built as a lightweight custom component rather than a gallery plugin, it stays quick with large images on a phone, which is where most of these visitors are.
Nine services, four different buyers
The service list runs wider than most painting sites: residential and house painting, interior and exterior, commercial, industrial, strata, and the specific jobs people search for by name — roof painting across tile, metal and Colorbond, deck painting with cleaning, sanding, repair and staining, and fence painting across timber, Colorbond and metal. Those last three matter commercially. Someone searching "deck painting" is not searching "painter", and a site with a real page for it meets a customer a general painting page never reaches.
Behind the list sit four different buyers. A homeowner wants to see finished rooms. A commercial tenant wants to know you can work around trading hours. An industrial client wants protective coatings and specification. A strata committee wants access coordination and compliance paperwork, and is the least emotional and most procedural reader of the four. Each stream is written for its own reader rather than to a generic visitor, which is why the strata page reads nothing like the residential one.
Preparation as the sales argument
The standard process — wash, repair, sand, prime, then two coats of premium finish — is spelled out rather than summarised, because in painting the preparation is the entire difference between two quotes that look identical on price. A customer cannot assess a painter's brushwork in advance, but they can understand why a quote that includes sanding and priming is not the same product as one that does not. Publishing the process converts a price comparison into a value comparison, and it is the most useful thing this kind of site can do for the business behind it. Our tradies website work applies the same thinking across the trades.
The SEO build
Choosing WordPress does not mean accepting a weaker search setup, and this site is the demonstration. Four blocks of structured data ship on the homepage. The business is typed as a HousePainter — the specific schema type for the trade rather than a generic LocalBusiness — with the founder marked up as a Person, which matters for an owner-operated business where the name is part of the reputation. Every service is a Service entity inside an OfferCatalog, so the nine offerings are individually machine-readable.
Coverage is expressed as a GeoCircle with coordinates alongside City, AdministrativeArea and Country entities, so the suburbs the business travels to are structured data rather than a paragraph. The title leads on the two things people search — licensed painters Sydney, professional painting services — with the brand deliberately absent from the front. Canonicals, ten Open Graph properties, Twitter cards and a 39-URL sitemap declared in robots.txt complete it. That is a more complete technical setup than most Next.js sites ship with, on a platform people assume cannot do it.
The Challenge Of Project
- Delivering a photography-led site on WordPress without a page builder, so the client keeps the editing experience they wanted and the visitor does not pay for it in load time.
- Writing the comparison slider as a light custom component rather than a plugin, since it is the most persuasive element on the site and had to stay fast on mobile data.
- Writing four service streams for four genuinely different readers — homeowner, commercial tenant, industrial client and strata committee — from one brand voice.
- Giving roof, deck and fence painting their own pages, because those are searched by name and a general painting page never reaches that customer.
- Publishing the preparation process in full, so a customer comparing two quotes can see why they are not actually looking at the same product.
