How to Redesign an Existing Website and Migrate to Production
If you’re a freelance web designer or developer, or you run an agency, there’s a good chance that a lot of your business will be redesigning existing websites.
Most potential clients out there already have a website, but many are old, possibly designed and coded on the cheap, and need a revamp. Some clients will be running a static site which you’ll need to replace with a shiny new WordPress site.
In this post, I’m going to run through some best practices for going about this. I’ll identify the questions you’ll need to ask the client, the technical information you’ll need from them, and take you through the steps involved in creating and launching a new WordPress site for your client.
Every situation will be different, so you’ll find some of this advice more useful – so make sure you ask all the relevant questions upfront so that you take the right steps and don’t find yourself having to redo your work partway through the project.
The topics I’m going to cover are:
- The objectives and brief
- Hosting and domains
- Design and branding
- Development and migration
So let’s get started with the first thing you need to understand – the brief!
The Objectives and Brief
Before you can start work on your client’s new site, or indeed before you can provide an accurate quote for the work, you’ll need a thorough understanding of the brief.
This will include some things the client is eager to tell you and some they may not have thought of. It might also include some things the client is keen on but aren’t really feasible.
Some questions you’ll need to ask are:
- What’s the context? What kind of business is this and how is it expected to develop? This is important as the website needs to meet broader business objectives.
- What other marketing tools does the client use? Which are online and how will they be integrated into the website?
- What is the target market for the business and the website? This will impact on the design and content as well as other social media channels the client is using or wants to use alongside their website.
- Will the website include e-commerce, bookings or any other kind of process? How does it fit into the client’s marketing funnel?
- Who are the stakeholders? This can be a major headache. I once built a site for a client where a project manager oversaw that whole project, signed off on work and paid my invoices. Then when we were about to launch, she showed it to the managing director, who said she didn’t like the design and wasn’t going to launch it. I’ve since learned to check who will have the final say!
- Who will be involved in providing content and managing the site on an ongoing basis? They need to learn how to do it, which might be part of your job.
Depending on your client and their needs, these questions will spark more follow-up ones. Make sure you get a solid understanding of what’s required before you start making design proposals.
Design and Branding
Part of the brief will be designing the site, and aligning it with the branding the client is using elsewhere. In my experience this can be where problems arise. Some clients have a fixed idea of the design they want, and it isn’t always what’s appropriate for their site.
If your client asks you to just copy another site, ask what it is they like about that site, then identify how you can create a unique design using those elements. You don’t want to make yourself vulnerable to legal challenges once the site goes live.
And if a client wants to copy a competitor’s site, you should resist and even refuse. I once had a call from a prospective client who wanted to set up a car hire business and make a carbon copy of the Hertz site. I tried to explain why this wouldn’t be a good idea, both from a design and a business perspective, but he was insistent. I told him I wouldn’t be able to take on the job. I have no idea if he ever found a developer who was prepared to do that!
Make sure you understand what the client wants to achieve with the design rather than just what they want the site to look like. With your experience of web design and development, you can probably recommend something that will be more appropriate to their brand and business.
You will need the client to provide certain assets and information so that you can incorporate their branding into the theme you create for their site:
- Logos and other brand images, preferably as transparent PNG files
- Colour references
Sometimes the font the client is using for offline branding won’t be available as a web font. Work closely with the client in identifying an alternative font to use on their website. If the client is a new business or they’re undergoing a rebrand, it may be simpler to find a new font available both on- and offline.
Hosting and Domains
You’ll need to know where the site will be hosted. Does the client have their own hosting or do they need you to provide it? Will they be using an existing domain or will they switch domains?
If the client has an existing site using their domain name, and the new site will be using that same domain name, you have three options:
- Build the site locally or on a staging or development server. When it’s ready to go live, simply put the domain into maintenance mode and upload the new site. This will mean some downtime so not all clients will be happy with it. It’s good practice to do all your development on a development server or a local machine, but you will probably need to make it accessible online via a private link for the client to sign off on the stages of the development. I use the Coming Soon plugin to support this.
- Build the new site on a second domain (many clients have more than one) which you keep private until it’s ready to launch. Once the new site is live, take down the old site and redirect that domain name to the new one.
- Build the site in a subdirectory of the existing domain and then tell WordPress to use that subdirectory for the main site, once it’s ready to launch.
If you don’t have access to the existing hosting or domain, you’ll need the client to provide this. This can prove complicated. Sometimes your client won’t have the technical understanding to know what you need. And sometimes their previous provider will either be uncontactable or refuse to hand it over. I have one client whose site I managed for two years before their previous web designer gave up access to one of the domain names. Luckily we could use another one which the client had registered herself.
If your client doesn’t know what you need, simply ask them to forward the first email they ever received from their hosting provider and/or domain registrar. This should give you what you need to access the domain and hosting.
Transferring a Domain to Another Registrar
If your client wants to transfer the domain to a new provider as part of the redevelopment of the site, or if you prefer to have all the domains you manage with your own provider, you’ll need to transfer it.
The process will depend on the existing and new domain registrar and the country the domain is registered in. Your registrar should be able to provide you with full details. You’ll need to release the domain from the old registrar (or your client will) and then register it with the new registrar. Providing the domain isn’t expiring soon, this should be free.
Transferring a Site to Another Hosting Provider
If the client wants to move their website to a different hosting provider, or they want you to host the site, then you’ll need to ensure the domain is pointing at the new hosting provider once the site is ready to go live. I tend to use a temporary domain or subdirectory during development and then redirect the domain for launch. This saves you having to manage the new site in the same place as the old site.
Creating a New Site in a Subdirectory of an Existing Static Site
If you do need to load the new site to the same location as an existing static site, then you don’t have to remove the old site until the new one is ready to go live. Simply create the new site in a subdirectory of the existing site, making sure that you turn off search engine access and ensure that only people with a password can view the new site (you can do this with a plugin like Force Login).
Once you’re ready to go live, you’ll need to copy a couple of files and edit some settings, following these instructions. It only takes five minutes.
All websites need content, but it’s amazing how little attention many clients will give to this.
Establish at the outset who will be responsible for providing and uploading content, and when. Will they be sending content for you to add to the site during development, or will you need to give them access so they can do it? If you’re required to do it, make sure you charge for this.
You also need to consider navigation. If the client is adding their own pages to the site, they’ll need to add them to the navigation menu(s). You might need to teach them, although I find that most clients already have someone who’s sufficiently familiar with WordPress these days. But don’t assume that a staff member who’s run a simple WordPress blog from home will be able to switch to managing a complex site using custom post types, taxonomies and plugins.
If the client has an existing site, they may want to import the content. If they’ve been using WordPress or another content management system, there will be an import tool you can use, although you may need to do some work reassigning post types afterwards. If their old site is static, chances are there isn’t a lot of content and it won’t take long to import manually. And it may all be in need of updating with new content anyway.
The environment you use for development will depend on how you normally work. If you’re in a team, you may have a local network you all access, or a development server online.
There will be times that you need to get the client’s approval for work. If you’re presenting it in person, you can just take your laptop along. But if they’ll be signing work off remotely, you’ll need a remote location that the public can’t access.
You can do this using a plugin or by locating it on a password protected server – see the section on domains above for some tips.
Once the site is ready for launch, you’ll need to migrate it to the live server. Make sure you’ve planned this in advance and have a secure, robust system for doing it. Using a deployment tool like DeployHQ can make things easier. Or you can do it manually by following these instructions.
Planning and Understanding Are Key To Redesigning a Client Site
If you’ve been hired to redesign a site for a client, it pays to take the time to get a thorough understanding of the project and to plan how you’ll do it. If you follow the steps above and make sure you’ve got answers to all the questions I’ve listed, you shouldn’t go far wrong.