I’ll Build Your Website for Free: How a Virus Destroyed a Company’s Reputation

He wrote to me late in the afternoon. I still had a mug of cold coffee on my desk and a to-do list full of things that should have been done “yesterday.” But I read his email and immediately knew this wasn’t one of those cases I could postpone. There was something in it that triggered empathy. The client didn’t sound like just another complainer — more like someone who was genuinely lost and didn’t know how to get out of trouble.

– Mr. Pawel, I don’t know if you can help me, but I have a website… or rather, I had one. Because something seems to have eaten it.

Word for word — eaten.

The guy’s name was Marcin. He ran a renovation company somewhere near Birmingham. His website had been built by a friend of his sister’s boyfriend’s cousin. For free. A kind gesture, sure — but two years later, customers were calling, saying they couldn’t access the site. One even took a screenshot and sent it: a bright red warning screen saying the site could harm your computer.

I asked for the link. I clicked. And immediately got hit in the face: threat alert, warning, red background, an airport-level alarm sound. Great — not only was the site not working, but it looked like it was about to empty someone’s bank account.

I asked for login credentials — nothing. Hosting? “I don’t remember, I once got something by email, but I’m not sure if it’s still active.”

I asked about email addresses, invoices, company name — anything. Fortunately, the domain was registered to his personal data, so it was possible to trace where everything was hosted.

And that’s when it all started.

I logged into the hosting panel. The files looked like a basement where someone had been dumping junk for two years without ever cleaning up. I opened the main directory — good, there was WordPress. I checked — a two-year-old version. Fine, it happens.

Then I looked into the themes folder — five different templates, some unused, some with suspicious modification dates. Plugins — now that was a festival: one had a name using characters my keyboard doesn’t even have. Another looked like an installer, and another like some kind of chat tool.

I kept digging — unpacked some files — and suddenly felt like someone was watching over my shoulder. As if I was opening lockers I shouldn’t. The code was riddled with suspicious fragments, random links, redirects, and in one file, I found a panel that looked like a hacker control center. Seriously — login screen (very weak password, by the way), and then a dashboard: where to redirect users, which files to add, what to delete.

They had left themselves a backdoor. And they could enter whenever they wanted. Like it was their own kitchen. And because they had full access — they dumped in a few “gems”: a page advertising “miracle” pills, a Russian online casino, and — I felt genuinely awkward browsing this — an adult website automatically redirecting from Marcin’s domain.

I closed the panel, leaned back in my chair, and just stared at the screen for a moment. I knew one thing: there was no saving this site. No cleaning, no refreshing. It was like trying to disinfect an apartment after a wild party where someone handed out spare keys to everyone they knew.

I sighed, drafted a quick email, and moved on to the rescue plan.

I wrote him an email. No drama, no technical jargon that would have meant nothing to him. Straightforward:

“The site has been severely infected. From my perspective, it cannot be safely salvaged. The most reasonable option would be to rebuild everything from scratch — but that’s just my opinion. I’m not the only expert out there. If you find someone who can fix it — great. But if you need help — I’m here.”

I always write it this way. Because I know how it works — especially in our culture. As soon as you say “it needs to be rebuilt from scratch”, a little warning light goes off in the client’s head: “Ah, he’s trying to rip me off. Classic.”

Some don’t even read further — already wondering who else they could ask or how to cut corners.

But I’m not about pushing services. I described what I would do, how I would do it, and what it would involve. I also suggested that since we were starting fresh, it might be a good opportunity to refresh his branding — a new layout, better photos, clearer content. No pressure. More a suggestion for a facelift rather than a revolution.

And I clearly stated:

“If you don’t plan to handle website updates and security yourself, I can take care of it under a monthly maintenance plan. It’s an option — not an obligation.”

I sent it. And waited.

Not even five minutes later — seriously, I checked — I got a reply:

“Pawel, do everything. Website, refresh, maintenance. I don’t want to deal with this anymore. I want someone to handle it properly.”

That kind of moment always gets me. Because it’s not about technicalities. It’s about trust. About not having to convince anyone — the way you communicate speaks for itself.

Before I designed anything, we had to figure out what exactly needed to go on the site. Marcin, like most of my clients, didn’t need a “pretty website”. He needed a tool that would work with him — attract clients, answer questions, build trust. He just didn’t know how to put it into words yet.

I called him, a relaxed chat — no buzzwords like “conversion” or “CTA”.

– Tell me how you work. What does a typical day look like? Where do your clients come from? What do they ask? What do you usually show them when they ask for examples?

He talked, I listened and organized it in my head. From that conversation, I built a plan:

  • Homepage with a quick overview of his services and a big “Call Now” button — because most clients want immediate action.
  • Portfolio gallery — not for show, but real “before and after” photos, because that’s what builds trust in the construction industry.
  • Simple service descriptions — in the client’s language. No “comprehensive renovation solutions”. More like: “painting, tiling, bathrooms, kitchens, fixes after previous crews”.
  • Testimonials section — we pulled them from Messenger, Facebook, and even a few SMS messages. It all could be organized.
  • Minimalist contact form — not discouraging with too many questions.

Meanwhile, the question of photos came up. Marcin shrugged — he had no professional shots. But he remembered his daughter sometimes took pictures with her phone. He sent a few — and surprisingly, they were pretty good. Natural, candid, exactly the kind that works best: Marcin at work, holding a spirit level, dirty hands, real craftsmanship.

Turns out, Generation Z comes in handy — so many selfies that they know how to catch a good angle and lighting without even trying.

I also suggested something I now consider standard for such websites: a separate portfolio page. A place to show concrete projects — before, after, with a short description of what was done. Clients who see the results don’t even need to read a line of text to understand what Marcin can do.

And so, from a conversation and a few sent photos, we created the skeleton of a website that would truly be his — not a copy, not a “template”, but a real showcase of a skilled craftsman who knows his job.

Ultimately, the site was built on WordPress — not because it’s trendy, but because it was simply the most reasonable choice in his case. Clear layout, fast loading, easy editing if he ever wants to add or change something. Everything according to plan — no chaos, no accidents.

Visually, we focused on simplicity and clarity: large project photos, clear headlines, visible contact details. A website you visit and immediately know who you’re dealing with.

This time, I especially made sure of security: solid hosting with backups, additional security plugins, automatic updates, and regular backups. Everything under constant care — Marcin immediately decided on monthly administration, so he knows someone’s watching over everything. He doesn’t have to worry about updates, dashboard alerts, or security warnings. It’s all on me.

Previously, he had a free website. Now, he has peace of mind. And the knowledge that his online presence isn’t abandoned in some random folder but is actually working — for him, on his terms, without surprises.

The project for Marcin was different from the usual ones. Normally, everything is agreed: contract, project details, scope. Here, it was different. Marcin didn’t know what to do or how to approach the problem. He admitted his mistake, didn’t pretend “it could be fixed”.

He knew he needed help.

What happened was a quick decision on my part. Not because it was easy, but because we didn’t have to stop at endless details. Marcin let me work, trusted me to do it right.

It was a decisive reaction to a situation — no unnecessary questions, no “what ifs.” I knew quick action was crucial. His understanding of his situation met my understanding of my role: he knew I had to act quickly to give him what he needed.

The website was created quickly and efficiently, and the final result satisfied him completely. Marcin not only appreciated the final product but also decided to continue our cooperation for years. I managed the site’s administration, security, updates — everything that made his business online work smoothly while he focused on what he does best — his craft.

When Marcin returned to Poland, the project came to an end, but those few years of cooperation were a valuable experience for me. Thanks to the trust, freedom, and mutual understanding, we achieved something truly beneficial for both sides.