How I Handle WordPress Site Migrations, My Personal Workflow (Part 1)

It’s almost 10 a.m., and I still feel very sleepy. I should still be sleeping today, but I have a back job left over from last night that I need to finish. My time isn’t paid, but I enjoy doing site migrations—I consider it an easy task, and I’ve been doing it regularly. I only handle WordPress sites and static websites; I don’t have experience migrating other CMS platforms.

The first thing I do during site migrations is disabled all plugins, especially security plugins, as they often get in the way. I also switch the theme to one of the default WordPress themes. I’m not exactly sure why, but it’s become a habit—some custom themes can cause issues after migration.

To back up the site, my favorite tool is the All-in-One WP Migration plugin. I also use WPVivid. I can perform manual site migrations via the Linux command line if I have direct server access. However, the site I’m currently working on only provided WP Admin credentials, so I’m using plugins to handle the migration.

The issue the customer faced during migration was that the site layout broke, and the blocks weren’t migrated properly. Initially, I migrated the site to my local test environment to demonstrate that the migration process itself was successful.

Site migration

I then reached out to the customer to show them the working version and asked for permission to overwrite the files on the new site and proceed with the migration. For a small website, I was surprised that the backup file size was 4GB—likely due to the media files.

Before creating the backup, I use WP-Optimize to clean up the database. After optimizing, I uninstall and delete the plugin. This extra step reduces the database size, making the backup process faster and lighter, especially useful for content-heavy or frequently updated sites.

Since the file is 4GB, it took around 30 minutes or more to create the backup. The process could be faster for users with better internet connectivity.

Because the target site already had content on it—left over from a failed migration attempt by the client—I wanted to ensure it was clean before proceeding. To reset the site to a fresh WordPress install, I used the WP Reset plugin. After that, I installed the All-in-One WP Migration plugin and started uploading the backup from my local storage.

While writing this blog post, I’m currently uploading the backup file, and it’s now at 29.71%. At the current speed, it could take 30 minutes or more to complete the upload.

I suddenly felt sleepy, so I decided to let the backup run and take a short nap.

Leave a Reply

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

Scroll to Top