Case file, website rescue

Keeping the look, replacing everything under it.

The contact form had never delivered a single message. The owner wanted the design left exactly as it was.

Before: the contact form posted to a missing form handler, so messages went nowhere. After: contact form, spam check, mail relay, inbox, with failures logged and resendable. Before Contact form Form handler (missing) Nowhere. No error, no record. After Contact form Spam check Mail relay Inbox Failures logged, resendable
Every message sent through the old form went nowhere, with no error shown and no record kept.
Starting problem
A form that never delivered, a site that broke on phones
Role
Preservation rebuild, form, domain records, hosting
What shipped
The same look, rebuilt underneath
Verified outcome
Passes launch checks. Business results not measured.

This write-up is anonymous on purpose. The client is described only as a small business brochure site. Nothing here identifies the business, its industry, its location, its products, or its people, and no screenshots are included. Only verified findings and completed work are listed.

What the review found.

Each of these was checked directly rather than inferred from a score or a scan summary.

A contact form that had never delivered

The form on the site posted to a handler that no longer existed. There was no error shown to the visitor and no record kept anywhere, so every message sent through it had been going nowhere, for as long as the form had been on the page. Nothing on the site indicated this.

An empty favicon file being cached

The site's icon file existed but was zero bytes long, and that empty response had been cached at the edge. Publishing a real icon was not enough on its own; the cached empty response kept being served until it was purged.

A domain with no protection against spoofing

The domain published no sender authentication records, so nothing distinguished a real message from one forged to look like it came from the business. Mail at the domain had also already stopped working at some earlier point, which nobody had noticed.

Content that existed only inside images

Some of the site's own information had been baked into image files rather than written as text. Important text inside an image is harder to access and less reliable for search: it cannot be selected, enlarged cleanly, or read aloud. The information was the business's own and was already public on the page. It simply was not text.

Markup and mobile problems

The pages were laid out with tables and presentational tags rather than semantic markup and a stylesheet. On a narrow screen the page scrolled sideways, text was cut off at the edge, tap targets were too small to hit reliably, and images had no alt text.

Keep the look.

A small business brochure site of under a dozen pages, still online and still the business's address on the internet. The owner was not asking for a new look and did not want one. The site was recognizable to the people who used it, and the request was to leave that alone.

The work was scoped as preservation rather than redesign: keep the design and branding, repair the code, the phone experience, the contact path, and the hosting underneath.

A form that admits when it fails.

The contact form was replaced with one that delivers: a plain HTML form with a spam honeypot and rate limiting, relayed through a real mail provider, and, importantly, every failed send is logged with enough detail that a lost inquiry can be recovered and sent again.

Because the domain sent no mail, its records were set to say so explicitly. That is a configuration change to the domain's published records. It is not a guarantee about anything beyond what those records state.

Put the business's words back in text.

Layout tables and presentational tags were replaced with semantic HTML on a single stylesheet, using the site's existing content and visual identity. The image-based navigation became a real text menu. The pages were made readable down to a 320 pixel screen with no sideways scrolling, tap targets were brought up to a usable size, and images were given alt text, verified by measuring rendered width against the viewport at several widths, not by looking at screenshots. The business's own information was transcribed out of the images and onto the page as text.

Search and hosting basics were put in place: a unique title and description per page, canonical tags, a sitemap, crawl rules, structured data limited to facts confirmed with the owner, and the business name, address, and phone number visible on the page so the markup matches what a reader sees. An icon set was built from the existing logo. Old URLs were preserved, with redirects for anything that moved. The site now runs on hosting we control, delivered through a content network, with its certificate kept current.

True now.

  • The site looks the way it looked before.
  • It is readable on a phone.
  • Its own information is now text on the page.
  • The contact form delivers and records its own failures.
  • The domain's mail records say what they should.
  • The hosting is somewhere reachable.

Not measured.

Those are launch checks. Launch checks and business results are two different measurements, and only the first one was taken here. Whether any of this changed the number of calls, the amount of work, or the revenue of the business is not known. It was not measured, and we are not going to estimate it. This is one site and one engagement, not a benchmark, a time estimate, or a prediction for another site. No claim is made here about traffic, search rankings, leads, conversions, revenue, or placement in AI answers: repairing a contact form means messages now arrive, not that more people will send one. Security records were corrected to state the domain's actual mail posture, a statement of configuration, not an assurance about email security outcomes.

Have something that should be on this page?

Tell us what's broken, slow, or stuck. The first conversation is free.

Where are you stuck?

Nothing you type here leaves this page.

Every text is read by Dustin, not a bot.