- Posted by cagipple in Tutorials
- 1 Comment
Recently, I completed a fairly complex project that involved transferring a client’s wordpress.com site to a self-hosted wordpress.org site. This client runs a popular blog with thousands of loyal followers, so making the switch needed to be as seamless as possible. The client also needed to move their current subscribers to the new site, as well as preserve their SEO. After doing a bit of research, I broke the project down into these steps:
1. Exporting content from the wordpress.com site
2. Setting up the self-hosted wordpress and importing content
3. Redirecting old site to the new site
4. Migrating the followers from the old site to the new site
Before diving into it, you’ll want to make sure you have a domain name and web hosting set up. For this example, we will be using GoDaddy. But any web hosting service will work as long as they support WordPress.
1. Exporting Content From Your WordPress.com Site
The first thing you’ll want to do is export the content from your site into an XML file. WordPress has a feature that will do this for you. Log into your wordpress.com account and go to the dashboard. Then navigate to Tools > Export.
You’ll want to make sure “All Content” is selected, then click Download Export File. Save the XML file to your computer. This file contains all the information regarding your blog, including post, pages, comments, tags, categories, and media.
2. Setting Up Your Self-Hosted WordPress and Importing Content
After you have exported your content, it is time to set up your new home for your blog. For this tutorial, we will be using GoDaddy for both our domain and web hosting, however the process is similar for other hosting providers that support WordPress.
First, log into your GoDaddy account. Expand the Web Hosting tab and click Manage. Find the section labeled Popular Apps and click WordPress. Next, click install. In the pop up box, choose the domain you want to install your new site on. Then choose the directory to install the wordpress files, if you leave this blank, wordpress will install in the root directory. Lastly, enter an admin name, password, and email. For more information on installing wordpress, refer to this article, or contact your hosting provider.
Now that you have a fresh install of WordPress on your new domain, you can import your content. Log into your self-hosted WordPress admin by going to www.yoursite.com/wp-admin. Navigate to Tools > Import. Click WordPress at the bottom. You’ll be prompted to install the WordPress Installer if you haven’t already. Next, choose the XML file you exported from your old site in step 1. Then click Upload file and import. The importer will ask you if you want to import your attachments, make sure to check this field is you want to keep any images associated with your posts. After you have imported your content, you can install the theme of your choice and any plugins/widgets.
3. Redirecting Your Old Site to the New Site
Once you have your new site up and ready to go, you’ll want to start getting traffic to it by redirecting your users from the old site to the new site. To keep your search engine rankings, you need a permanent 301 redirection. Unfortunately, WordPress.com will not allow you to manually configure the redirection, but you can purchase the Site Redirect upgrade for $13 per year. It is highly recommended that you utilize the redirection upgrade, even if it is just for a year after your new site launches. The upgrade will redirect all links, including search engine results, to their respective location on the new site.
To configure the Site Redirection upgrade, go to your WordPress.com admin. Then navigate to Store and select Buy Now under Site Redirection. You will then be prompted to enter the url to your new domain.
4. Migrating Followers From The Old Site To The New Site
The final step is to move your subscribers over to the new site so they will continue to receive updates when you post new content. WordPress.com has tool that will allow you to migrate your followers. But first you will have to install the Jetpack plugin onto your new WordPress.org site. In the WordPress admin, navigate to Plugins > Add New. Search for Jetpack and click Install Now.
After installing and activating Jetpack, you need to use the plugin to connect your WordPress.org site to your WordPress.com site. On the sidebar panel, click Jetpack and you’ll taken to the screen showed below. Click Connect to WordPress.com.
Jetpack will then prompt you with another screen with some information about your accounts. If you have multiple WordPress.com accounts, make sure you are currently logged into the one that you want to connect with. After confirming that you connecting the correct accounts, click Authorize Jetpack.
Now that Jetpack has connected your new site to WordPress.com, go to your WordPress.com account and in the top left, click SWITCH SITE. If you have configured the connection properly, you should see your Jetpack connected domain in your list of sites. Select your Jetpack connected site, then towards the bottom, click Settings. On the settings page, under Jetpack Status, click migrate followers.
On the bottom of the following page, select your WordPress.com that has the followers you want to migrate to your WordPress.org site. Then click Migrate. You will prompted with a pop up that asks if you want to proceed. Double check that you have chosen the right domain, then click Ok to proceed. WordPress.com will send you two emails: one when the transfer has begun, and another when the transfer has completed. If you’re having trouble migrating your followers, contact Jetpack support and they will do it for you.
So now you should have your new self-hosted Wordress.org site with your all followers, as well as search engine friendly 301 redirection on your old WordPress.com site, pointing your followers in the right direction. I spent a fair amount of time planning this transition for my client, so hopefully this guide saved you some frustration. If you have any questions or advice of your own, please comment below. Thanks!