Migrate WordPress via FTP: A Simple Step-by-Step Guide for Beginners

Shreyas Patil SEO
Shreyas PatilUpdated :
Migrate WordPress via FTP: A Simple Step-by-Step Guide for Beginners

Moving your WordPress site to a new host doesn't have to be complicated. Using FTP (File Transfer Protocol) is one of the most reliable ways to migrate your WordPress website, especially for beginners who might not be familiar with advanced migration plugins or server management. In this guide, I'll walk you through the entire process of migrating your WordPress site using FTP, breaking it down into simple, manageable steps.

Whether you're switching hosting providers, moving from a local development environment to a live server, or just creating a backup, this guide has you covered. Let's get started with this straightforward approach to WordPress migration!

What You'll Need Before Starting the WordPress Migration

Before jumping into the migration process, make sure you have everything ready:

  • An FTP client (like FileZilla, which is free and user-friendly)
  • Access credentials for both your current and new hosting accounts
  • A recent backup of your WordPress database
  • Approximately 1-2 hours of uninterrupted time (depending on your site size)
  • Basic knowledge of WordPress file structure

Having these elements prepared will make your migration smooth and stress-free. Now, let's dive into the actual migration process.

Step 1: Back Up Your Existing WordPress Site

The first and most crucial step in any migration is creating a complete backup of your current site. This ensures you have a safety net in case anything goes wrong.

Backing up WordPress Files via FTP

  • Open your FTP client (like FileZilla)
  • Enter your current hosting FTP credentials (hostname, username, password, and port)
  • Connect to your server
  • Navigate to your WordPress installation folder (usually public_html, www, or httpdocs)
  • Download all files and folders to a location on your computer

This process may take some time depending on the size of your website and your internet connection speed. Be patient and make sure all files are completely downloaded before proceeding.

Exporting Your WordPress Database

Your WordPress database contains all your posts, pages, comments, users, and settings. You'll need to export it separately:

  • Log in to your cPanel or hosting control panel
  • Find and open phpMyAdmin
  • Select your WordPress database from the left sidebar
  • Click the "Export" button at the top
  • Choose "Quick" export method and SQL format
  • Click "Go" to download the SQL file to your computer

Now you have a complete backup of both your WordPress files and database. Keep these in a safe place throughout the migration process.

Step 2: Prepare Your New Hosting Environment

Before uploading your WordPress files, you need to prepare your new hosting environment:

Create a New Database

  • Log in to your new hosting control panel
  • Navigate to the MySQL Databases section (or similar, depending on your host)
  • Create a new database (note down the database name)
  • Create a new database user with a strong password
  • Assign all privileges to this user for the new database
  • Save the database name, username, and password for later use

Check Server Requirements

Make sure your new host meets WordPress requirements:

  • PHP version 7.4 or greater
  • MySQL version 5.7 or greater OR MariaDB version 10.3 or greater
  • HTTPS support

Most modern hosting providers meet these requirements, but it's always good to check before proceeding.

Step 3: Upload WordPress Files to Your New Host

Now it's time to transfer your WordPress files to the new server:

  • Open your FTP client again
  • Enter your new FTP hosting credentials
  • Connect to your new server
  • Navigate to the public_html folder (or equivalent root directory)
  • Upload all the WordPress files you downloaded earlier

Depending on the size of your site and your internet connection, this may take some time. Some FTP clients allow you to see the progress of your upload.

Handling Large WordPress Sites

If your WordPress site is particularly large (over 1GB), consider these tips:

  • Upload files in batches rather than all at once
  • Use an FTP client with resume capability in case the connection drops
  • Consider compressing your files before uploading, then extracting them on the server (if your hosting provides this option)

Step 4: Import Your WordPress Database

After uploading your files, you need to import your database to the new server:

  • Log in to your new hosting control panel
  • Open phpMyAdmin
  • Select the new database you created earlier
  • Click on the "Import" tab
  • Click "Choose File" and select the SQL file you exported earlier
  • Make sure the format is set to SQL
  • Click "Go" to start the import process

The import process might take a few minutes depending on the size of your database.

Step 5: Update Your WordPress Configuration

Now you need to update your WordPress configuration to connect to the new database:

Edit the wp-config.php file

  • Connect to your new server via FTP
  • Locate the wp-config.php file in your WordPress root directory
  • Download this file to your computer
  • Open it with a text editor
  • Update the following database details:
    • DB_NAME (your new database name)
    • DB_USER (your new database username)
    • DB_PASSWORD (your new database password)
    • DB_HOST (usually 'localhost', but check with your host)
  • Save the file and upload it back to your server, replacing the old one

Update Site URL in the Database (If Needed)

If you're moving to a different domain, you'll need to update your site URL:

  • In phpMyAdmin, select your new database
  • Click on the "SQL" tab
  • Run the following SQL queries (replace 'https://yournewdomain.com' with your actual new domain):
    UPDATE wp_options SET option_value = 'https://yournewdomain.com' WHERE option_name = 'home';
    UPDATE wp_options SET option_value = 'https://yournewdomain.com' WHERE option_name = 'siteurl';
            
  • Click "Go" to execute the queries

Step 6: Update DNS Settings

To direct visitors to your new server, you need to update your domain's DNS settings:

  • Log in to your domain registrar account
  • Find the DNS management section
  • Update the nameservers to point to your new hosting provider (your new host will provide these)
  • Alternatively, update the A record to point to your new server's IP address

DNS changes can take 24-48 hours to fully propagate across the internet. During this time, some visitors might see your old site while others see your new one.

Step 7: Test Your Migrated WordPress Site

Before considering the complete migration, thoroughly test your new WordPress site:

Basic Functionality Check

  • Visit your homepage and make sure it loads correctly
  • Check several internal pages and posts
  • Test your contact forms and other interactive elements
  • Verify that images and other media files display properly
  • Check that all your plugins are working
  • Test user login functionality

Common Post-Migration Issues and Fixes

Broken Links or Missing Images

If you find broken links or missing images, you might need to run a search and replace on your database to update hardcoded URLs. You can use a plugin like “Better Search Replace” for this purpose after logging into your WordPress admin.

Mixed Content Warnings

If you've moved from HTTP to HTTPS, you might see mixed content warnings. To fix this:

  • Install the "Really Simple SSL" plugin
  • Let it fix your mixed content issues automatically

Permalink Issues

If your pages show 404 errors, reset your permalink structure:

  • Go to Settings > Permalinks in your WordPress dashboard
  • Without changing anything, click "Save Changes" to refresh the permalink structure

Step 8: Perform Post-Migration Optimization

After successfully migrating your site, take these steps to optimize it:

Update Your SSL Certificate

If your new host provides free SSL (most do), make sure it's properly set up:

  • Check your hosting control panel for SSL options
  • Install an SSL certificate if not already done
  • Update your WordPress site URL to use https:// in Settings > General

Set Up Caching

Install and configure a caching plugin like WP Super Cache or W3 Total Cache to improve your site's performance on the new server.

Update Your Backup Schedule

Set up regular backups on your new hosting:

  • Check if your new host provides automated backups
  • Consider installing a backup plugin like UpdraftPlus
  • Set up a schedule for regular backups

Advanced Tips for Large WordPress Sites

If you're migrating a large WordPress site with lots of content, consider these additional tips:

Using Compressed Archives

Instead of uploading thousands of individual files:

  • Compress your WordPress files into a ZIP archive
  • Upload the single ZIP file via FTP
  • Use your hosting's file manager to extract the archive on the server

This can be much faster than uploading individual files.

Handling Large Databases

For very large databases (over 100MB):

  • Split your SQL export into smaller chunks
  • Import each chunk separately
  • Use the command line for database operations if available

Comparison of Migration Methods

Migration Method Pros Cons Best For
FTP Migration - No plugins required
- Works on any hosting
- Complete control
- Manual process
- More technical knowledge needed
- Can be time-consuming
Users who want complete control or when plugins aren't an option
Migration Plugins - User-friendly
- Automated process
- Handles URL replacements
- May fail with large sites
- Some hosts block certain plugins
- Often premium features required
Small to medium sites with non-technical users
Host Migration Services - Completely hands-off
- Professional support
- Often free with new hosting
- Limited control
- May take longer
- Potential for miscommunication
Users who prefer not to handle technical aspects

Quick Tip to ensure your videos never go missing

Videos are precious memories and all of us never want to lose them to hard disk crashes or missing drives. PicBackMan is the easiest and simplest way to keep your videos safely backed up in one or more online accounts. 

Download PicBackMan

Simply download PicBackMan (it's free!) , register your account, connect to your online store and tell PicBackMan where your videos are - PicBackMan does the rest, automatically. It bulk uploads all videos and keeps looking for new ones and uploads those too. You don't have to ever touch it.

Troubleshooting Common WordPress Migration Issues

Even with careful planning, you might encounter some issues during migration. Here's how to fix the most common problems:

White Screen of Death

If you see a blank white screen after migration:

  • Check your wp-config.php file for errors
  • Temporarily increase PHP memory limit in wp-config.php by adding:define('WP_MEMORY_LIMIT', '256M');
  • Disable all plugins by renaming the plugins folder via FTP
  • Revert to a default theme by renaming your themes folder

Database Connection Errors

If you see "Error establishing a database connection":

  • Double-check your database credentials in wp-config.php
  • Verify that your database user has the correct permissions
  • Check if your database server is running
  • Try changing 'localhost' to your server's IP address in DB_HOST

Missing files or incomplete transfer

If your site looks incomplete or has missing elements:

  • Compare file counts between your local backup and the uploaded files
  • Check for upload errors in your FTP client's log
  • Verify file permissions (folders: 755, files: 644)
  • Re-upload any missing files or directories

Keeping Your Site Live During Migration

To minimize downtime during migration, consider these strategies:

Using a Maintenance Mode

Before starting the migration:

  • Install a maintenance mode plugin on your old site
  • Activate maintenance mode with a message about the upcoming migration
  • Complete the migration process
  • Test the new site thoroughly
  • Only then update DNS settings

Staging Site Approach

For minimal disruption:

  • Set up your new site as a staging site first
  • Complete the migration and testing while the old site remains live
  • Once everything is confirmed working, switch the DNS

Post-Migration Security Checklist

After migration, take these steps to secure your new WordPress installation:

  • Change all WordPress admin passwords
  • Update WordPress core, themes, and plugins to the latest versions
  • Install a security plugin like Wordfence or Sucuri
  • Set up a firewall (either through your host or a security plugin)
  • Check file permissions (755 for folders, 644 for files)
  • Remove any unused themes and plugins
  • Change your database table prefix if you didn't already during migration

Conclusion

Migrating a WordPress site via FTP might seem daunting at first, but by following this step-by-step guide, you can successfully move your website to a new host with minimal stress. Remember that patience is key during this process, and always have a backup ready in case anything goes wrong.

The FTP method gives you complete control over the migration process and works reliably even for larger WordPress sites. While there are plugin-based alternatives available, understanding the manual FTP migration process helps you gain valuable knowledge about how WordPress works behind the scenes.

After completing your migration, take some time to optimize your new site, update your security measures, and set up a regular backup schedule to protect your content going forward. With your successfully migrated WordPress site, you're now ready to enjoy the benefits of your new hosting environment!

Frequently Asked Questions

How long does it typically take to migrate a WordPress site using FTP?

The time required depends on your site's size and internet connection speed. For a small to medium site (under 500MB), expect the process to take 1-2 hours. Larger sites with many images or videos might take 3-4 hours or more. The database transfer usually takes just a few minutes, while file transfers consume most of the migration time.

Do I need to deactivate plugins before migrating WordPress?

While not strictly necessary, deactivating plugins before migration is a good practice to prevent compatibility issues. Some caching, security, and performance plugins can cause problems if they're active during migration. After completing the migration, you can reactivate plugins one by one to identify any that might cause issues on your new server.

What should I do if my images don't appear after migration?

Missing images usually indicate path issues. First, check if the uploads directory was completely transferred. If the files exist but don't display, you likely have hardcoded image URLs in your content. Install a database search and replace plugin like “Better Search Replace” and replace your old domain with your new one in all tables, paying special attention to the posts and postmeta tables.

Is it necessary to change permalinks after migration?

You don't need to change your permalink structure, but you should reset it. After migration, go to Settings > Permalinks in your WordPress dashboard and, without changing any settings, click “Save Changes.” This refreshes the permalink rules and creates a new .htaccess file tailored to your new server, which often resolves 404 errors after migration.

How can I test my migrated site before making it live?

To test your site before updating DNS, you can modify your local hosts file to point your domain to the new server's IP address. On Windows, edit C:WindowsSystem32driversetchosts, and on Mac/Linux, edit /etc/hosts. Add a line with your new server's IP and your domain name. This lets you see the new site while everyone else still sees the old one, allowing for thorough testing before going live.

95,000+ PicBackMan Users

95,000+ Users Trust PicBackMan To Backup Precious Memories

money back guarantee
Kip Roof testimonial Kip Roofgoogle photos flickr
PicBackMan does exactly what it's supposed to. It's quick and efficient. It runs unobtrusively in the background and has done an excellent job of uploading more than 300GB of photos to 2 different services. After having lost a lot of personal memories to a hard drive crash, it's nice to know that my photos are safe in 2 different places.
Julia Alyea Farella testimonialJulia Alyea Farella smugmug
LOVE this program! Works better than ANY other program out there that I have found to upload thousands of pictures WITH SUB-FOLDERS to SmugMug! Thank you so much for what you do! :) #happycustomer
Pausing Motion testimonialPausingMotionsmugmug
I pointed PicBackMan at a directory structure, and next time I looked - all the photos had uploaded! Pretty cool. I use SmugMug and while I really like it, the process of creating directories in is pretty laborious when you need to make 80+ at a time. This was a breeze. Thank you!