A domain returning a 404, turned into a working sales channel.
Apex Services repairs air conditioners, refrigerators, washing machines and deep freezers in Vellore, Tamil Nadu. The business was running on word of mouth. The domain was registered and resolving — and every single request to it returned a 404, because no site had ever been built.
The business problem
Appliance repair is an emergency purchase. A fridge stops cooling on a Friday evening and the customer reaches for their phone, searches their appliance and their town, and calls one of the first businesses that looks legitimate. If you are not in that result, the job goes to whoever is.
Apex Services had the skills, the technicians and the warranty policy to win that job, and no way to be found. The specific failures:
- The domain resolved correctly but had no hosting behind it — every visit returned a 404.
- No presence in local search for any appliance or locality term.
- Enquiries came only from word of mouth and repeat customers — no new-customer channel at all.
- Paid advertising was impossible: there was nowhere to send the click.
- No measurement. Nobody knew how many people had tried to make contact and failed.
What changed.
- Domain resolved, every request returned 404 — no site existed
- Invisible in local search for every service and area term
- New customers arrived only by word of mouth
- No landing page, so no ads could run
- No analytics, no conversion tracking, no data at all
- No published hours, warranty terms or service area
- Six-page site live on Cloudflare Pages with free SSL and global CDN
- A dedicated landing page per appliance category, written for how people search
- LocalBusiness, Service and FAQPage schema on every relevant page
- Call and message routes reachable at any scroll position, on any screen
- Every call and message tap fires a tracked conversion event
- Real hours, six-month warranty terms and service area published
What I designed and built
A static, hand-written site — no CMS, no page builder, no framework. For a six-page business site that decision drives everything good downstream: nothing to patch monthly, no database to breach, no plugin to break, no hosting bill, and a page that paints in well under two seconds because there is nothing standing between the request and the HTML.
Structure built around search intent
Instead of one page listing every service, each appliance category got its own landing page with its own symptom list, its own hero copy and its own quote form pre-set to that appliance. Somebody searching for a washing machine problem lands on a page about washing machines, not a generic homepage.
- Homepage — services, trust strip, how it works, contact.
- AC repair, washing machine repair, refrigerator & deep freezer — three standalone landing pages, each ad-campaign ready.
- Privacy policy and terms — required for running Google Ads, and a trust signal in their own right.
Contact as the primary interface
The entire site is organised around one action. A floating message button follows the visitor down every page and pre-fills a message naming the service for the page they are on. On mobile a sticky call bar sits along the bottom edge. The quote form needs no backend — it composes a message and hands it to the customer's own mail client, which means there is no server to maintain and no stored customer data to protect.
What it was built with.
Deliberately small. Every piece here is something I can debug or replace myself, which is what makes the site still work in three years.
Search improvements
The baseline was zero — a 404 cannot rank for anything. Everything below is groundwork shipped as part of the build rather than sold as a separate retainer:
- Per-service landing pages targeting how people actually phrase an appliance problem.
- Locality reinforced in the homepage title and H1 rather than buried in a footer.
- LocalBusiness and Service schema so search engines can read the business type, area and offering as structured data.
- FAQPage schema on all four main pages, making the site eligible for expanded results.
- Canonical tags on every page and a
www→ apex 301, so ranking signals never split across two hostnames. - robots.txt and sitemap.xml published and submitted to Search Console.
- Distinct title and meta description per page — no duplicated boilerplate.
Measured, not claimed.
Lighthouse 12, run against the production URL — including a second pass after fixing what the first pass found soft.
| Metric | Desktop | Mobile | Google threshold |
|---|---|---|---|
| Largest Contentful Paint | 1.5 s | 2.6 s | < 2.5 s |
| Cumulative Layout Shift | 0.004 | 0.025 | < 0.1 |
| Total Blocking Time | 0 ms | 0 ms | < 200 ms |
| First Contentful Paint | 1.5 s | 2.1 s | < 1.8 s |
| Speed Index | 1.9 s | 3.7 s | < 3.4 s |
First measured 30 July 2026, re-measured 31 July 2026 after a fix pass with Lighthouse 12
against https://apexsservice.com/, desktop and mobile presets. The mobile
hero image was the flagged weak point last time — converting it to WebP and correcting
three accessibility failures took mobile performance from 84 to 94 and mobile LCP from
4.1s to 2.6s, and both accessibility scores from 96 to a clean 100. Desktop performance
sits a few points lower than the first run (91 → 87) — the underlying vitals (LCP, CLS,
TBT) are flat or slightly better, so that's ordinary run-to-run network variance on a live
site, not a regression. SEO is capped below 100 by a Cloudflare-managed robots.txt
directive outside this site's own files, not by anything the build controls.
Built for the phone first.
Nearly every emergency appliance search happens on a phone, one-handed, usually in a hurry. That is the primary target, not an afterthought at the end of the build.
- Call and message buttons above the fold on every page — no scrolling to find how to make contact.
- Sticky call bar along the bottom edge, so the action is reachable at any scroll position.
- Floating message button that pre-fills the service name for the page being viewed.
- Tap targets sized for thumbs, with the two contact buttons checked for collision at 390 px.
- 0.027 CLS on mobile — the layout does not jump under a thumb that is already reaching for a button.
- Verified in headless Chromium at 390 px and 1280 px on every page before handover.
Design decisions made to produce phone calls.
Every one of these is a choice with a reason behind it, not a style preference.
- One action per page. Everything on the page exists to produce a call or a message. No newsletter, no blog, no distractions.
- Two contact routes, always. Some customers call, some will only message. Both are permanently on screen.
- Pre-filled messages. The message button opens with the appliance already named, removing the effort of explaining the problem cold.
- Forms pre-set per page. The quote form on the AC page already has AC selected.
- Warranty stated up front. Six months on all repairs, in a strip near the top rather than buried in terms.
- Real hours, honestly. An earlier draft claimed 24/7. It was corrected to the true schedule — an inflated promise costs more in bad reviews than it wins in calls.
- Real photography of actual technicians at work, replacing the placeholder illustrations from the first build.
- Every tap tracked. Call and message clicks fire conversion events, so ad spend is judged on calls rather than clicks.
Not a screenshot — click around the real site.
This is the actual production build, scrollable and clickable, in a phone or desktop frame. Nav links, the appliance pages, the "Learn more" links — all live.
Want this for your business?
Tell me what you do and who you want calling you. You get a straight answer on scope, price and timeline — usually within a working day, at no charge.