Growth is good, but it can also mean outgrowing your toolkit. In terms of websites, growth can mean your current provider has limited features that no longer support your business. Or, you may find that you need to create more web pages at scale, and your current website needs too much developer support to update, preventing you from moving quickly. If you find yourself in this situation, it’s time to consider migrating to WordPress.
WordPress is the world’s most popular content management system (CMS). The platform is free, open source, and easy to use, which makes moving to it an easy choice for your business.
However, the migration process needs to be somewhat involved. As with every website migration, you need to move carefully and deliberately so nothing falls through the cracks.
With the help of a few developer friends, I put together the following step-by-step guide for migrating your website to WordPress. I’ve taken extra care to make it beginner-friendly so even the least technical individuals can shift their website without stress. I’ve also shared some great free tools you can use to test if your WordPress website works once it’s up and running.
14 Steps for migrating a website to WordPress
The thought of migrating your website can be daunting, especially when you’re not a techy person. If you’re uncomfortable working with websites, you might want to outsource your WordPress migration to a developer.
However, switching to WordPress is easier than most people think. Read this walkthrough and see how little effort it takes to move your website and enjoy more robust functionality.
1) Evaluate your current website
Before moving to WordPress, review your current setup and identify your website needs. Take an inventory of all the types of content and on-site elements you employ, including:
- Pages
- Photo galleries
- Resource pages
- Blog functionality
- eCommerce functionality
- Newsletter subscription form
- Pop-up offer boxes
When performing this step, I recommend going through your website page by page to make sure you don’t miss anything.
Once you’ve listed all your site elements, note any areas that require special attention or functionality. For example, eCommerce functionality might need to be built into your WordPress site using WooCommerce.
Other questions to ask at this time are:
- How much content needs to be migrated to WordPress (number of pages, number of media files, etc.)?
- Does the current website use any third-party tools? If so, what for?
- Do any forms need to be migrated (e.g., contact forms, application forms, newsletter forms)?
- Is any of the existing content restricted (e.g., members-only content)?
Pinpointing which elements need special attention helps you determine what additional tools, plugins, or coding you require for full site functionality.
2) Set up a staging site
Before you plunge headfirst into this process, set up a staging site. I cannot stress this enough.
A staging site is a clone of your live website that you can use to test changes before they go live. This practice is essential for preventing your live website from breaking, especially when implementing big changes like migrating platforms.
You have a few options to create a staging site:
1. Through your website host
Most website host providers offer staging sites as part of their plans. Reach out to your host if you’re unsure whether they offer this perk; those that do are often willing to help you set it up.
2. With a WordPress plugin
If your host doesn’t provide a staging site, you might be able to use a plugin to create a basic one, depending on where your current website operates.
Before doing this though, follow the directions in step three for installing WordPress on your domain:
- In the Admin dashboard of WordPress, navigate to the Plugins area and select “Add new.”
- Search for the staging site plugin you want to use (I recommend WP Staging). Then, click “Install Now” and activate the plugin.
- Once installed, navigate to the plugin and follow the instructions for setting up a staging site.
3. Manual setup on a subdomain
If you’re new to using WordPress or managing website back-end systems, this method can be tricky; you might want to consult a developer for help instead.
If you decide to proceed on your own, you can create a subdomain to house your staging site through cPanel:
- Log in to the cPanel for your website (which you can usually access via your host) and navigate to the subdomains option beneath the “Domains” category.
- Create a new subdomain called “staging” or something similar.
- Next, you’ll need to set up a new FTP account for your subdomain to make sure everything uploaded to there is kept separate from the live website.
- Navigate to “FTP accounts” in cPanel and enter the new account details. Make sure the “Directory” in FTP matches the directory for your subdomain.
- Then, follow the directions in step 3 for installing WordPress, making sure you install WordPress on the subdomain FTP account and not the main website FTP account.
3) Back up media files to Google Drive
Protect your website media prior to making any changes by backing it up to cloud storage. I recommend Google Drive because it’s easy to use, accessible from anywhere, and offers a large amount of storage for free.
Download all your onsite media, including photos, videos, brand logos, and even font files (if using custom fonts), to Google Drive. The more files on your website, the longer this process will take. However, it’s a great opportunity to clean up your site and remove any media that’s outdated and no longer necessary.
4) Install WordPress
With the groundwork laid, you can now embark on your WordPress migration journey. Get started by downloading the latest version of WordPress.
Remember to import WordPress to the staging website you created, not the live site. This allows your current incarnation to remain active while you focus on the WordPress migration in the background. You can do this through one of three methods:
Method 1: Use a host with WordPress pre-installed – The easiest way to install WordPress is to use a host that does it for you. Many WordPress-specific hosts are available and come with pre-installed WordPress site options. If you opt for this route, you skip the installation step.
Method 2: Install WordPress on cPanel – When you sign up for a website host, they should provide you with access to cPanel. This is a site management platform that makes it easy to manage the back end of your site. cPanel developed a robust WP Toolkit that launches the WordPress installation with the click of a button.
Method 3: Install WordPress manually – If the first two methods aren’t an option for you, you can install WordPress manually. To do so:
- Download the latest version of WordPress.
- Then, unzip the file and upload it to the “public_html” (or similar) directory of your website via FTP (file transfer protocol).
- If you haven’t set up FTP before, you’ll need to do that first. This can be done through the cPanel for your website.
Set up the WordPress database
While your WordPress installation file is uploading to the FTP, you need to create a database for WordPress on your web server:
- Navigate to your cPanel account and find the “MySQL Databases” area. You should see an option to “Create a new database.” Enter a name and click “Create database.”
Note: Make the database name easy to remember, as you’ll need it later on (I recommend using your brand name).
- Next, you need to set up a user for your database. Scroll down to the “Add a new user” section of the page and follow the instructions for creating a new username and password. Click the “Create a user” button once done.
- Once the new user is complete, give it access to the database you just established by using the drop-down fields and clicking the “Add” button.
- On the next page, give the username access to all privileges. This will make sure the user has access to all elements of your WordPress website.
Visit your domain and follow the WordPress installation wizard
Once you’ve set up the MySQL database and user and the FTP file upload has finished, you can continue the installation process on your domain:
- Go to your domain (or the subdomain for your staging site). When the site loads, you should see a WordPress installation wizard. Choose your preferred language.
- Then, enter your database name, user, and password when prompted. You’ll also need to add a database host name. If you don’t know the name of your database host, ask your web host. Then, click “Submit.”
- Now, it’s time to “Run the install” to import WordPress to your website.
- At this point, you’ll be prompted to choose a site title and input the login credentials for the administrator before clicking “Install WordPress.”
You now have WordPress installed on your website and should be able to log in using the account details you just created.
5) Import site content to WordPress
With WordPress installed and ready to go, you’re ready to import your site content to the staging site. This involves copying everything from your existing site onto the new WordPress one. This can be done manually — with the help of a developer if you’re inexperienced — or with a plugin to automate the process.
Whichever method you choose, you first need to export the content from your old site. Instructions for this will depend on your web host; for example, if you use SquareSpace, you should go to “Settings” > “Advanced” > “Import/Export menu,” then click the “Export” button to download your site elements.
The next step is to import the downloaded site content to your WordPress site. In the WordPress admin panel, go to “Tools” > “Import.” Here, you’ll see options to import website elements from other sites such as Tumblr, LiveJournal, or another WordPress site. If your previous website provider isn’t listed here, either import the content manually via SFTP (with the help of a developer) or use a plugin (there are lots of WordPress migration plugins available to copy site content over to the platform).
Whichever plugin you choose, follow all steps meticulously and check for errors. Any mistakes made at this point could result in site content being lost or your WordPress site going down.
Some reputable plugins you can use to migrate sites to WordPress are:
- WP All Import – Highly recommended for importing site content to WordPress and WooCommerce. This plugin offers granular control over site content migration and is compatible with a wide range of file types, including large files. The drag-and-drop interface makes it easy to import all your content as well.
- Migrate Guru – Positioned as the fastest way to migrate WordPress sites, including complex multi-site or large-size migrations. This plugin lets you migrate small sites with a single click; all you have to do is enter your host details, click “Migrate,” and you’re done.
- CMS2CMS – Move website content to WordPress in a few simple steps. Provide CMS2CMS with your old site details to export your site content. They’ll then establish a connection between your old site and the new WordPress one to transfer your content safely and quickly. You can even test CMS2CMS with a demo migration by transferring 10 content pages to see how it works.
Note the website CPU size before you import any content to your WordPress staging site and make sure your WordPress host can handle it. If not, you’ll need to upgrade your hosting package to accommodate the expected site size.
6) Set up Yoast
Once you’ve imported your site content, it’s time to take care of web page metadata, which includes page titles, descriptions, and other related information. This data helps search engines crawl and rank your web pages, thus contributing to your website’s SEO performance.
Use the Yoast SEO Premium plugin to export and import page metadata between your old and new websites. To do this, go to “Yoast SEO” > “Tools” >”Import and Export.”
Here, you’ll have three options:
- Import Yoast SEO settings
- Export Yoast SEO settings
- Import from other SEO plugins
Import metadata from other SEO plugins
Using the third option, Yoast SEO allows you to import metadata from a variety of WordPress plugins, including All in One SEO, JetPack, and Rank Math. This makes it easy to transfer metadata from an old WordPress site that used a different SEO plugin — the whole process takes a matter of minutes!
Import metadata from another Yoast SEO installation
If you’re exporting data from another Yoast SEO Installation, head to the “Export settings” tab and follow the instructions to extract your site’s metadata. Next, navigate to “Import settings” and follow the instructions to upload your previous Yoast SEO settings to the new installation. The plugin will then map previous page titles, appendages, and descriptions to each new page to mirror the existing metadata on your new website.
This stage of the migration process presents an opportunity to improve your website’s metadata. After importing, comb through it and make sure all your meta titles and descriptions are optimized for the keywords they target. You can check and edit your metadata by heading to each page and manually reviewing it or using Yoast SEO’s bulk editor tool.
Manually export and import metadata
If you aren’t importing data from another SEO plugin or Yoast SEO installation, you have to export your old site metadata manually. You can employ an SEO tool like Screaming Frog to extract a website’s metadata. Use Screaming Frog’s custom extraction function to export your metadata by following these instructions, or ask a developer to do this for you.
Then, export this metadata to a CSV file using Yoast SEO naming structures for the different fields, such as “_yoast_wpseo_title” for “SEO Title.” This site has a list of known Yoast custom fields to assist you.
Upload the CSV file to your new WordPress site using a CSV importer plugin like WP All Import. Your site will handle the rest, passing this information on to Yoast SEO for you. You can check that the metadata for each page is correct by cross-referencing it with your CSV file.
Additionally, capitalize on Yoast SEO to import and fix site redirections if any URLs changed during the migration.
7) Check for broken links
Depending on where you move your site from, naming conventions for URLs may differ. This can cause website links on your new site to break, sending people to an error 404 page.
Shopify, for example, applies standardized naming conventions for URL structures, while WordPress lets you choose your own. By default, however, WordPress URLs look something like this: yourwebsite.com/?p=12.
You can change your WordPress site’s URL structure by navigating to “Settings” > “Permalinks” in the WordPress admin panel.
After importing your site content, check for broken links that no longer work on the new WordPress site (likely due to the altered URL structure). You can use a link checker tool like Xenu or an SEO tool like Screaming Frog or Ahrefs to find broken links. If you opt for Xenu:
- First, download Xenu’s Link Sleuth tool. Unzip the file and install it on your computer by following the instructions.
- Once installed, open the Xenu program and navigate to “File” in the menu bar. Then, click “Check URL…”, enter the URL for your website domain (“https://www.[yourwebsite].com”), and press the “OK” button.
- You can choose to see only broken links by clicking “View” and then “Show broken links only.”
- The Link Sleuth will then run through your website’s internal URLs and produce a list of all broken strands. From there, you can add the new URL these should redirect to.
It’s worth noting that Xenu only works on Windows; if you’re on a Mac, employ an SEO tool like Screaming Frog’s SEO Spider.
8) Audit backlinks
Migrating your website to WordPress gives you the chance to check the health of any backlinks.
Run a backlink audit by using a tool such as Ahrefs. The audit will spot any spammy backlinks negatively affecting your SEO performance or that Google might penalize.
You can perform a simple backlink audit in less than 30 minutes by logging in to Ahrefs and going to their Site Explorer tool. In the search box, enter your website domain and choose the “Domain” mode from the drop-down menu to comb through your entire website.
Once the search is complete, you’ll see an overview of your site, including the total number of backlinks it’s acquired. Click on the backlink audit to see which domains point to your website.
Suspicious backlinks to look out for include links from:
- Penalized domains
- Link directories and link farms
- Toxic niches (e.g., pornography, online gambling, pharmaceuticals)
Watch for a large number of links from foreign-language websites or unrelated niches as well.
The backlink audit tool will also reveal the anchor text used when other sites link to yours. This helps you spot spammy links from sites that otherwise seem to be reputable. If you see anything unexpected here, such as crude or spam text, it could be a sign of toxic backlinks.
Make note of any unhealthy or spammy backlinks by keeping track of the URLs in a CSV file. Then, contact the webmaster of those sites to request removal.
After you’ve requested removal, submit a disavow file to Google asking the search engine to ignore these backlinks. Google requires you to contact the webmasters first though, so complete that step before submitting your disavow file.
Convert the CSV file of the backlinks you want removed to a text file. Then, go to the Disavow Links tool within Search Console and choose the correct property for your website. After, upload your text file of unwanted backlinks by clicking the “Upload disavow list” button.
Take the opportunity to check which pages healthy backlinks direct to as well. If any point to broken links, refer to step 6 to check your site for broken links and update them by setting up 301 redirects. This will prevent you from sending people to expired web pages and thus losing valuable traffic to your website.
9) Set up 301 redirects
Jumping off the previous step, if you find any broken links or unmapped backlinks, set up 301 redirects. You can set these up manually using the .htaccess file for your website or a URL redirection plugin.
How to set up 301 redirects manually
Locate your .htaccess file using your chosen FTP tool. By default, the .htaccess file should exist in your account under the “public_html” folder of your root domain (e.g., “/home/yoursite/public_html/.htaccess”)
You can modify this file using your chosen FTP tool or via your website’s cPanel. To do this via cPanel:
- Log in to your cPanel, navigate to “Files,” then click “File Manager” and locate the .htaccess file.
- If you can’t see the .htaccess file, it may be hidden. In this case, click “Settings” and then check the “Show hidden files” box.
- Right-click on the .htaccess file and select “Edit.” You can then enter text directly into your .htaccess file.
- Insert the individual URLs you want to redirect using the following structure:
Redirect 301 /old-page-slug/ /new-page-slug/
The “old-page-slug” should refer to the permalink of the broken link you want to redirect, and the “new-page-slug” should refer to the permalink of the page you want it to redirect to. For example, if you’re redirecting “yoursite.com/news-and-blog” to “yoursite.com/blog,” the line you enter into the .htaccess file would look like this: Redirect 301 /news-and-blog/ /blog/
How to set up 301 redirects with a plugin
The easiest way to set up 301 redirects is to use a plugin, and you can choose from a wide range of options for this.
Alternatively, you can leverage a plugin you already have installed and let Yoast SEO Premium handle the job. Yoast’s Redirect Manager helps you create and manage URL redirects for your site.
- Navigate to the Redirects tool in Yoast SEO.
- Toggle to the “Redirects” tab and choose the redirection type “301 Moved Permanently” from the drop-down list.
- Enter the old URL and new page URL in their respective boxes.
- Click “Add Redirect” once done.
- Repeat this process for all the URLs you need to redirect.
I use a plugin called Redirection to manage my 301 redirects. It has a simple, easy-t0-use UX and is great for both WordPress website migrations and content updates.
10) Update DNS settings
If you’re changing servers as part of your website migration, you’ll need to update the DNS settings to point to the new IP address. This can be done via your website host:
- Log in to your website host account and navigate to the DNS settings section. The location of your DNS settings will vary depending on your website host, but you can typically find them under the domain management or settings area.
- Locate the DNS records for your domain name. These should include an A record, which points your domain to an IP address, and a CNAME record, which points your domain to a specific subdomain.
- Update the A record so it directs to the IP address of your new web server. If you’re unsure of the new IP address, you can find out by contacting your new website hosting provider or checking your web host account.
- If you have a new subdomain for your website, you’ll also need to update the CNAME record to point to the subdomain on your new web server. You can locate this information in your website host account or by speaking with your new hosting provider.
- Once done, check the information entered is correct, then save your changes.
It can take up to 24 hours for DNS changes to take effect, and your website may be temporarily unavailable during this time. Once the changes go live, verify your website works as expected.
11) Push staging site live
The next step of the migration process is to move the content on your stage site to the live one. Some website hosts will do this for you automatically, so check with yours first. If they do, follow the instructions they provide (it’s usually as simple as pressing a button or submitting a case request).
If your website host doesn’t offer this, you can do it manually.
How to deploy a staging site manually
First, back up your staging site content to ensure you don’t lose any of your new creations in the event of issues during deployment.
Then, you can use your chosen FTP tool to copy all of the site files from the staging site to your live one. To do this, you’ll need the FTP credentials for both the staging and live sites. Using the FTP for your staging site, download all the files and subfolders inside the root directory of your staging site.
Next, connect to the FTP for your live site. Upload the files downloaded from your staging site to the root directory of your live site, ensuring these overwrite any duplicate files or folders.
This process can take some time to complete. Once done though, your live site should contain all the updated changes. Test it to make sure it works correctly.
Comb through your site to replace any broken URLs and verify all internal links point to the live site, not the staging subdomain. You can use a search and replace tool like Better Search Replace to search for any internal links that point to the staging site and easily replace these with the correct URL.
12) Notify Google of the migration
Before your site migration is complete, you have to resubmit a sitemap to Google to make sure your website is discoverable in Google search results.
If you changed your site URL or domain during the migration process, you’ll first need to verify you own the URL in the Google Search Console.
To do this, create a new property and follow the steps to verify your site by providing proof that you own it. This can be done by uploading an HTML file to your site, using your Google Analytics tracking code, Google Tag Manager account, or some other method.
While setting up the Google Search Console property for your site, check the “Googlebot” can access your new site infrastructure using the URL inspection tool. Then, remove any temporary blocks preventing site crawls by updating the robots.txt file for your site.
Add a new sitemap to your Google Search Console by going to “Indexing” > “Sitemaps” in the sidebar and entering the URL permalink where your sitemap is located. (If you use Yoast SEO, Yoast can automatically generate a sitemap for you.)
Once you’ve submitted the sitemap, you can monitor and fix any error codes that arise.
13) Notify Bing of the migration
Google isn’t the only search engine people use; consider informing Bing of your website migration as well.
To do this:
- Set up Bing Webmaster Tools for your site.
- Deploy the Site Move Tool to inform Bing of your site migration and verify site ownership if you also changed the URL or domain.
- Again, update the robots.txt file to remove any temporary blocks preventing site crawling.
- Navigate to the “Sitemaps” section of Bing Webmaster Tools and submit your sitemap. You can do this directly or by importing it from the Google Search Console.
After your sitemap is set up, you can use Bing Webmaster Tools to monitor your web pages and resolve any errors that crop up.
14) Monitor site performance and fix errors
Finally, employ Ahrefs to crawl your website, monitor site performance, and spot any problems. The SEO Checker lets you review your website’s SEO performance and determine how to improve it. It displays a trove of data, including:
- Broken links
- Missing title tags and meta descriptions
- Duplicate content
- Dead pages
- Slow pages
- Large image files
- Pages blocked by robots.txt file
Free tools to test your website
Before you call it a day, don’t forget to test your new website. This is an important step to make sure your new website is up and running as it should be.
In addition to the tests and checks mentioned above, there are plenty of free tools available to check your website performance once it’s been migrated.
Core web vitals
You can check your site’s core web vitals to measure its performance and find opportunities to improve various metrics.
To do this, open the DevTools Performance panel, navigate to Lighthouse, and press “Analyze page load” to generate a report. This report will measure your site’s performance, accessibility, best practices, SEO, and progressive web app.
The report relies on a traffic light system to help you easily determine your site’s current performance. Prioritize fixing the identified issues and aim for the highest possible score across all metrics by getting your site into the “green” zone.
Pingdom Website Speed Test
People expect websites to load quickly, so check your speed using the Pingdom Website Speed Test. This tool assigns a performance grade out of 100 and analyzes page speed for:
- Load time
- Page size
- Requests
Using that information, you can see which pages are slow to load. Pingdom will also tell you what issues impact your page speed so you know what to fix.
SERP Racer
SERP Racer is a great tool for comparing your site’s load speed to that of competitors in your niche.
Enter one of the keywords your site targets and hit “Search to start.” SERP Racer then provides a list of the top-ranking pages for that search term and how quickly they load. This allows you to see whether your page speed is hindering your ranking ability compared to competitors.
Ahrefs
While Ahrefs is a paid tool, it does offer many free features to measure your website’s SEO performance. For instance, use their SEO Site Audit tool to uncover any technical or on-page SEO issues. This report not only flags potential SEO problems but also provides recommendations on how to fix them.
Broken Link Checker
As its name suggests, Broken Link Checker lets you check your site for any broken links.
Take advantage of the WordPress plugin specifically to identify any broken links on your new site. It’ll help you stay on top of broken links so you can tackle them as soon as they arise. You can also edit or unlink broken links directly from the Broken Link Checker plugin dashboard.
Check My Links
Check My Links is a Chrome plugin that allows you to check for broken links on a loaded page. You just install the tool, go to the page you want to check, and click on the extension to scan the page for broken links.
Nibbler
Nibbler is a free website testing tool that scores your site across several key performance areas, including accessibility, experience, marketing, and technology. Although free, it is limited to three reports and a maximum testing sample of five pages.
Simply enter your URL and click “Test.” After a few minutes, Nibbler will generate a performance report for your site that scores it out of 10 across various metrics. You can then dive deeper into each one to see what tests contributed to the score and uncover areas for improvement.
Inspectlet
Inspectlet is a user-testing platform that allows you to collect session recordings to watch individual visitor behavior on your site.
It’s free for one website and up to 2,500 sessions per month, providing dynamic heatmaps, A/B tests, form metrics, and error logging. With Inspectlet, you can see how users behave on your site and discover why they take the actions they do.
Five Second Tests
Find out what your website visitors really think about your site by using UsabilityHub’s free Five Second Tests.
This tool lets you measure first impressions and recall from your website visitors. With the free version, you can collect tests from a maximum of three collaborators. Five Second Tests is excellent for learning what people think about your site and understanding what usability and user experience changes you need to make to it.
LambdaTest
Not everyone uses the same browser, so run LambdaTest to rule out any cross-browser issues. The cloud-based platform performs live, interactive, cross-browser tests of your website across 3,000 browsers, devices, and operating systems.
Learn how your site performs on different browsers and platforms to determine what errors need fixing and where. The free version of LambdaTest lets you perform one test and conduct up to 60 minutes of real-time browser testing per month.
Bonus Tool: ServMask
If you’re migrating from one WordPress website to another, our developers have used ServMask to perform WordPress-to-WordPress migrations with ease.
The ServMask all-in-one WordPress migration plugin lets you backup and migrate WordPress sites hassle-free. With one-click transfers, fast personal support, a variety of integrations, and high security standards, it’s a reliable tool for moving WordPress sites.
Wrapping up — Migrate your website to WordPress seamlessly
Moving your website to WordPress might seem daunting, but with the help of this step-by-step guide and a few useful tools, it can be a smooth and seamless transition. You can also hire a developer to help with any technical steps or perform tasks you don’t feel confident undertaking.
Remember to take your time and back up your website before making any changes. Double-check each step of the process and test everything to ensure it works properly. If you run into any problems along the way, seek support from a developer, your web host, or a WordPress community.
Switching to WordPress allows you to enjoy a user-friendly interface complete with a host of powerful plugins and customization options. You’ll be able to personalize your website and improve its functionality to suit your needs and your audience’s interests for an overall better online experience.