Before you clean up an inherited site, find out what it’s holding up

Christopher Ross

9 min read

WordPress & CMS engineering · Fort Erie, Ontario

In this post

Last Tuesday I had my cursor on a line of code that looked like pure garbage, and I came within one keystroke of erasing the only proof that a business had been quietly turning orders away for years.

The line was an email-to-fax gateway. Years ago, when someone ordered a custom wood panel on the website, this little job took the order and faxed it, an actual fax, to the workshop that cuts the panels. It was a clever bridge in its day, carrying an order from a website to a machine on a shop floor that only knew how to receive a fax. I had the whole line selected and my finger on the key, because a fax gateway in this decade is the dictionary definition of dead junk. And I stopped. I still cannot fully tell you why. But I followed the thread, and here is what I found. It had stopped working. I cannot tell you when, and that is the part that haunts me, it could have been last year or it could have been a decade ago. The fax on the other end went away, and this little job kept quietly throwing custom orders into a hole nobody was watching. Deleting it would not have broken anything, because it was already broken. What deleting it would have done is erase the one clue that Wendell has been losing custom work for who knows how long.

The site belongs to Wendell, who runs a family lighting showroom. His father opened it in the seventies and Wendell took it over. For eleven years, one developer ran the website. One person, who retired this spring and left no notes and no forwarding address, only the logins he had already handed over. So I opened the hood and found archaeology: two page templates doing almost the same job, a plugin with no author name and not a line anywhere saying what it was for, and that dead fax gateway still dutifully reaching for a machine that stopped answering long ago.

My first instinct, the honest one I am a little ashamed of now, was to quote Wendell a cleanup. Two weeks, strip it back to something I would put my name on, take out what does not belong and keep what does.

The trap is the word “cleanup”

Take out what does not belong. Read that sentence back slowly. It assumes I already know what belongs in a business I have never run, and I had been in Wendell’s building for a week. Frances, who runs her own shop and comes on the show to make me show my work before I bill anyone, let me finish the pitch and then took it apart.

She has watched the other version of this, the one where nobody stops. A client of hers, a distributor, did a tidy rebuild a couple of years back. There was a nightly export nobody in the room could explain, a file that seemed to go nowhere. Redundant. So it got cut, in the name of tidy. It was the office manager’s payroll input. That file fed the commission numbers for the sales staff, and she had been opening it every morning for years, and nobody asked her because she was not in the meeting. Three people were paid wrong for a month before anyone traced it back. The fix took an afternoon. The bill was three employees who found out their own company could not get their pay right, and you do not buy that back with an afternoon.

Here is the everyday version. When you move into an old house, there is always one light switch that does not seem to turn anything on. The tempting thing is to decide it is dead and cap it off. But that switch might run the porch light, or a pump in the garden, or an outlet two rooms away you have not tested yet. The person who finds out what it did is whoever needed the thing it controlled, at the exact moment they reach for it and nothing happens. An inherited site is a whole wall of those switches.

Finish the sentence before you cut

So before I touch anything now, I make every weird thing finish one sentence. The day this is gone, the person who notices is blank, and they notice when blank. If I can fill both blanks, I know what I am holding and I can decide. If I cannot, I do not cut. I go and find out first. An empty blank just means I do not yet know enough to be trusted with the delete key.

Frances put the whole thing into one line on the recording, and it is the line I have not stopped repeating since.

Somebody’s ugly workaround is somebody else’s payroll.

The ugliness is mine to look at. The payroll belongs to a person who never sees the code and cannot afford for me to be wrong about it.

The one thing that did have to go on day one

Here is the twist, and it runs the other way. Building the map at Wendell’s, the same eye that wanted to bulldoze the place found the one thing that actually did have to go that day. An old test coupon, years old, never taken down, still live. Any order that arrived through one particular old link, an email from years back or an old copy of the page a browser had kept, silently took fifteen percent off. No questions asked. Call it a few hundred dollars a month walking out the door, every month, for who knows how long.

Frances made her own confession about that one. Her instinct is to leave the working thing alone, and by that rule she would have left the coupon live. She was not conceding the instinct, she told me, because leave the working thing alone is still right most days. She was conceding the order. Map first, then cut. The coupon proved that the same careful eye that stops you deleting a line you do not yet understand is the eye that spots a live coupon bleeding margin while everyone else is admiring the tidy. The instinct was never the problem. The order was.

The site is a diary, not a dumpster

I want to say something about the developer who built all of this, because the easy move is to make him the villain, and he is not. Every weird thing in that site was a decision that made sense to someone under a constraint I cannot see anymore. Think about that fax gateway. The workshop had one machine that took orders and it went beep, there was no budget to put a computer next to the saw and no clean way to get a web order into a fabricator’s hands, so he bridged it, and for years the custom orders just appeared where the work happened. It was the cheapest, smartest fix a person could reach for with the tools of that day. That it eventually went quiet, long after he had gone and with nobody left who knew to check, is not a mark against him. The whole site reads that way once you slow down: a diary of decisions, and you do not strip a diary for parts. You read it first.

This is the same thread I pulled in the episode Frances and I recorded two months ago, When everybody says they’re behind, find out what actually breaks. Back then she was the one telling me a job could wait, and I fought her. Rescue is a conversation before it is a commit. The two-week question there and the finish-the-sentence question here are the same reflex pointed at a different mess: stall long enough to find the number before you act on the feeling. The short version of that conversation is the whole point of a 20-minute discovery call, which forces the real problem to the surface before either of us spends a fortnight being agreeable about the wrong one.

What you can do this week

You can do the first half of this yourself, this week, and it would be dishonest of me to pretend otherwise.

If you have inherited a site, or you are about to, do not open by deleting anything. Open by listing the weird things, every one you cannot explain, and make each one finish the sentence. The day this is gone, the person who notices is blank, and they notice when blank. The rows you can fill, you can decide. The rows you cannot, you leave alone until you have asked the person who might be living downstream of them.

I put that on a single page you can keep beside the keyboard, The Inherited-Site Load-Bearing Map. One row per weird thing: what it is, who touches it, the day it is gone who notices, how long until they notice, and whether to cut, keep, or investigate. It will not tell you which blank you filled in is a lie. The map lists the weird things you can see. Knowing that a dead fax gateway has been swallowing custom orders for years, or that an abandoned coupon is quietly live and lying, reading the wire between a line of code and a person’s Friday, is the rescue-work judgment you hire a person for and not a worksheet. And if you would rather have a second set of eyes walk the whole map with you before anything gets cut, that is exactly what a proper site audit is for.

The developer before me built that fax gateway to solve one small problem, and it did its quiet job for years, and then it died just as quietly with nobody watching the day it went, and it still looked like garbage to me. Before you sweep out the mess, find out whether the quiet thing is dead, or just holding up something you cannot see.

Keep reading

Working through something on your own site? Get in touch →

Leave a Reply

Your email address will not be published. Required fields are marked *

Your rating (optional)

Your name and email are stored with your comment; only your display name is shown publicly. See our privacy policy.