Replacing Existing WordPress Sites – WPQuickies

In this lunchtime #WPQuickies, I’m going back to WordPress basics and explaining the difference between categories and tags and when to use each appropriately.

So you’ve spent a while redesigning your client’s website, either on your local machine or a staging site the client can access.

You’ve met all the milestones, the project brief and the client has approved the site for production release.

Then this question pops into your head:

“How do you replace an existing WordPress website with the newly redesigned one?”

It’s a question I get asked frequently!

Hopefully, you asked this question long before you got to the end of the project, but the result is the same.

Let’s have a look at the options and dig into some of the details.

Live Website Assessment

First, you need to determine what type of website the client has to determine the approach you need to take to replace it.

Is the live WordPress website:

  • A brochureware site?
  • An active company site?
    Many pages, sales and landing pages, busy, active blog and comments
  • An e-commerce site?

A Brochureware Site 

We’ve all seen these types of sites and may be created or maintained a few.

These sites are comprised mainly of the usual pages; Home, About, Services, Contact, Privacy, T&C.

Some may have a small spattering of blog posts that are infrequently posted and even fewer comments.

This type of site is easily replaced in its entirety by a new copy, ensuring the preservation of  SEO rankings.

An Active Company Site

Company websites with high traffic, landing and sales pages that make money, and frequent content updates are difficult to replace as data accumulates over the development project.

Your client may be willing to stop editorial updates for a few weeks while you implement the new design, but it’s doubtful they will agree to anything longer than a couple of weeks.

The accumulation of data on the live site is a big problem that needs a well-defined strategy to be in place.

An E-commerce Site

Any site that sells stuff from within the WordPress website, whether a shop plugin like WooCommerce, a membership site, or even a Learning Management System (LMS) like LearnDash, shares the same live site data accumulation issue as mentioned above.

The client is even less likely to suspend trading during your project development time due to direct loss of business and revenue.

You need to come up with a strategy to deal with the accumulating data on the live website.

Option 1: Work On The Live Website

I know some designers and developers take this approach.

I remember chatting to a developer at a WordCamp a few years back who told me they hacked away at live websites and would race to clean up problems before the client noticed!

For me, making sweeping design changes on a live website during a redesign project is a huge red flag, and I would never recommend this approach.

There are too many things that can go wrong.  Here are just a few;

  • White screen of death
  • Customer UX and UI issues
  • Logins and registrations not working
  • Backups backing up a broken site, compromising restorations
  • Increase in customer support tickets
  • Customer sues you for loss of revenue

Please never make a series of sweeping changes to a live website.  You are just inviting trouble into the mix.

Option 2: “Merge” New Website Into Live

First, we have to define what we mean by “merge”.

You cannot “merge” data from two different copies of a WordPress database.  The new content you added when redesigning the website will likely have other post ids and unique keys to the live database.

When we talk about merging WordPress websites in this context, likely we mean taking a copy of the new data the live site has accumulated during the redesign process and inserting it into the new website copy.

You can ask the client to refrain from adding new content for static websites during the project build phase.

However, this becomes very difficult for e-commerce websites.  

Stopping customers from placing orders also cuts the client’s profits and damages the brand image; customers may not return after going elsewhere.

Add New Design Elements To Existing Live Website

In this situation, the live site continues to accumulate new data in the database.

Once the new website has been created and approved for production release, add the new design components in a single update to the existing live site.

Adding new design elements to a live website is usually done when the site has low traffic, or the website owner has allocated a time slot, notified users and put the website into lockdown/maintenance mode.

Plenty of plugins help you put a website into maintenance mode, preventing logins, updates, and transactions from being processed.

While moving physical theme and plugin files is easy, their configurations and content may not be.

Some themes and plugins allow the import and export of settings and content, but most don’t.

The designer or developer will have to rely on good documentation of processes taken throughout the new website build project, applying them to the current live website.

Configuring new design elements on a live site to match your staging site copy is difficult to do right as a minor configuration or data missed can throw the whole website off.

This strategy is not the option I prefer, but sometimes this decision is taken from you. 

After all, it’s the client’s website and business.

Option 3: Replace Existing Website / Export and Import Changed Live Data

In this situation, the live site continues to accumulate new data in the database.  

The accumulated live data can be product changes, new orders and customer registrations, for example.

The strategy to use here is to:

  • Identify the data types that will change during the project build phase
  • Document data IDs at the point when you create the development snapshot site

I keep database snapshot information in a Google sheet with the table name, row number and date columns.

At some point, the client will have to close the website down to migrate to the new website.

This shutdown window must be as short as possible, at a time of low website traffic and not directly before known traffic spikes like seasonal trading (if something can go wrong at the worst time, it will).

You then need to:

  • Extract new live data since you took the development snapshot
  • Import new data into your staging site
  • Copy the staging site to live, overwriting the existing site

This process needs to be well documented and be accomplished on a staging server reliably with approval from the client.

As with the previous strategy, this is not an easy walk-in-the-park thing to do, but certainly doable.

This strategy is my preferred option.

How To Move A WordPress Website To Another Server

For files, I zip them up on the staging server and SCP (secure copy over SSH) to the live hosting account, then log in and unzip them using the SSH shell.

If this is not available, I use the File Manager extension of cPanel, Plesk or equivalent to upload and extract zip files for the new design.

I use WP All Import and Export Pro plugin for 99% of all my live migrations.

WP All import and export

https://www.wpallimport.com/

You can buy the pro version along with their WooCommerce and other add-ins, making this process achievable.

Otherwise, you can write your export and import queries within the plugin and save them to test and reuse.

I also use WP-CLI https://wp-cli.org/, which is an SSH command-line version of WordPress that allows me to replace the URL of the staging site with that of the live site in a single command super quickly.

WP CLI

Here’s an example command to replace the URL:

wp search-replace “https://client1.local” “https://realdomain.com.au”

If SSH is not available, which is rare, I use the plugin WP Migrate DB https://wordpress.org/plugins/wp-migrate-db/, which replaces old URLs with the new URL during export of the database SQL.

Summary

Replacing a live busy or e-commerce website with a newly redesigned version is tricky, and there is no single approach to this.

It’s all about minimising risk to you as the designer/developer and the client for loss of business and earnings and confidence in identifying, exporting and importing new data.

Do you still have questions about replacing an existing live WordPress website?

Answer in the comments below.

#WPQuickies

Join me every Thursday at 1 pm Sydney time for some more WPQuickies – WordPress tips and tricks in thirty minutes or less.

Broadcasting live on YouTube and Facebook.

Suggest a #WPQuickies Topic

If you have a WordPress topic you’d like to see explained in 30 mins or under, fill out the form below.

https://forms.gle/mMWCNd3L2cyDFBA57

Watch Previous WPQuickies

WordPress Logins Using Social Media - WPQuickies

WordPress Logins Using Social Media

Was this article helpful?
YesNo