
QPMS Cleaning Services
QPMS started as a local cleaning company in Peakhurst and grew into property care — cleaning, maintenance and repairs for residential, commercial, strata and industrial clients across greater Sydney. qpms.au is a Next.js site with Sanity behind it. It launched on qpms.com.au and switched to the shorter qpms.au when direct .au registration became available in 2022, with the original address kept and redirected in a single hop.
The problem with growing sideways
A business that has widened its offering has a positioning problem the moment it goes online. Say everything and you sound like nobody's specialist; a site listing cleaning, repairs, maintenance and facility management with equal weight reads as a business hunting for work rather than one that is good at something. But narrowing the message would misrepresent what QPMS actually does, and the breadth is genuinely what a strata manager wants — one supplier rather than four.
The resolution was to organise by the job the visitor came for rather than by the company's capability list. Recurring and one-off residential cleaning, commercial and office cleaning, deep cleans, move-in and move-out, post-construction clean-up, window cleaning, handyman work, and property repairs and maintenance each get their own entry point. A visitor sees their own job named in the first screen. The breadth is still visible, but it reads as range rather than as a business that will take anything.
Four buyers, one site
Underneath those services sit four quite separate customers. A homeowner books on convenience and price. An office manager books on disruption and consistency. A real estate agent books on turnaround, because a bond clean stands between them and a new tenancy. A strata manager books on documentation and insurance, and is buying a relationship rather than a job. Each is looking for a different proof, so the same service reads differently depending on which entry point a visitor came through.
Before and after as structured content
Cleaning is one of the few trades where the result photographs honestly, and that is the site's strongest asset. Rather than dropping images into a page, before-and-after pairs are modelled in Sanity as first-class documents with their own category, caption and ordering. That matters more than it sounds: a paired transformation carries a claim, and structuring it means a new job publishes complete and correctly labelled instead of arriving as two loose files somebody has to align by hand. It also means the gallery can be filtered by the kind of work a visitor actually came to see.
The gallery is image-heavy by design, so the front end had to earn that. Next.js serves it statically with responsive image handling, because the photographs are the argument and a gallery that takes four seconds to appear is an enquiry lost to a competitor with worse work and a faster page.
Trust signals that do real work
Every cleaning company claims to be reliable, so the site leans on the claims that can actually be checked and that answer a real hesitation: staff are vetted, police-checked and insured, products are eco-friendly where the client wants them, and the satisfaction guarantee is specific — an unsatisfactory clean is re-done free. That last one is worth stating plainly rather than in marketing language, because it is the objection that stops a first booking: what if they do a bad job and I have paid. Client stories, an insights section, an FAQ and a quote form with a stated 24-hour response complete the path. Businesses with this shape are covered by our business website service.
The SEO build
Cleaning is bought locally and almost always on a map, so the structured data leads with place. The business is marked up as a LocalBusiness with a PostalAddress, an OpeningHoursSpecification and a GeoCircle carrying real coordinates and a radius — the last of those being how you tell a search engine where you will actually travel, rather than hoping a written list of suburbs is read as one. That is the layer that decides whether you appear for "cleaner near me" in a suburb you serve but are not based in.
Above it, the title targets the category and the two audiences together — professional cleaning services in Sydney, residential and commercial — instead of leading with the company name, which is the mistake that costs a service business most of its impressions. Canonicals are in place, the social layer runs to ten Open Graph properties plus Twitter cards for a business whose best marketing asset is its own before-and-after photography, and a 40-URL sitemap covering every service and project page is declared in robots.txt.
The Challenge Of Project
- Presenting a wide service range — cleaning through to repairs and facility management — without the site reading as a generalist who will take on anything.
- Speaking to four buyers with different priorities — homeowner, office manager, real estate agent and strata manager — from a single set of service pages.
- Modelling before-and-after pairs in Sanity as structured documents, so a transformation publishes complete with its category and caption rather than as two loose images.
- Serving an image-heavy gallery quickly, since the photographs are the entire argument and a slow gallery loses to worse work on a faster page.
- Stating the guarantee, vetting and insurance in checkable terms, because "we are reliable" is what every competitor also says and none of them prove.
