Table of Contents
This guide walks you through the entire process, from planning and preparation to the final checks. We’ll cover different methods, potential pitfalls, and how to ensure everything, including your Elementor-built pages, looks and works perfectly on the new server. Ready to dive in?
Why Migrate Your WordPress Site Anyway?
Before we dive into the “how,” let’s briefly touch on the “why.” Understanding your reasons helps clarify your goals for the new hosting environment. People typically move their WordPress sites for a few common reasons:
- Better Performance: Your current host might be slow. This leads to a poor user experience and potentially hurts your SEO. A new host might offer faster servers, SSD storage, or better caching technology.
- Improved Reliability and Uptime: Frequent downtime frustrates visitors and is bad for business. Moving to a host with a stronger uptime guarantee can provide peace of mind.
- Enhanced Security: You might need more robust security features than your current provider offers. Think better firewalls, malware scanning, or free SSL certificates.
- Scalability Needs: Your site has grown! You might need more resources (CPU, RAM, storage) than your current plan allows. Upgrading with your current host may be too expensive or impossible.
- Better Support: The quality of technical support varies widely between hosts. If you’re tired of slow or unhelpful responses, moving to a host known for excellent support makes sense.
- Cost Savings: You might find a comparable or better hosting plan elsewhere for a lower price.
- Specific Features: You may need specific developer tools, a particular control panel, or server locations closer to your target audience.
Knowing why you’re moving helps you choose the right new host. It also ensures the effort is worthwhile.
Migrating your WordPress site can unlock benefits such as improved speed, reliability, security, scalability, support, cost savings, and access to specific features. Clarifying your reasons helps you choose a new host more effectively.
Grow Your Sales
- Incredibly Fast Store
- Sales Optimization
- Enterprise-Grade Security
- 24/7 Expert Service

- Incredibly Fast Store
- Sales Optimization
- Enterprise-Grade Security
- 24/7 Expert Service
- Prompt your Code & Add Custom Code, HTML, or CSS with ease
- Generate or edit with AI for Tailored Images
- Use Copilot for predictive stylized container layouts

- Prompt your Code & Add Custom Code, HTML, or CSS with ease
- Generate or edit with AI for Tailored Images
- Use Copilot for predictive stylized container layouts
- Craft or Translate Content at Lightning Speed
Top-Performing Website
- Super-Fast Websites
- Enterprise-Grade Security
- Any Site, Every Business
- 24/7 Expert Service

Top-Performing Website
- Super-Fast Websites
- Enterprise-Grade Security
- Any Site, Every Business
- 24/7 Expert Service
- Drag & Drop Website Builder, No Code Required
- Over 100 Widgets, for Every Purpose
- Professional Design Features for Pixel Perfect Design

- Drag & Drop Website Builder, No Code Required
- Over 100 Widgets, for Every Purpose
- Professional Design Features for Pixel Perfect Design
- Marketing & eCommerce Features to Increase Conversion
- Ensure Reliable Email Delivery for Your Website
- Simple Setup, No SMTP Configuration Needed
- Centralized Email Insights for Better Tracking

- Ensure Reliable Email Delivery for Your Website
- Simple Setup, No SMTP Configuration Needed
- Centralized Email Insights for Better Tracking
Before You Start: Essential Pre-Migration Steps
Alright, you’ve decided to make the move. Hold your horses! Jumping straight into the migration without proper preparation is asking for trouble. Think of this phase as laying the groundwork for a successful project. Get these steps right, and the actual move becomes much smoother.
Step 1: Backup Everything (Seriously, Everything!)
This is non-negotiable. Before you make any changes, create a complete backup of your current WordPress site. This includes:
- Your Website Files: All the core WordPress files, themes (including your active Elementor theme and any child themes), plugins (including Elementor and Elementor Pro), and uploaded media (images, videos, documents in your wp-content/uploads folder).
- Your WordPress Database: This contains all your posts, pages, user information, plugin settings, theme settings, and Elementor data, such as layout structures and kit settings.
How to Back Up:
- Use a Backup Plugin: Many reliable WordPress backup plugins, such as UpdraftPlus, BackupBuddy, and WP Vivid Backup, can automate this process. Configure your chosen plugin to create a full site backup, including files and the database. Then, download the backup file(s) securely to your local computer or a cloud storage service like Google Drive or Dropbox. Don’t just rely on backups stored on the same server you’re migrating from.
- Manual Backup:
- Files: Use an FTP (File Transfer Protocol) client like FileZilla or your hosting control panel’s File Manager. Download the entire WordPress installation directory (usually public_html or www) to your computer.
- Database: Access your hosting control panel (like cPanel or Plesk) and use phpMyAdmin. Select your WordPress database. Go to the “Export” tab. Choose the “Quick” method (or “Custom” if you need specific options, but Quick usually works). Select “SQL” format, and click “Go” or “Export.” Save the .sql file securely.
Why is this so critical? If anything goes wrong during the migration – a corrupted file, a database import error, an unexpected server issue – your backup is your safety net. It allows you to quickly restore your site to its previous state.
Step 2: Choose Your New Host Wisely
You probably already have a new host in mind. If not, now’s the time to make a final choice. Consider:
- Compatibility: Does the new host meet WordPress’s minimum requirements (PHP version, MySQL/MariaDB version, HTTPS support)? Check if they explicitly support popular tools like Elementor. Good hosts are generally well-optimized for WordPress.
- Resources: Does the plan offer enough storage, bandwidth, RAM, and processing power for your site’s current size and traffic? Is there room for growth?
- Features: Do they offer features you need? Think of free SSL, automatic backups, staging environments, custom control panels (cPanel, Plesk), or SSH access.
- Reviews and Reputation: Look for recent, independent reviews that focus on performance, uptime, and the quality of support.
- Support: How accessible and knowledgeable is their support team? Do they offer 24/7 support through channels you prefer, such as live chat, phone, or tickets?
Don’t just pick the cheapest option. Choose a host that aligns with the reasons you decided to migrate in the first place.
Step 3: Gather Your Credentials
You’ll need login details for several places. Collect these beforehand and keep them handy but secure:
- Current Host Account: Login details for your old hosting provider’s client area.
- Current Host Control Panel: Username and password for cPanel, Plesk, or whatever control panel your old host uses. You’ll need this for manual backups or to access the database.
- FTP/SFTP Credentials (Old Host): hostname, username, password, and port number (usually 21 for FTP and 22 for SFTP). You need these for manually downloading files.
- New Host Account: Login details for your new hosting provider’s client area.
- New Host Control Panel: Access the control panel details for your new server.
- FTP/SFTP Credentials (New Host): Hostname, username, password, and port for uploading files to the new server.
- Domain Registrar Account: Login details for where your domain name is registered (e.g., GoDaddy, Namecheap, Google Domains). You’ll need this later to update your DNS settings.
- WordPress Admin Area: Your WordPress login (username/password).
Having these ready saves you from scrambling for passwords during the migration.
Step 4: Schedule Downtime (If Necessary) and Notify Users
Depending on your migration method and site traffic, you might experience some downtime. This is especially true when updating DNS settings.
- Choose a Low-Traffic Period: plan the migration for a time when your site typically receives the fewest visitors (e.g., late at night, early in the morning, on weekends).
- Notify Your Audience (Optional but Recommended): If you run a membership site, online store, or busy blog, consider posting a brief maintenance notice. Inform users about the scheduled work and expected duration.
While some methods minimize downtime, it’s wise to plan for potential interruptions.
Step 5: Clean Up Your Current Site (Optional but Recommended)
A migration is an excellent opportunity for a spring clean:
- Delete unused themes and plugins.
- Remove any draft posts and pages you no longer need.
- Optimize your database; many caching or optimization plugins offer database cleanup tools.
- Delete old post revisions.
This reduces the size of your backup and the amount of data you need to transfer. It could make the migration faster and smoother.
Pre-Migration Checklist
Here’s a quick summary to tick off:
Task | Completed (Y/N) | Notes |
Identify Migration Reason(s) | Helps choose the right new host | |
Choose & Purchase New Hosting Plan | Ensure compatibility and resource needs are met | |
Perform Full Site Backup (Files) | Download to local machine/cloud storage | |
Perform Full Site Backup (Database) | Download .sql file to local machine/cloud storage | |
Gather All Necessary Credentials | Old host, new host, FTP, domain registrar, WP admin | |
Schedule Migration Time | Pick a low-traffic period | |
Notify Users of Potential Downtime | Optional, but good practice for active sites | |
Clean Up WordPress Installation | Optional: Delete unused items, optimize database | |
Check New Host Environment | Confirm PHP/MySQL versions, basic server access | |
Temporarily Disable Caching Plugins | Do this just before starting the actual file/DB transfer | |
Put Site in Maintenance Mode (Optional) | Use a plugin or .htaccess to prevent changes during transfer |
Export to Sheets
Preparation is key. Before migrating, perform a full backup, choose your new host carefully, gather all credentials, plan the timing, and consider cleaning up your site. This groundwork minimizes risks and streamlines the process.
Choosing Your Migration Method
Now for the main event! There are several ways to move your WordPress site. The best method for you depends on your technical comfort level, site size and complexity, budget, and the tools offered by your old and new hosts. Let’s look at the most common approaches.
Method 1: Using a Migration Plugin
This is often the most popular choice, especially for less technical users. Several excellent plugins are explicitly designed to simplify WordPress migrations.
How They Generally Work:
- Install the Plugin: You typically install the migration plugin on your current WordPress site.
- Create a Package: The plugin bundles your website files and database into a single downloadable package (or sometimes multiple files).
- Set Up WordPress on New Host: Install a fresh copy of WordPress on your new hosting account.
- Install the Same Plugin: Install the same migration plugin on the new, empty WordPress installation.
- Upload and Restore: Use the plugin on the new site to upload and unpack the package file(s) you created earlier. The plugin handles restoring files, importing the database, and often updating necessary configurations (like site URL).
Popular Migration Plugins (Examples – Research Current Options):
- Duplicator: A long-standing option. It creates “packages” (files + installer script). The free version has limitations (like size limits); the Pro version offers more features.
- Migrate Guru: Often praised for handling large sites well and being free. It works differently by copying files directly between servers. It requires you to enter FTP or cPanel credentials for both hosts.
- All-in-One WP Migration: Known for its user-friendly interface. It exports your site into a single .wpress file. The free version has upload size limits (often configurable by the host); extensions unlock more capabilities.
- WP Vivid Backup Plugin: Primarily a backup plugin. However, its migration features are robust and often free for basic site-to-site moves.
Pros:
- User-Friendly: Generally requires less technical knowledge than manual methods.
- Faster: Can automate many steps, saving significant time.
- Handles URL Replacements: Most migration plugins automatically search and replace old URLs with new ones in the database. This is crucial.
- Bundled Approach: Packages files and database together, simplifying transfer.
Cons:
- Potential Costs: Free versions often have limitations (like file size caps). You might need premium versions or extensions for larger or more complex sites.
- Server Resource Intensive: Creating packages can sometimes time out or fail on shared hosting with limited resources.
- Upload Limits: Uploading large package files via the WordPress dashboard can be tricky due to server upload limits. However, many plugins offer workarounds like FTP transfer.
- Compatibility Issues: Occasionally, a plugin may conflict with a specific server setup or another plugin. Always check reviews and documentation.
Step-by-Step: Migrating with a Generic Plugin (Example Flow):
(Note: Specific steps vary by plugin. Always follow the documentation for the chosen plugin.
- On Your Old Site:
- Install and activate the migration plugin you’ve chosen.
- Go to the plugin’s menu in your WP admin dashboard.
- Follow its prompts to create a new backup/package/export. This usually involves scanning your site and then building the archive file(s).
- Download the generated package file(s) and, if applicable, the installer.php script securely to your computer.
- On Your New Host:
- Set up your new hosting account. Ensure a domain (or a temporary URL/IP address) points to it.
- Install a fresh copy of WordPress OR follow the plugin’s specific instructions. Some plugins, like Duplicator, don’t require a WP install first. You upload the package and installer script directly via FTP.
- If you installed WordPress: Log in. Install the same migration plugin. Find its “Import” or “Restore” option. Upload the package file(s) you downloaded.
- If using an installer script (such as Duplicator), upload the package file(s) and the installer.php script to the root directory of your new site (e.g., public_html). Use FTP or the host’s File Manager. Then, access yournewdomain.com/installer.php (or the temporary URL) in your browser. Follow the on-screen steps. This usually involves configuring the database connection and running the import.
- Follow Plugin Prompts: The plugin will guide you through unpacking the files, importing the database, and updating configurations. It might ask for your new database details if it cannot detect them automatically.
- Final Steps: Once the plugin reports success, it will likely prompt you to log back into your WP admin area. Use your original site’s credentials. You should resave permalinks (Settings > Permalinks > Save Changes).
Important Considerations for Elementor Users: Good migration plugins correctly handle serialized data. This is crucial for page builders like Elementor. They should automatically update URLs within Elementor’s data. Always double-check your Elementor pages after migration.
Method 2: Manual Migration
This method gives you the most control. However, it requires more technical steps and carries a higher risk if you make a mistake. It’s suitable if plugins fail, if you have a very large or complex site, or if you simply prefer hands-on control.
The Core Steps:
- Export Your Database (Old Host)
- Download Your Website Files (Old Host)
- Create a New Database (New Host)
- Upload Your Website Files (New Host)
- Import Your Database (New Host)
- Update the wp-config.php File
- Search and Replace URLs (Crucial!)
Let’s break these down:
Step 1: Export Your Database (Old Host)
- Log in to your old hosting account’s control panel (e.g., cPanel).
- Find and open phpMyAdmin.
- Select your WordPress database from the list on the left. (If unsure, check your wp-config.php file for the DB_NAME).
- Click the “Export” tab at the top.
- Choose the “Quick” export method and “SQL” format.
- Click “Go” (or “Export”). Save the .sql file to your computer. Keep it safe!
Step 2: Download Your Website Files (Old Host)
- Use an FTP client (like FileZilla, Cyberduck) or your host’s File Manager.
- Connect to your old hosting account using your FTP credentials.
- Navigate to your WordPress site’s root directory (often public_html, www, or a specific domain folder).
- Select all files and folders within this directory. Include hidden files like .htaccess.
- Download them to a dedicated folder on your local computer. This can take time depending on your site size and internet speed.
Step 3: Create a New Database (New Host)
- Log in to your new hosting account’s control panel.
- Find the database management tool (e.g., “MySQL Databases” in cPanel).
- Create a new database. Give it a memorable name (e.g., newsite_wpdb).
- Create a new database user. Use a strong, unique password.
- Add the user to the database. Grant the user “All Privileges” (or the necessary specific privileges for WordPress) on the newly created database.
- Note down:
- The exact database name.
- The exact database username.
- The database user’s password.
- The database hostname (usually localhost, but check your host’s documentation).
Step 4: Upload Your Website Files (New Host)
- Connect to your new hosting account via FTP/SFTP using the credentials provided by your new host.
- Navigate to the root directory for your website on the new server (e.g., public_html). If it contains default placeholder files, you might want to delete them first. Check with your host if unsure.
- Upload all the WordPress files and folders you downloaded in Step 2 from your computer to this directory. Again, this can take time. Ensure hidden files (like .htaccess) are also uploaded.
Step 5: Import Your Database (New Host)
- Log in to your new hosting control panel and open phpMyAdmin.
- Select the new, empty database you created in Step 3 from the list on the left.
- Click the “Import” tab.
- Under “File to Import,” click “Choose File” (or “Browse”). Select the .sql file you downloaded in Step 1.
- Ensure the format is set to “SQL.”
- Leave other options at their defaults unless you have specific needs.
- Click “Go” (or “Import”). This might take a few minutes for larger databases. You should see a success message upon completion.
Step 6: Update the wp-config.php File
- Using FTP or the new host’s File Manager, locate the wp-config.php file in the root directory of your uploaded files on the new server.
- Download a copy as a backup. Then, open the file for editing. Use a plain text editor like Notepad++, Sublime Text, or VS Code – not Microsoft Word.
Find these lines:
PHP
define( ‘DB_NAME’, ‘old_db_name’ );
define( ‘DB_USER’, ‘old_db_user’ );
define( ‘DB_PASSWORD’, ‘old_db_password’ );
define( ‘DB_HOST’, ‘old_db_host’ ); // Often ‘localhost’
- Replace the old values with the new database name, username, password, and hostname you noted down in Step 3.
PHP
define( ‘DB_NAME’, ‘newsite_wpdb’ ); // Your new database name
define( ‘DB_USER’, ‘new_db_username’ ); // Your new database username
define( ‘DB_PASSWORD’, ‘your_strong_password’ ); // Your new database password
define( ‘DB_HOST’, ‘localhost’ ); // Or your new host’s DB hostname
- Carefully check for typos. Save the changes and upload the modified wp-config.php file back to the server, overwriting the existing one.
Step 7: Search and Replace URLs (Manual Method)
This is a critical step often missed in manual migrations. Your database still contains references to your old domain name or temporary URL. These appear in settings, post content, and crucially, Elementor data. You need to update these.
- Option A: Use a Plugin (Recommended after manual file/DB move): Once you can log into your WP admin on the new host (after updating wp-config.php and potentially pointing DNS temporarily or using a hosts file), install a plugin like “Better Search Replace” or “Velvet Blues Update URLs.” Use it to search for http://olddomain.com and replace it with http://newdomain.com. Also replace https://olddomain.com with https://newdomain.com if applicable. Be sure to check the correct database tables (usually all wp_ tables). Crucially, ensure the plugin handles serialized data correctly. Check its settings or documentation. This is vital for Elementor.
- Option B: Use WP-CLI (Advanced): If you have SSH access on your new host and WP-CLI installed, the command wp search-replace ‘http://olddomain.com’ ‘http://newdomain.com’ –skip-columns=guid –all-tables is powerful and reliable. It handles serialized data well. Add https:// versions if needed.
- Option C: Use a Standalone Script (Careful!): Scripts like “Database Search and Replace Script in PHP” by Interconnect/it can work. You upload them to your server temporarily and run them via your browser. They perform the replacements. Use with extreme caution and delete the script immediately after use for security reasons. Ensure it handles serialized data.
Why not just edit the SQL file? Manually editing the .sql file before import is very risky. WordPress (and Elementor) store some data in “serialized” arrays and objects. A simple find-and-replace in a text editor will break this serialization. This can corrupt your layouts and settings badly. Always use a tool designed to handle serialized data correctly.
Pros:
- Full Control: You manage every step of the process.
- No Cost (Software): Doesn’t require purchasing premium plugins (though you need tools like FTP clients).
- Works for Any Site: Not limited by plugin constraints or server timeouts during packaging.
- Educational: You learn the underlying structure of WordPress.
Cons:
- Time-Consuming: Downloading and uploading files/databases manually takes longer.
- Technical Skill Required: Requires familiarity with FTP, phpMyAdmin, and editing configuration files.
- Higher Risk of Error: Mistakes can break your site. Examples include wrong database details, incorrect file uploads, or broken serialization during URL replacement.
- URL Replacement is Manual: Requires an extra, careful step after the main transfer.
Method 3: Using Your Hosting Provider’s Migration Service
Many hosting companies offer free or paid migration services to attract new customers.
How It Works:
- You provide your new host with details about your old hosting account. This usually includes WP admin login, and sometimes FTP or cPanel access.
- Their technical team handles the entire migration process for you.
Pros:
- Easiest Option: Requires minimal effort on your part.
- Often Free: Many hosts offer at least one free migration as an incentive.
- Expert Handling (Potentially): The host’s team should be experienced with migrations to their platform.
Cons:
- Variable Quality and Speed: The efficiency and care taken can vary significantly between providers. Some migrations can take days.
- Less Control: You have little oversight of the process.
- Security Concerns: You need to share sensitive login credentials with a third party (though it is your new host).
- Potential Cost: Some hosts charge for migrations, especially for multiple sites or complex setups.
- Limited Scope: They might only migrate the core site. They might not handle specific configurations or post-migration troubleshooting beyond basic functionality.
When to Consider This:
- If you’re very uncomfortable with the technical aspects.
- If your new host offers a free, well-regarded migration service.
- If you’re migrating a standard WordPress site without highly custom configurations.
Always check the terms, turnaround time, and reviews of your host’s migration service before relying on it.
You can migrate using specialized plugins (user-friendly, often fast), manually (full control, more technical), or via your new host’s service (easiest, variable quality). Choose based on your comfort level, site complexity, and budget. Plugins often balance ease and control well. Manual migration offers ultimate flexibility but requires care, especially with URL replacements.
Post-Migration: Crucial Checks and Updates
You’ve moved the files and database, maybe updated wp-config.php. Almost there! But don’t pop the champagne just yet. Thorough testing and final configuration steps are essential. They ensure everything works correctly and your visitors have a seamless experience.
Step 1: Updating Your Domain Name System (DNS)
Right now, your domain name (e.g., yourwebsite.com) still points to your old hosting server’s IP address. You need to update it to point to your new host’s server IP address.
How to Update DNS:
- Find Your New Host’s DNS Information: Your new hosting provider will give you either:
- Nameservers: Typically two or more addresses like ns1.newhost.com and ns2.newhost.com.
- An A Record (IP Address): A specific IP address like 123.45.67.89 for your domain’s root (@) and www records.
- Check your welcome email or hosting control panel, or ask their support. Using nameservers is common if your host will manage all your DNS records (email, subdomains, etc.). Using an A record gives you more control if you manage DNS elsewhere.
- Log in to Your Domain Registrar: Go to the website where you purchased your domain name. This might be different from your old or new host.
- Find DNS Management Settings: Look for options like “DNS Management,” “Manage Nameservers,” or “Advanced DNS.”
- Update the Records:
- If Using Nameservers: Find the option to change nameservers. Replace the old host’s nameservers with the new ones provided by your new host. Save the changes.
- If Using A Records: Find the section for editing A records. Update the record for your main domain (often represented by ‘@’ or your domain name) to point to the new IP address. Also update the A record for www (or create a CNAME record for www pointing to ‘@’ or your domain name). Save the changes.
Understanding DNS Propagation:
After you update your DNS records, it takes time for these changes to spread across the internet. This is called DNS propagation. It can take anywhere from a few minutes to 48 hours. Often, it’s much faster, typically 1-4 hours.
- During Propagation: Some visitors might see the site on the old host, while others see the site on the new host. This is normal.
- Checking Propagation: You can use online tools like whatsmydns.net to check the propagation status from different locations around the world. Enter your domain name and select the record type (NS for nameservers, A for IP address).
Important: Do NOT cancel your old hosting account immediately after updating DNS. Wait until you are certain propagation is complete and the site is working perfectly on the new host. Waiting at least 48-72 hours is recommended.
Pro Tip: Minimize Downtime with Hosts File: Want to test before changing DNS publicly? You can edit your computer’s hosts file. This temporarily points your domain name to the new server’s IP address only for your computer. It lets you browse and test the migrated site thoroughly as if DNS had already propagated, without affecting actual visitors. Search online for “edit hosts file windows” or “edit hosts file mac” for instructions. Remember to remove the entry from your hosts file after testing and changing the public DNS.
Step 2: Testing Your Migrated Site Thoroughly
Once DNS has propagated (or while using the hosts file trick), it’s time for meticulous testing. Don’t just glance at the homepage!
Frontend Checks:
- Homepage: Does it load correctly? Are all images, sliders, and dynamic elements working?
- Internal Pages: Click through various pages (About, Contact, Services, Blog). Check layouts, images, and text formatting.
- Elementor Pages: Pay special attention to pages built with Elementor. Do complex layouts, animations, custom fonts, and widgets display as expected? Check different device views (desktop, tablet, mobile). Use your browser’s developer tools or Elementor’s responsive mode for this.
- Links: Test internal links, external links, and menu navigation. Ensure they point to the correct new domain (not the old one) and aren’t broken.
- Images and Media: Verify that images, videos, and downloadable files load correctly. Check gallery pages.
- Forms: Test all contact forms, signup forms, comment forms, etc. Does submission work? Do you receive the notification emails?
- Special Features: Test any specific functionality. Examples include e-commerce checkout processes (if applicable), search functionality, membership logins, etc.
Backend Checks:
- Log In: Can you log in to the WordPress admin area (yourdomain.com/wp-admin) using your credentials?
- Dashboard: Does the dashboard load without errors?
- Plugins: Check the Plugins page. Are all necessary plugins active? Any error messages?
- Themes: Check Appearance > Themes. Is your correct theme (and child theme, if used) active?
- Elementor Editor: Open a few pages for editing with Elementor. Does the editor load correctly? Can you make and save changes? Check Elementor > Tools > Replace URLs and Regenerate CSS & Data just in case. Remember to back up before using Replace URLs.
- Settings: Briefly review key settings pages (General, Reading, Permalinks). Ensure Site Address (URL) and WordPress Address (URL) in Settings > General reflect the new domain.
- Permalinks Crucial Step: Go to Settings > Permalinks and click “Save Changes” (even if you don’t change anything). This rebuilds your .htaccess file with the correct rewrite rules for the new server. It often fixes 404 errors on internal pages.
- Media Library: Check if images appear correctly in the Media Library.
- Users: Verify user roles and profiles if you have multiple users.
Create a Testing Checklist:
It helps to create a checklist covering all critical areas of your site. This ensures you don’t miss anything.
Step 3: Setting Up SSL/HTTPS
Ensure your site runs securely over HTTPS on the new host.
- Install an SSL Certificate: Most modern hosting providers offer free Let’s Encrypt SSL certificates. Use your hosting control panel (e.g., cPanel’s “SSL/TLS Status” or “Let’s Encrypt SSL”) to issue and install a certificate for your domain.
- Force HTTPS: Ensure WordPress is configured to use HTTPS. Check Settings > General – both WordPress Address (URL) and Site Address (URL) should start with https. You might need plugins (like Really Simple SSL) or .htaccess rules to automatically redirect HTTP traffic to HTTPS.
- Check for Mixed Content: Use your browser’s developer tools (specifically, the Console tab) or online scanners to check for “mixed content” warnings. This happens when an HTTPS page tries to load resources (images, scripts, CSS) via insecure HTTP. Fix these by updating the resource URLs to HTTPS. The URL replacement step or SSL plugins often handle this.
Step 4: Monitoring Performance and Errors
Keep an eye on your site’s performance and stability on the new host.
- Speed Tests: Run speed tests using tools like Google PageSpeed Insights or GTmetrix. See how your site performs on the new server. Compare with previous results if you have them.
- Error Logs: Check your server’s error logs. You can usually access these via the hosting control panel. Look for any PHP errors or other issues.
- Uptime Monitoring: Consider using an external uptime monitoring service. Many offer free plans. They can alert you if your site goes down.
Step 5: Decommissioning the Old Host (Finally!)
Only when you are 100% confident that:
- DNS propagation is fully complete (wait at least 48-72 hours).
- The site is working perfectly on the new host after thorough testing.
- You have reliable backups of the migrated site stored securely.
…can you safely cancel your old hosting account? Don’t rush this step! Keeping the old site live (but inaccessible to the public due to the DNS change) for a few extra days provides a fallback. This helps if unexpected major issues arise on the new host. Contact your old provider to cancel the service and ensure you won’t be billed further.
After the technical migration, update your DNS records to point your domain to the new host. Thoroughly test everything on both the front end and back end. Set up SSL/HTTPS correctly. Monitor performance. Only cancel your old hosting account once you’re delighted the migration was successful.
Common Migration Problems and How to Fix Them
Even with careful planning, things can sometimes go sideways. Here are some common issues you might encounter and how to approach troubleshooting:
1. Database Connection Error (“Error Establishing a Database Connection”)
This classic WordPress error means your website files can’t communicate with your database.
- Cause: Incorrect database credentials in wp-config.php.
- Fix: Double-check the DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST values in your wp-config.php file on the new server. Ensure they exactly match the database details you created on the new host (Step 3 of Manual Migration). Verify the database user has the correct privileges assigned to the database. Check if the database server itself is running. Contact host support if you suspect server issues.
2. White Screen of Death (WSOD)
You visit your site or admin area and see only a blank white screen.
- Causes: Often PHP errors or memory limit issues. It could also be a plugin or theme conflict.
- Fixes:
- Enable Debugging: Edit wp-config.php. Change define( ‘WP_DEBUG’, false ); to define( ‘WP_DEBUG’, true );. On the next lines, add define( ‘WP_DEBUG_LOG’, true ); and define( ‘WP_DEBUG_DISPLAY’, false );. This might show specific PHP errors on the screen or log them to the /wp-content/debug.log file. Remember to turn debugging off (false) afterward.
- Increase PHP Memory Limit: Ask your new host how to increase the WordPress memory limit. Do this via wp-config.php, php.ini, or .htaccess. A standard limit might be 128M or 256M; try increasing it.
- Check Plugin/Theme Conflicts: Use FTP or File Manager. Temporarily rename the /wp-content/plugins folder (e.g., to plugins_old). If this fixes the issue, rename it back. Then, rename the individual plugin folders one by one until you find the culprit. Similarly, you can try temporarily switching to a default theme, such as Twenty Twenty-Three. Do this by renaming the folder of your active theme in /wp-content/themes.
3. Broken Links and Images (404 Errors)
Internal links lead to “Not Found” pages, or images don’t appear.
- Causes: Incorrect URL replacement, issues with permalinks or the .htaccess file, file permission problems.
- Fixes:
- Resave Permalinks: Go to WordPress Admin > Settings > Permalinks and click “Save Changes”. Do this even without making changes. This rebuilds the rewrite rules.
- Check the .htaccess file: Ensure it was correctly copied to the new server’s root directory. Check that it’s readable by the server. If missing, regenerating permalinks should create it. Ensure mod_rewrite is enabled on the new server. It is usually enabled, but check with your host if you are unsure.
- Run URL Search/Replace Again: If links still point to the old domain or a temporary path, you might need to rerun a search-and-replace tool (like Better Search Replace). Ensure it correctly handles serialized data for Elementor and other plugins. Double-check you replaced all necessary variations (http/https, www/non-www).
- Check File Permissions: Incorrect file or folder permissions can sometimes prevent images or other files from loading. Standard permissions are usually 755 for directories and 644 for files. Check these via FTP or File Manager.
4. Mixed Content Errors (After Setting Up SSL)
Your browser shows warnings about insecure content on an HTTPS page.
- Cause: Some resources (images, scripts, CSS) are still being loaded over http:// instead of https://.
- Fix:
- Check Settings: Ensure WordPress Address and Site Address in Settings > General use https://.
- Use a Plugin: Plugins like Really Simple SSL often have a mixed content fixer built-in.
- Database Search/Replace: Run a search-and-replace tool to find http://yourdomain.com within your content and replace it with https://yourdomain.com. Be careful with this, especially regarding serialized data.
- Check Theme/Plugin Code: Hardcoded HTTP links in theme or plugin files might need manual updating. This is less common now, but possible.
5. Issues with Permalinks (404 Errors on Internal Pages)
The homepage loads, but clicking any internal link results in a 404 error.
- Cause: Usually related to the .htaccess file or server configuration.
- Fix:
- Resave Permalinks: As mentioned above, this is the first and most common fix (Settings > Permalinks > Save Changes).
- Check .htaccess: Verify the file exists, has the correct WordPress rules, and has proper permissions (644). Ensure AllowOverride All is set in the server configuration for your site’s directory. You might need host support for this setting.
- Check mod_rewrite: Confirm the Apache module mod_rewrite (or equivalent for Nginx servers) is enabled on the new server.
6. Elementor Layouts Look Broken
Pages built with Elementor don’t render correctly. Styles might be missing, or layouts might be jumbled.
- Causes: Incorrect URL replacement (especially if serialized data was broken), CSS loading issues, caching problems, plugin/theme conflicts.
- Fixes:
- Elementor Tools: Go to Elementor > Tools.
- Regenerate CSS & Data: Click this button first. It often resolves styling issues by rebuilding Elementor’s CSS files based on your current settings and layouts.
- Replace URLs: If you suspect URL issues are the cause (e.g., background images missing), use this tool carefully. Enter your old URL and your new URL. Ensure correct http/https. Run the replacement. Always back up your database before using this.
- Sync Library: If you use templates from the Elementor Library, syncing might help.
- Clear Caches: Clear your browser cache. Clear any WordPress caching plugins (like WP Rocket, W3 Total Cache). Clear server-side caching (if your host provides it). Clear your CDN cache (if using one). Clear everything!
- Check Elementor Settings: Go to Elementor > Settings > Experiments. Ensure unstable features aren’t enabled that might conflict with the new environment. Try disabling experiments temporarily.
- Re-check URL Replacements: Ensure the tool you used for URL replacement handled serialized data correctly. If you manually edited the database or used a basic script, Elementor data might be corrupted. Restoring from backup and using a serialization-aware tool is the best fix here.
- Check Plugin/Theme Conflicts: Temporarily deactivate other plugins and switch to a default theme. See if the issue persists. This helps isolate the cause.
- Elementor Tools: Go to Elementor > Tools.
Common migration problems include database connection errors (check wp-config.php), WSOD (debug, increase memory, check conflicts), broken links/images (resave permalinks, check .htaccess, re-run URL replace), mixed content (force HTTPS, fix URLs), permalink issues (resave permalinks, check server config), and broken Elementor layouts (regenerate CSS, use Elementor tools, check URL replace method, clear caches). Troubleshooting often involves checking configurations, clearing caches, and using built-in tools.
How Elementor Fits Into Migration
Migrating a site built with Elementor follows the same general principles as any WordPress migration. However, there are a few points worth keeping in mind. These help ensure your beautifully crafted pages make the journey intact.
Ensuring Elementor Compatibility
- Standard Process: Elementor is designed to work seamlessly with standard WordPress migration methods. Whether you use a reputable migration plugin or perform a careful manual migration (with proper URL replacement), Elementor handles it well. Elementor data (layouts, settings, kit configurations) is stored in the WordPress database and files (wp-content/uploads/elementor) just like other content.
- Host Environment: Ensure your new host meets WordPress requirements. This inherently covers Elementor’s needs too (PHP version, memory limit). A robust hosting environment benefits Elementor’s performance.
Post-Migration Checks for Elementor Sites
As highlighted in the testing phase, pay extra attention to:
- Visual Layouts: Check all key pages built with Elementor. Look at them on desktop, tablet, and mobile views.
- Dynamic Content: Ensure any dynamically loaded content within Elementor widgets (like posts, products, etc.) displays correctly.
- Forms: Test Elementor forms thoroughly.
- Kit Settings: Verify that your Global Colors, Fonts, and other settings from your Elementor Kit are applied correctly.
Using Elementor Tools Post-Migration
Elementor includes helpful tools under Elementor > Tools. These can be useful after the core migration is complete:
- Regenerate CSS & Data: This is often the first thing to try if you encounter styling issues post-migration. It rebuilds the CSS files Elementor uses based on your current settings and layouts.
- Replace URLs: If you missed some URL replacements during the migration, or if you changed from HTTP to HTTPS, this tool can help. It specifically targets URLs within Elementor data (and other site data). It’s designed to handle serialized data correctly, which is crucial. Use it cautiously and always back up your database first.
- Version Control: If an Elementor update post-migration causes issues, you can roll back to a previous version here. Use this with caution.
Elementor works well with standard migration practices. The key is to ensure that URLs are updated correctly. Use a serialization-aware method for this. Also, perform the recommended post-migration checks and clear all caches. Using Elementor’s tools can help resolve specific rendering or URL issues if they arise.
Elementor migrations follow standard WordPress procedures. Ensure proper URL replacement for handling serialized data. Use Elementor’s built-in tools (Regenerate CSS, Replace URLs) for post-migration checks and fixes if needed. Thoroughly test all Elementor-built pages after the move.
Conclusion: Migration Accomplished!
Migrating a WordPress site doesn’t have to be daunting. This is true even for a site you’ve invested effort into, using tools like Elementor. By breaking it down into clear phases – preparation, choosing a method, execution, and thorough testing – you can manage the process effectively.
Remember the golden rules: always back up first, plan carefully, choose the migration method that suits your technical level, and be meticulous with post-migration checks. Pay special attention to URL updates and testing Elementor layouts. Don’t rush the DNS change or the decommissioning of your old host.
While potential issues can arise, most are fixable with systematic troubleshooting. Whether you opt for a user-friendly plugin, take complete control with a manual approach, or utilize your host’s services, a successful migration sets the stage for your site to thrive in its new environment.
You’ve got this! With careful planning and execution, your WordPress site will be up and running smoothly on its new host before you know it. Happy migrating!
Looking for fresh content?
By entering your email, you agree to receive Elementor emails, including marketing emails,
and agree to our Terms & Conditions and Privacy Policy.