← All writing
Craft · · 8 min

The redesign is a re-platform

The phrase that costs the most money is "just a refresh." The client isn't the one getting it wrong.

Agency Culture

I moved in the spring to a shop that builds stores, where re-platforming isn’t an accident that happens to a redesign. It’s the thing people arrive already asking for. Which has made me want to write down what kept going wrong at the last place, now that I’m somewhere it’s named honestly on the way in.

The brief was two sentences long and one of them was “we’re happy with the site itself, we’d just like to refresh the look and feel.”

We quoted for a look and feel. What we delivered, eventually, five weeks past the date we’d given them, was a new CMS, a content migration, a redirect map, and a look and feel.

I don’t think anybody was being dishonest, including us. I think that sentence is a trap that everybody walks into from both directions at once, and I’ve now watched it happen enough times to want to write down how it works.

The client is describing the site correctly

The first thing to get out of the way is that “just a refresh” isn’t a negotiating position or a sly attempt to get more for less. When people say it they mean it, and more importantly, they’re being accurate about the thing they’re looking at.

To them, the site is the pages. It’s the colors and the photography and the way the navigation sits, because that is 100% of what they have ever interacted with. Everything underneath it, the templates, the CMS version, the way the content is stored, the hosting, is plumbing they have never once had to think about, and they’ve never had to think about it because that was our job and we did it.

They're describing what they can see, which is precisely the part we spent four years making sure they never had to think about.

So when a request comes in that sounds small and turns out to be enormous, the gap isn’t in the client’s understanding of their own site. It’s in ours, about what we’ve made legible to them.

Why a coat of paint reaches the foundations

Three things, roughly, and it’s usually all three.

The content is full of presentation. Four years of a WYSIWYG editor means the body copy of a couple hundred pages contains inline styles, hardcoded pixel widths, tables that exist for layout, and at least one thing pasted out of Word that brought its own font stack with it. None of that is visible while the design stays where it is. Change the column width and the pasted table pushes a scrollbar across the page on every phone in the country. So the redesign requires touching the content, and touching the content requires knowing what the content is, and now you have a content audit, which is a project with its own budget.

The templates are the platform. In a lot of setups there isn’t a skin you can swap. The theme is where the logic lives, so the file that renders your listing page also contains the query that decides what’s in the listing, and pulling the presentation out of it means rewriting the thing that fetches the data. You went in to change a stylesheet and you’re in the data layer.

And the requirements moved while nobody was looking. This is the one that surprises people the most. The 2012 site was built to a set of expectations that have quietly expired. It has to be responsive now, and that argument ended a year ago when Google made it a ranking signal, so it isn’t a design preference any more. It should be on HTTPS, which as of last month is free and no longer has an excuse attached. It’s probably on a PHP version that stopped getting security patches, and the CMS has a major version behind it where the upgrade path is a rebuild rather than a button. Nobody decided any of that. It accumulated. But it all comes due in the same window, because a redesign is the only time anyone opens the box.

Priced the paint, not the house

Where I went wrong on that project wasn’t the work. It was that I priced a visible thing after looking only at the visible thing.

I’d seen the site. I’d seen the designs. I had not opened the CMS, not looked at a template, not counted the pages, and not asked what happens to the 400 news posts from 2013. So I gave a confident number for the 20% of the job I could see, and the other 80% turned up in week three, at which point I was already committed and the conversation was about why I’d got it wrong rather than about what to do.

Which is a bad conversation to be having in week three, because by then the client has told their board a number.

Three doors

What I do now, and I’ve done it twice and it’s worked both times, is refuse to give a number until I’ve had a proper look, and then give three.

A reskin, in place. Colors, type, spacing, imagery, on the templates that exist. Cheapest by a distance, fastest, and it comes with a written list of what it cannot fix, because the existing page structures are the constraint. If the current templates can’t do the layout the designer drew, then the design changes or the price does.

New templates, same platform. The site is rebuilt on the front end, the content stays exactly where it is, the CMS stays on the version it’s on. This is the middle option and it’s the one most people want once they can see it named. It doesn’t fix the platform, and I say so.

A rebuild. New platform, migrated content, redirects for every URL that changes, and an actual decision about what doesn’t come across. This is a different order of money and it’s the only one that fixes the underlying problem.

The point isn’t which one they pick. It’s that “just a refresh” is a description of the first option, and until somebody writes all three down, the client is choosing between one thing and nothing while believing they’ve asked for the cheap one.

Migration is the iceberg

Content migration, every time. It’s the biggest line item on the third option and it’s the one that gets waved through in the meeting.

400 pages sounds like a script. It isn’t, or rather it is for maybe 70% of them, and the rest are the ones with the weird embed, the ones where somebody built a two-column layout out of a table, and the 401st that nobody remembers exists but which is the top result for the company’s own name.

And the genuinely hard part isn’t technical at all. Roughly half that content is dead and should not be carried across, and the only people who can say which half are the client, and they will not do it, because it’s tedious and it involves admitting that a thing somebody wrote isn’t needed. I’ve watched that decision stall a project for six weeks. I now put it in the schedule as a task with their name on it and a date, which helps about as much as you’d expect, but at least the delay is visible when it happens.

Not their job to know

I’m not proposing anyone stop saying “just a refresh.” It’s a perfectly good description of what they want and it’s not their job to know what it costs.

The failure is on our end, and it’s that we hear a sentence about appearance and give a price for it, when the honest answer is “possibly, let me spend two days finding out, and I’ll charge you for the two days.” Every time I’ve skipped that I’ve paid for it out of my own evenings, and every time I’ve done it the conversation afterward has been about options rather than about blame.

Which is a fairly expensive way to learn to ask a question first, but here we are.

Read similar posts
7 min

Strangler fig

The pattern has a name and a literature, and the literature is about banks with 40 teams, and I have a 40-page site for a firm of surveyors, and the mechanics scale down further than anybody writes about.

7 min

The rewrite that shouldn't happen

This is the third proposal to rewrite the same system in five years, all three from competent people acting in good faith, and the interesting question isn't whether they're right, it's why the proposal keeps arriving.