Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A safe WordPress move has two separate transfers: the site files and the MySQL or MariaDB database. Copy the files with rsync over SSH, export and import the database, update wp-config.php, replace URLs only when the domain changes, and test the new VPS before changing DNS. Keep the old server and rollback copies available until the new site is proven.

What a complete WordPress migration includes

WordPress backups have two independent parts: database and files. The files contain WordPress core, themes, plugins, media and configuration. The database contains posts, pages, users, settings, comments, plugin data and other site content. A file-only copy cannot restore the database-backed parts of a site.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Part What it contains How to move it What can go wrong if omitted
Web files Core files, wp-content, uploads, themes, plugins, wp-config.php and, where used, .htaccess Prefer rsync over SSH; scp can carry an archive Missing themes, plugins, media or configuration
Database Posts, pages, users, options, comments and plugin data Export with mysqldump, then import with mysql Missing content, settings, accounts and stored URLs

The destination database name, user, password, host and table prefix must agree with the values in wp-config.php. A successful file transfer does not prove that WordPress can connect to the imported database.

Plan the move and preserve a rollback

Inventory the existing server

Before copying anything, record the source document root, database name and user, table prefix, PHP version, web server (Nginx or Apache), enabled plugins, cron jobs, TLS certificates and DNS records. Also save the active web-server and PHP-FPM configuration. These details explain how the old installation works and give you a recovery reference if the new VPS behaves differently.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Create a current backup immediately before server changes. Keep the old VPS online and unchanged until the new site has passed testing and DNS caches have had time to expire. Do not cancel the old server as soon as the first rsync finishes.

Choose a write-free window

The safest procedure places the site in maintenance mode or otherwise pauses writes while the database and files are captured. A live copy is possible, but visitors may create orders, comments, uploads or other records between the database dump and the final DNS switch. If you must copy while the site is live, plan a short final maintenance window for the last dump and synchronization.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Approach Downtime Risk Use when
Maintenance-window migration Site is read-only or unavailable during the final backup and cutover Lowest chance of database/file mismatch Content changes are important or the site is small enough for a short pause
Live copy with final pause Most copying occurs while the site runs; only the final export and switch are paused Writes made after the first dump must be captured again You need to minimize visible downtime and can schedule a final freeze

Create a consistent source backup

Export the database

From the source server, export the database used by WordPress:

mysqldump -u DB_USER -p DB_NAME > wordpress.sql

Replace DB_USER and DB_NAME with the actual values. The command prompts for the database password. Store the resulting SQL file somewhere protected because it contains the site’s data and may include user information.

If the site remains active during the first export, perform another export after writes are paused. The later dump is the one to import for the final cutover.

Prepare the file set

Include the complete WordPress document root, especially wp-content, the WordPress core files, wp-config.php and .htaccess when Apache uses it. Protect wp-config.php; it contains database credentials. Do not assume that an archive of the document root includes the database dump unless you deliberately put the SQL file in that archive.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep a copy of the original files and server configuration before changing ownership, permissions or URL values. That copy is useful if you need to restore the old VPS or compare a missing file.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Prepare the new Ubuntu VPS

Install the matching application stack

Install and configure the required PHP version and extensions, MySQL or MariaDB, and either Nginx or Apache. Configure the virtual host or server block, document root and PHP-FPM handler before testing the restored files. The PHP version and enabled extensions should support the WordPress core, theme and plugins you recorded during inventory.

Create the destination document root, for example /var/www/example.com. Keep a copy of the active Nginx, Apache and PHP-FPM configuration so that a failed change can be reversed rather than reconstructed from memory.

Create the destination database and account

Create a database and a database user on the VPS, then grant that user access to the database. Use the name, user, password and host that you intend to place in wp-config.php. A new host commonly requires recreating the database user even when the database name is unchanged.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not import the dump into an arbitrary database and hope WordPress finds it. Record the exact destination credentials, and check that the imported tables use the same prefix configured in wp-config.php.

Transfer WordPress files over SSH

Use rsync for repeatable transfers

rsync over SSH is the practical default because it supports a preview, preserves file attributes in archive mode and transfers only differences on later passes. Run it from the source VPS to the new VPS. The trailing slash on the source path means that the contents of the directory are synchronized into the destination directory.

Start with a dry run:

rsync -azvn --delete -e ssh /var/www/example.com/ deploy@NEW_VPS:/var/www/example.com/

Here, -n is the dry-run option. The command prints what would be copied or removed without changing the destination. Review the list carefully before proceeding. In particular, verify the source path, destination host, destination directory and any files that --delete would remove. That option makes the destination mirror the source; using the wrong path can delete unrelated files.

The other options have specific purposes: -a enables archive mode, preserving recursive files, links, timestamps, permissions, ownership, groups and devices where the account and filesystem permit it; -z compresses data during transfer; and -e ssh selects SSH as the transport.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

When the preview is correct, repeat without -n:

rsync -az --delete -e ssh /var/www/example.com/ deploy@NEW_VPS:/var/www/example.com/

Run a second rsync after the final maintenance window. Because rsync compares source and destination, that pass normally transfers only files changed since the first copy.

Use scp when rsync is unavailable

Authenticated scp can transfer an archive or an individual SQL file after SSH authentication. For example:

scp wordpress.sql deploy@NEW_VPS:/tmp/

For a large WordPress directory, scp is less convenient: it has no equivalent dry-run preview and does not provide rsync’s efficient delta synchronization for repeated passes. If you use scp for the files, create and verify an archive carefully, then extract it into the destination document root while preserving the intended paths and permissions.

Capability Rsync over SSH Scp
Dry-run preview Yes, with -n Not provided
Repeatable delta transfer Yes; later runs send differences No; normally retransfers the selected files
Attribute preservation Archive mode preserves recursive files, links, timestamps, permissions, ownership, groups and devices where permitted Depends on the archive and extraction method
Simple SQL-file copy Yes Yes

Restore the database on Ubuntu

Copy the SQL dump to the new VPS, as shown above, and restore it into the destination database:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
mysql -u DB_USER -p DB_NAME < /tmp/wordpress.sql

Enter the password for the destination database user when prompted. Confirm that the import completed and that the expected WordPress tables are present. The table prefix in wp-config.php must match those imported tables; a mismatch can make a valid import appear empty to WordPress.

Update wp-config.php, ownership and permissions

Set the database connection values

Edit the copied wp-config.php so its database name, user, password and host match the account created on the new VPS. Keep the existing table prefix unless the imported tables use a different, deliberately chosen prefix. Do not expose the file through the web server or leave it world-readable.

Match the active PHP and web-server users

The account running PHP-FPM or the web server must be able to read the application. It should be able to write only the directories that require writes, such as uploads or directories used by approved update workflows. Exact user and group names differ between Ubuntu stacks, so inspect the active service configuration instead of copying a universal chown command from another server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Incorrect ownership often causes WordPress to request FTP credentials. Correct the owner, group and narrowly scoped write permissions after identifying the actual PHP-FPM or web-server account. Avoid making the entire document root writable as a shortcut.

Handle the domain and URL

When the domain stays the same

If the public domain and URL scheme remain identical, leave the existing home and siteurl values in the database. Concentrate on the server block, document-root mapping, TLS certificate, PHP handler and DNS change.

When the domain or scheme changes

A domain change requires updating stored URLs, not only the web-server configuration. Run WP-CLI from the restored WordPress directory with a dry run first:

wp search-replace 'https://old.example' 'https://new.example' --dry-run

Review the reported tables and replacement counts. If the old and new addresses use different schemes, include the exact schemes in the command. Once the preview is correct, apply the replacement:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
wp search-replace 'https://old.example' 'https://new.example'

WP-CLI searches the registered tables and handles PHP serialized data intelligently. That matters because a naive whole-database text replacement can change string lengths inside serialized values and corrupt settings. Do not run a blind SQL replacement across the dump when a serialization-aware tool is available.

Multisite considerations

For multisite, use WP-CLI’s appropriate --network and --url options, and test every site in the network. A replacement that works for the main site does not prove that mapped or subdirectory sites, uploads and administrative URLs are correct.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Test the new VPS before DNS cutover

Use a temporary hosts-file entry or another private test route so your computer resolves the domain to the new VPS without changing public DNS. Test the site as both an administrator and an ordinary visitor.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
  • Open the home page and several representative posts or pages.
  • Log in to wp-admin, open the media library and verify that users and roles are present.
  • Load representative images and confirm that files under wp-content/uploads are available.
  • Test navigation, pretty permalinks, search, forms and any checkout or membership workflow the site uses.
  • Check theme and plugin behavior, including scheduled tasks and external integrations.
  • Verify HTTPS, HTTP-to-HTTPS redirects, canonical URLs and mixed-content warnings.
  • Confirm that PHP-FPM and the web server are serving the intended document root.
  • Inspect Nginx or Apache and PHP-FPM logs for permission errors, missing extensions, fatal errors and rewrite failures.

If testing generates new content or changes settings, take a final database dump before cutover so those changes are not lost when the final source dump is imported.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Perform the final synchronization and DNS switch

  1. Put the source site into maintenance mode or pause writes.
  2. Run the final mysqldump export.
  3. Run the final rsync pass from the source document root to the new VPS.
  4. Copy the final SQL file, import it into the destination database and verify the credentials and table prefix.
  5. Repeat the essential private tests on the final state, including login, media, permalinks, forms and HTTPS.
  6. Change DNS to the new VPS.
  7. Keep both servers available while DNS caches expire. Monitor access logs, PHP errors and WordPress behavior on the new server.

If the new site fails, revert DNS to the old VPS and use the preserved database snapshot, files and server configuration to restore service. Do not delete the old installation until the migration has remained stable for the period appropriate to your DNS TTL and publishing schedule.

Troubleshoot common migration failures

Error establishing a database connection

Check the database name, username, password and host in wp-config.php. Confirm that MySQL or MariaDB is running, that the database was imported into the name you configured, and that the user has privileges on it. A typo in one value produces the same front-end error as a missing database, so verify each value against the destination account rather than changing settings at random.

Redirects to the old domain

Stale home or siteurl values, plugin settings or content URLs can send visitors back to the old host. Run WP-CLI search-replace with the exact old and new schemes and hosts, inspect the dry-run report, then apply it. Also check server-level redirects and cached configuration.

Broken images or permalinks

Verify that wp-content/uploads and the rest of the document root were transferred, that the virtual host or server block points to the correct directory, and that rewrite rules are active. Apache sites may require the original .htaccess; Nginx sites require the equivalent server-block configuration. Review permissions and web-server logs for denied or missing paths.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

WordPress asks for FTP credentials

This usually means the PHP process cannot write to the directory needed for an upload or update. Identify the active PHP-FPM or web-server user, correct ownership and group membership, and grant write access only to the directories that need it. Do not solve the prompt by making every file writable.

The copy contains files but no posts or users

The database was not exported, was not imported, or was imported under a name or table prefix different from the values in wp-config.php. Repeat the dump and restore steps, then inspect the destination tables before changing WordPress settings.

Migration checklist

  • Source document root, database, table prefix, PHP, web server, plugins, cron, TLS and DNS have been recorded.
  • A current file backup, SQL dump and server-configuration copy are stored safely.
  • The Ubuntu VPS has the required PHP, database and web-server stack.
  • The destination database and user exist and match wp-config.php.
  • Rsync dry run was reviewed before using --delete.
  • Files, including wp-content, uploads, configuration and rewrite files, are present.
  • The SQL dump was imported and the table prefix matches.
  • Ownership and permissions match the active PHP/web-server account.
  • URL replacement was run only when needed, with a WP-CLI dry run first.
  • Private testing passed before DNS changed.
  • A final paused-write dump and rsync were completed immediately before cutover.
  • The old VPS and rollback material remain available during DNS propagation.

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.