
- The problem
- The old shop contradicted itself in public. One page said the brandy was matured three years, another said five. The phone number was published in a format no phone could dial, and the two tap to call links on the page pointed at different numbers, one of them with a stray space in it that broke the call. Shipping promised free delivery to premium members, a membership that was never defined anywhere on the site. None of it was obvious to a casual reader. All of it was there for a customer deciding whether to spend R450 on a bottle from a brand they had not bought before.
- What we did
- Before any design work we read the whole site and wrote down every fact it published, then every place two facts disagreed. That list went to the client first, because a rebuild that carries the contradictions across is only a better looking version of the same problem. Then we replaced the plugin stack with a shop built for this one business: product pages, cart and checkout written from scratch, with the payment provider behind an interface so it can be swapped without touching the checkout.
- The result
- The site says one thing now. The brandy is three years old on every page that mentions it, the phone number is a single number in one format that dials on a tap, and the membership that never existed is gone. The shop is the studio's own code rather than a stack of plugins, so a change to how the business sells does not wait on someone else's release schedule.
The part that took the longest was reading
Rebuilding the site was the straightforward half. The half that mattered was going through the old one page by page and writing down every claim it made: prices, ABV, bottle sizes, maturation, shipping thresholds, return windows, the lot.
Doing that turns up things nobody meant to publish. A batch note buried on the shipping page described the current release as five years old while every product page said three. The structured data behind the products was using the WordPress post ID where the product code should have been, so anything reading the site as a machine was given a number that meant nothing. A support line printed on the responsible drinking page did not match the real one.
That last one is worth pausing on. It had probably been on the site for a year. It is the kind of detail nobody checks because everybody assumes somebody already did.
A shop, not a plugin stack
The brand sells three things and takes payment for them. That does not need a general purpose e-commerce platform and the plugin tower that comes with it, and it especially does not need one that has to be patched every few weeks.
So the product pages, the cart and the checkout are written for this business. Payments sit behind an interface, which sounds like a technical detail and is actually a commercial one: the day a better rate turns up somewhere else, changing provider is a contained job rather than a rebuild.
What we would tell another brand
If you sell something people have to trust before they taste it, the details are the product. Go and read your own site as though somebody is about to spend money on the strength of it, and write down everything it claims. Then check the claims against each other.
You will find at least one thing that is wrong. Everyone does.
