Aftermath Web design

Work

8 jobs, before and after

What the work looks like.

Every one of these arrived broken. What was actually wrong with it, what was done, and what the numbers did afterwards. Find the row that sounds like your week; the fix is usually the same shape.

Every bar below is drawn on the same axis, so the rows are comparable to each other rather than each one scaled to flatter itself. The tick on each bar marks the threshold that counts as good: one megabyte transferred, and 2.5 seconds to render the main content.

Situation, work, result
  • 01

    Dental practice, two locations

    Situation The agency that built it had closed. Every page loaded a four megabyte background video and a slider nobody on staff could remove. The new patient form had stopped sending at some point, and nobody knew how long it had been broken.

    Work Rebuilt as plain pages with no page builder. The video came out and a single compressed photo went in. Forms rewritten to write every submission to the server first and send the email second, so a mail failure loses a notification instead of a patient.

    Result A little over a second on a phone instead of nine. Two months of enquiries were still sitting unsent in the old form plugin, which is a conversation nobody enjoys having.

    Page weight, before 4,180KB
    Page weight, after 410KB
    Load time, before 8.9s
    Load time, after 1.1s
  • 02

    HVAC contractor

    Situation Three different phone numbers across the site and a fourth on the Google listing. The site did not come up for its own trade in its own town, so the owner was buying ads to cover the gap.

    Work One phone number, stored in one place, appearing everywhere from that one place. Rewrote the service pages around the words customers type instead of the words the trade uses. Added the markup that tells search engines what the business does and where it does it.

    Result It ranks for its trade terms now. Calls land on the number that actually gets answered, which sounds too obvious to count as work and was the single biggest fix on the job.

    Page weight, before 2,600KB
    Page weight, after 320KB
    Load time, before 5.4s
    Load time, after 1.4s
  • 03

    Home goods store, several hundred products

    Situation A WooCommerce shop that ran fine at forty products and fell over at four hundred. The shop page pulled the whole catalogue in one query and sent full resolution photography to phones. Checkout asked for fourteen fields.

    Work Rebuilt the catalogue pages with real paging and bounded queries. Every product image resized and served in a modern format with a fallback. Checkout cut to eight fields, which took one meeting about what the other six were for.

    Result The shop page went from unusable on a phone to about a second and a half. Carts abandoned at checkout dropped, measured in the store's own analytics rather than against somebody else's benchmark.

    Page weight, before 6,900KB
    Page weight, after 780KB
    Load time, before 11.2s
    Load time, after 1.6s
  • 04

    Law firm, three attorneys

    Situation Hosting lived in a former developer's personal account, billed to a card that had expired. Nobody at the firm knew where the domain was registered. The certificate had lapsed, so visitors were getting a browser security warning instead of the site.

    Work Traced the registrar, recovered the domain into the firm's name, moved hosting and email into accounts the firm owns, and set up the three records that stop mail landing in spam. Rebuilding the site was the easy half of that job.

    Result The firm owns its own domain, its hosting and its email. The certificate renews itself. Client mail reaches inboxes instead of junk folders.

    Page weight, before 3,100KB
    Page weight, after 340KB
    Load time, before 6.1s
    Load time, after 1.0s
  • 05

    Physical therapy clinic

    Situation Fine on a laptop and unusable on a phone. Buttons overlapped each other, the menu needed a pinch to open, and the appointment form ran off the side of the screen. Phones were most of the traffic.

    Work Rebuilt phone first, with buttons big enough to hit with a thumb and a form that fits the screen it is being filled in on. Tested with a keyboard and a screen reader before launch rather than after somebody complained.

    Result Meets WCAG 2.2 AA. Appointment requests from phones went from rare to the majority, which is where the traffic had been sitting the whole time.

    Page weight, before 2,200KB
    Page weight, after 290KB
    Load time, before 4.7s
    Load time, after 1.0s
  • 06

    Restaurant group, four locations

    Situation Four separate websites built at four different times by three different people. Menus were PDFs. Opening hours disagreed with each other and with Google. Changing a special meant emailing somebody who might reply that week.

    Work One site, four location pages, all of them reading from a single file. Menus became real pages instead of PDFs, so they are searchable and readable on a phone without pinching. Hours are entered once and appear everywhere.

    Result Individual dishes turn up in search results now. Changing a price is one line in one file instead of four PDF exports and an email.

    Page weight, before 3,600KB
    Page weight, after 380KB
    Load time, before 7.2s
    Load time, after 1.2s
  • 07

    Nonprofit, single programme

    Situation WordPress two major versions behind, running a donation plugin with a publicly published security hole. The only backups sat on the same server as the site, which is not a backup.

    Work Took a full copy off the server before touching anything, then rebuilt without the plugin stack. Donations moved to a hosted processor, so card details never reach the site at all.

    Result Nothing left that needs patching on a schedule. Backups live somewhere other than the machine they are backing up, and a restore has been tested rather than assumed.

    Page weight, before 2,900KB
    Page weight, after 260KB
    Load time, before 5.9s
    Load time, after 0.9s
  • 08

    Specialty retailer, one storefront

    Situation Two years of a monthly marketing retainer that produced a PDF of graphs. Traffic was flat, the site had not been touched in that time, and nobody in the shop could say what the money was buying.

    Work Read what was actually there first. Fixed the crawl errors, removed the duplicate pages competing with each other for the same searches, and rebuilt the four pages carrying almost all the traffic. Ended the retainer.

    Result Search Console shows the errors gone and impressions climbing on the pages that sell things. The retainer money now buys nothing every month, which the owner counts as the main result.

    Page weight, before 3,300KB
    Page weight, after 520KB
    Load time, before 6.6s
    Load time, after 1.5s
Yours next

Next

Start with your own numbers.

The before column on every row above started as a measurement somebody ran once and did not like. Yours takes about twenty seconds and costs nothing.

Measure my site Or go straight to a quote