Repair or Replace?

Car being repaired

Recently a question came up about whether it’s better to repair or replace a WooCommerce site that wasn’t well built. Here’s the options and what I recommend.

General options:

  1. Replace with a brand new installation — This is a tempting option. Starting over means eliminating ALL of the old stuff, but it requires additional steps of migrating historic data (customer records, product records, order records, settings, etc.). Settings can consist of things less often thought about, such as shipping rates, tax rates, plugin service connections. Setting-up a new site with a customized theme typically takes about 20 hours of work before any business logic customizations or data import work.
  2. Repair the current installation — This is the most common route taken. However, it does come with the risk of not knowing just how much needs to be cleaned-up, repaired, or for that matter learned as a nonstandard solution. This is a more risky route to take, but promises to save costs wherever possible. It’s also quite compatible with an agile approach to project management – taking things in steps with deliverables and re-evaluation of priorities along the way.
  3. Something in between — I have a specialized technique where I can start with the existing database and media library (images), then cut down the database to only have the data to be preserved as we reset and start the build from scratch. This technique preserves order IDs and product IDs (and anything else we decide to preserve). Export/import solutions such as the official one will reset those IDs though it is possible to set order number (displays) to match the previous order ID. My approach avoids having to do that unless the new site had already been launched, in which case an export/import is necessary to merge systems. I recommend knowledge of the database layer and working with a full-stack developer in this area.

So which option is best for you?

In most cases I’d follow option two to save costs. In situations involving larger messes I’d gravitate towards option three as it allows me to tailor what gets redone to the project’s needs and preserves those valuable record IDs without having to mess with importing. Option one is suitable for clients who don’t mind repeating work from the past, especially where the client is doing much of the work internally so costs get saved that way.