The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Move a WooCommerce store by treating it as a controlled WordPress migration: back up every file and the complete database, prepare a compatible destination, restore both, update configuration and URLs only when required, run WooCommerce’s pending database updates, test the store before DNS changes, then cut over and monitor. Keep the old installation and an untouched backup until the new store has passed acceptance checks.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
Choose the migration approach before touching the live store
The right method depends on how much control you need, how comfortable you are with server tools, and how many orders arrive during the move. A small catalog with a quiet checkout can tolerate a short maintenance window. A busy store needs a write freeze or a documented final database-delta process.
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →| Approach | Best for | Advantages | Risks and trade-offs |
|---|---|---|---|
| Manual files plus SQL | Administrators who can use hosting panels, SFTP, SSH, or a database client | Full visibility, repeatable backups, and no dependency on a migration plugin | More opportunities for permission, import, timeout, and configuration errors |
| Migration plugin | Owners who prefer a guided interface and the source and destination support the same tool | Convenient packaging and, in some products, serialized-data handling | Large sites may hit upload, PHP-memory, or timeout limits; plugin compatibility must be verified |
| WP-CLI | SSH-enabled servers and repeatable or scripted moves | Fast, automatable exports, imports, searches, and checks | Requires command-line access and careful shell/database credentials |
| Managed migration service | Stores that need staging, backups, monitoring, or operational help | Support with server configuration and cutover planning | Less direct control; confirm exactly what is backed up, tested, and handed over |
WordPress’s migration guidance says that moving to another server does not require reinstalling WordPress. The essential sequence is to copy the site files, import the database, and adjust wp-config.php when the destination credentials differ.
Inventory the store and define a change freeze
Create a written inventory before taking a backup. It becomes your compatibility checklist and your rollback reference.
#1 Best Overall
- Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Record the software and server state
- WordPress and WooCommerce versions, including whether WooCommerce reports pending database updates.
- PHP version, database engine and version (MySQL or MariaDB), enabled PHP extensions, memory limits, maximum upload size, and execution limits.
- Web server type, rewrite configuration, HTTPS certificate method, CDN or reverse-proxy settings, and cache layers.
- Every active plugin, theme, mu-plugin, custom integration, child theme, and code snippet. Note licenses or API keys that may be tied to a hostname or IP address.
Record commerce and operations
- Payment gateways, test and live credentials, webhook endpoints, callback URLs, and fraud or 3-D Secure settings.
- Shipping zones, tax configuration, currencies, checkout fields, coupons, subscriptions, downloadable products, and refund workflows.
- WP-Cron or system cron jobs, WooCommerce scheduled actions, feeds, imports, inventory synchronizations, analytics tags, transactional mail, and support integrations.
- Admin accounts and roles, customer login behavior, order numbering, the newest order ID, product count, and media-library count. These numbers provide an objective post-migration comparison.
Decide how to stop writes
For a low-traffic store, schedule a maintenance or order-freeze window and display a clear message before exporting the final database. Do not merely block the front page while leaving an alternate checkout, API, mobile app, or administrator able to create orders.
If orders must continue, plan a final delta: keep the source authoritative, record the exact export time and newest order ID, export or replicate changes created afterward, and reconcile them on the destination before opening checkout. A file-only copy cannot capture orders, customer changes, stock reductions, refunds, or subscriptions written to the database after the export.
Recommended Free Tools
Create two independent backups
Make one complete backup before preparation and a second immediately before cutover if the store remains writable. Keep one untouched copy away from both hosting accounts. Treat all copies as sensitive customer data.
Back up the complete WordPress directory
Copy the entire document root, not just the active theme. Include wp-content/uploads, plugins, themes, mu-plugins, language files, custom scripts, .htaccess, and any files outside the usual WordPress directories that the site uses. Preserve symbolic links where applicable and retain file timestamps if your transfer method supports them.
Export the complete database
Export every WordPress table, including tables created by WooCommerce, extensions, memberships, subscriptions, analytics, and custom code. A WP-CLI export is:
wp db export backup.sql
Run it from the WordPress directory while authenticated to the source installation. A hosting-panel or database-client export is acceptable when it includes all tables and does not silently omit large or custom tables. Record the dump size and its checksum, then test that the archive and SQL file can be opened.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsProtect and verify the backups
- Encrypt backups during transfer and storage. Do not place SQL dumps, archives, or copies of
wp-config.phpin a web-accessible directory. - Store one copy outside both the old and new hosts. A backup on the server that is failing is not an independent rollback.
- Verify that the archive contains uploads and that the SQL dump includes recent orders, users, products, and WooCommerce tables.
- Keep database credentials, API keys, payment secrets, and customer exports out of tickets, chat logs, and public repositories.
Provision a compatible destination server
Create the destination site, database, database user, HTTPS certificate, mail service, and cron service before importing anything. Match or exceed the source’s supported runtime rather than changing several major components at once.
Match the runtime and extensions
- Use a PHP version supported by your installed WordPress, WooCommerce, theme, and plugins. Confirm required extensions such as the database driver, cURL, DOM, fileinfo, GD or Imagick, JSON, mbstring, and ZIP where your stack requires them.
- Use a compatible MySQL or MariaDB version, character set, and collation. Preserve
utf8mb4settings when the source uses them. - Set adequate PHP memory, upload, post-size, and execution limits for the catalog and import size. Large SQL imports often fail because of a control-panel timeout rather than corrupt data.
- Replicate web-server rewrite behavior. Apache needs the correct
.htaccesshandling; Nginx needs equivalenttry_filesand HTTPS rules.
Prepare services before the DNS switch
Issue the destination certificate and configure mail sending, DNS authentication, cron, object or page caching, CDN origins, and firewall rules. Create a separate staging or preview hostname if the provider offers one. Never let a payment gateway or webhook mistake a preview environment for live production.
Transfer files and import the database
Upload the files
Put the copied WordPress directory in the destination document root. SFTP, SSH transfer, or the host’s archive extractor is generally more reliable than uploading thousands of individual files through a browser. Check ownership and permissions so the web process can read WordPress files and write only the directories that need uploads, caches, or updates.
Rank #2
- Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Create the destination database
Create an empty database and a user with the privileges WordPress needs. Note the database name, username, password, host, port, and table prefix. Import the SQL dump only after confirming the destination database is the one selected; importing into the wrong database can make a healthy migration appear empty.
wp db import backup.sql
The WP-CLI db command can also check, query, create, and reset databases. Use those operations deliberately; a reset destroys the destination data.
Update wp-config.php
Edit only the values that changed: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, and, if applicable, $table_prefix. Preserve the authentication salts, charset, debug settings, and custom constants unless your deployment plan calls for a controlled change. Do not paste credentials into a public support request.
Handle domains and URLs without corrupting serialized data
When the domain and paths stay identical
If the database and public URL remain the same, preserve the existing home and siteurl values. You usually need only the file copy, database import, configuration update, rewrite check, and testing. Do not run a global replacement merely because the server changed.
When the domain, scheme, subdirectory, or hostname changes
Change URLs in an ordered, serialization-aware operation. WordPress stores some settings as serialized PHP values that include string lengths. A blind SQL replacement can leave those lengths wrong and break widgets, page-builder layouts, theme settings, and plugin configuration.
Take a fresh backup, run a dry run, and target the old URL exactly, including the scheme and path. With WP-CLI, a typical pattern is:
wp search-replace 'http://old.example' 'https://new.example' --all-tables-with-prefix --dry-run
Review the table and replacement counts, then repeat without --dry-run when the result is correct. Exclude columns such as guid only when your migration policy requires it; changing GUIDs can affect feed identity. A dedicated search-and-replace tool that understands serialized values is an alternative. Do not use a plain SQL text replacement across the whole database.
Plan redirects and canonical behavior
For a domain change, create permanent redirects from every important old path to its corresponding new path, not just to the home page. Review canonical tags, robots rules, XML sitemaps, Open Graph URLs, image URLs, CDN hostnames, hard-coded API endpoints, and email links. Keep redirects active for as long as users and search engines need them.
Regenerate WordPress rewrites and caches
After the destination responds correctly, sign in to WordPress and open Settings → Permalinks. Click Save Changes without changing the structure; this regenerates rewrite rules. On Apache, inspect .htaccess. On Nginx, confirm the equivalent server-block rules are loaded.
Rank #3
- Easily store and access 1TB to content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop. Reformatting may be required for Mac
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Purge page, object, opcode, CDN, and host-level caches after the import. Clear any cache that still points to the old origin. Verify that logged-in users, cart pages, checkout, account pages, and AJAX or REST requests bypass inappropriate full-page caching.
Run WooCommerce and WordPress database updates
Log in to the destination dashboard and check WooCommerce’s status screen for pending database updates. WooCommerce’s command-line interface supports WooCommerce 3.0.0 and later. When updates are pending, run:
wp wc update
This is useful for busy stores because it avoids an interactive administrator timeout, but take a database backup first and run it while the store is not processing orders. Confirm that the command completes successfully, then review WooCommerce status, scheduled actions, logs, and any extension-specific upgrade notices.
Do not use a migration as an excuse to perform unrelated plugin, theme, PHP, or database upgrades. If an upgrade is necessary, record it as a separate change so a failure has a clear cause.
Test the migrated store before changing DNS
Use a provider preview URL, a temporary hostname, a staging URL, or a hosts-file override that maps the domain to the new IP. A hosts-file test changes only your computer, so it lets you inspect the destination while public DNS still points to the old host.
Run functional acceptance tests
| Area | Checks | Expected result |
|---|---|---|
| Public catalog | Home page, product and category pages, variable products, related products, search, filters, images, and downloadable files | Correct content, prices, variations, stock, thumbnails, and permissions load without 404s |
| Accounts | Customer login, password reset, registration, account history, admin roles, and logout | Existing users authenticate and see only the data their role permits |
| Cart and checkout | Add, remove, quantity changes, coupons, shipping zones, tax calculation, guest checkout, and address validation | Totals and available methods match the source configuration |
| Payments | Gateway test mode where supported, authorization, failure response, 3-D Secure, refunds, and webhook callbacks | Transactions reach the intended environment and orders receive the correct status |
| Orders and fulfillment | Order creation, notes, stock reduction, emails, downloadable permissions, subscriptions, and refunds | Records, notifications, inventory, and scheduled renewals behave as expected |
| Operations | Scheduled actions, cron, imports, feeds, analytics, webhooks, search indexing, backups, and cache purges | Background jobs run on the new server and logs show no recurring errors |
| Presentation and security | HTTPS on desktop and mobile, mixed-content scan, redirects, robots, sitemap, headers, and performance cache | No certificate warnings, broken assets, unintended indexing, or stale-origin requests |
Compare data, not just pages
- Compare product, variation, category, customer, coupon, and order counts.
- Compare the newest order ID and the timestamp of the newest order. For a frozen store, they should match exactly.
- Open several historical orders, refunds, subscriptions, and downloadable permissions.
- Check media dimensions and representative files from old and new uploads.
- Review PHP, web-server, database, WooCommerce, and payment logs while performing the tests.
Plan the DNS cutover and rollback
Lower DNS TTL ahead of time
Lower the domain’s DNS time-to-live before the migration window when your DNS provider permits it. A lower TTL can make many resolvers notice the new record sooner, but it cannot force resolvers that retain cached data beyond the stated value.
Perform the final synchronization
Put the source into maintenance or order-freeze mode, disable scheduled imports that could write data, and take the final database export. If you use a final-delta process, record the cutoff time and newest order ID, apply the delta to the destination, and verify counts before opening checkout.
Change the records
Update the A and AAAA records, CNAME, or nameservers according to the design. Keep the old host online. Do not delete its database, files, certificates, cron jobs, or payment configuration until the new site has remained healthy through DNS propagation and a rollback copy is verified.
Free tools Windows power users keep installed
One-click scans. No signup required.
Monitor after cutover
Watch access logs, PHP and database errors, uptime, failed payments, order creation, email delivery, cron execution, webhook responses, CPU, memory, disk space, and cache hit behavior. Test from more than one network and device. Continue comparing incoming orders with the source’s final records until traffic has settled.
Rank #4
- Easily store and access 4TB of content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Near-zero-downtime migrations for high-volume stores
A high-volume store cannot safely rely on a single file-and-database copy while the source remains writable. Use one of these controlled patterns:
- Prepare and test the destination from a consistent backup.
- Keep the source live while transferring large static files.
- Replicate or export database changes, or schedule a short final write freeze.
- At cutover, stop checkout and integrations, capture the final source state, apply the final delta, and reconcile order IDs, stock, refunds, and customer changes.
- Switch DNS only after the destination contains every accepted write.
Document who can authorize the freeze, who verifies the newest order, and who can roll DNS back. “Near-zero downtime” is an operational process, not a setting that a hosting panel can guarantee.
Troubleshoot common migration failures
Database connection errors
Recheck the database name, user, password, host, port, privileges, and table prefix in wp-config.php. Confirm the database service is running and that the destination user can connect from the web server. Do not assume localhost is correct; some hosts require a socket path or a separate hostname.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minute404 errors on pages or products
Resave permalinks, verify Apache or Nginx rewrite rules, check that the document root is correct, and inspect redirect rules for an old path. A successful home page does not prove that rewrites are working.
Missing images or downloads
Confirm that wp-content/uploads was copied completely, file paths and case match, permissions allow reads, and the CDN or object-storage origin points to the destination. Regenerate thumbnails only after verifying that the originals exist.
Broken layout or plugin settings after URL replacement
Restore the untouched database backup if a naive replacement was run. Repeat with a serialization-aware tool and a dry run. Check builder, widget, theme, and extension settings before reopening the store.
Checkout or webhooks fail
Verify HTTPS, site and home URLs, gateway mode, callback and webhook URLs, firewall rules, outbound cURL access, server time, and the payment provider’s allowed domains or IP restrictions. Ensure a preview hostname has not been registered as the live callback target.
Emails or scheduled actions do not run
Confirm cron is configured on the new server, disable conflicting duplicate cron jobs, configure authenticated mail delivery, and inspect WooCommerce scheduled-action logs. A page visit may trigger WP-Cron on one host but not another, so use a real system cron where reliable timing matters.
Orders are missing or duplicated
Compare the source and destination newest order IDs and timestamps at the documented cutoff. If the source was writable during export, identify the missing interval, apply the final delta, and reconcile stock and payment status manually. Never “fix” the problem by inventing order records or replaying payment webhooks without checking gateway idempotency.
Secure and close the migration
- Remove temporary archives, SQL dumps, installer scripts, phpMyAdmin exports, and preview files from web-accessible locations.
- Rotate database passwords, SSH keys, API keys, webhook secrets, and payment credentials when they were exposed to temporary staff or transfer systems.
- Review file ownership, writable directories, administrator accounts, SSH users, firewall rules, and unused plugins.
- Confirm backups now run on the new host and that at least one restore has been tested.
- Keep the old host and the untouched backup until DNS traffic has settled, post-cutover orders reconcile, and the rollback decision period has expired.
WordPress’s documented migration sequence is deliberately conservative: back up the directory and database, upload the files, import the database, update configuration when credentials change, handle URLs carefully, and test before committing to the new server. Following that sequence protects the records WooCommerce cannot recreate after the fact—orders, customer accounts, stock movements, refunds, and scheduled work.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




