How to Move Your Blog from WordPress.com to WordPress.org
When you’re ready to scale up your WordPress.com blog or website without limits, migrating to a self-hosted WordPress.org site is the best way to go.
You can get full reign over your site’s design and functionality, as well as access help from people in the WordPress community (and us here at WPMU DEV!) when you’re in a jam.
When you’re used to the WordPress.com interface, navigating your way through the migration process to a self-hosted server can be tricky.
Getting Started Moving Your Website…
Before you can migrate your blog, you need to have a new self-hosted WordPress site installed. If you haven’t started thinking about this yet, you’re going to need two main things: website hosting and a domain name.
You can sign up with a hosting company to store all your site’s files and a domain name, such as wordpress.org, points to those files so visitors can access your site.
Don’t panic if you already have a domain setup with your current blog since it’s possible to still use it after you transfer your site. If you don’t already have a domain attached to your current blog, you’re going to need one.
You can check out Why You Shouldn’t Register Domains With Your Web Host for more details on what hosting and domains are and the reasons why you should consider purchasing them with separate companies.
If you’re not yet sure if you should migrate your blog to a self-hosted WordPress site, check out WordPress.org vs WordPress.com: A Definitive Guide For 2015 to learn about the differences and help you make an informed decision.
For details on hosting , check out these posts:
- Shared, VPS, Dedicated or Cloud Hosting? Which is Best for WordPress?
- WP Engine Managed Hosting Review: Feature-Packed and Hard to Fault
- SiteGround Managed Hosting Review: Excellent Support, Not Really for WordPress
- Flywheel Managed WordPress Hosting Review: Beautiful, Functional Solution for Designers
- Pagely Managed WordPress Hosting Review: Solid Service, Shaky Communication
- GoDaddy Managed WordPress Hosting Review: Budget Hosting, Poor Features
- The Best WordPress Hosting Providers in the World
- WordPress Web Hosting
- Introducing WPMU DEV Multisite Hosting – Join the Beta Program!
- Kinsta Managed Hosting Review: Blazingly Fast and Solid Features
You can also check out these posts for details on domain names:
- Organizing Your WordPress Domain
- Good Domain Name Picking Tips for Your Blog Setup
- How to transfer your domain name from WordPress.com
- How to Choose the Right Domain Name
No matter what domain you choose, be sure not to include the word “wordpress” in it, though you can still use the abbreviation “wp.” The reason for this is to avoid trademark infringement. I’m not a lawyer so you can refer to WordPress’ official public statement about this for the details: WordPress Domains.
Most hosting companies also have extensive documentation so you can check it out for details on how to point your domain name to your site.
Installing Your Self-Hosted Site
Once your hosting is set up and you have your domain attached to it, you can install a fresh WordPress site.
For details on how to do this, check out these posts:
- A Guide to the Best Ways to Install WordPress
- When and How to Install WordPress in a Subdirectory
- The Ultimate Guide to WordPress Multisite
- Installing WordPress
- How To Set Up A WordPress Website From Scratch
Also, be sure to choose and install a theme before you continue. Fortunately, most of the free WordPress themes available at WordPress.com are available to install and use for self-hosted WordPress.org sites.
If you used a free theme on your blog, you can choose the same one so your site looks the same after the migration. Otherwise, you can choose a different theme or choose a premium theme or theme framework.
Keep in mind that if you choose the same theme, you may also be required to install and activate the free Jetpack plugin.
You can find themes in the WordPress theme directory. Alternatively, you can find themes in third-party theme markets or companies such as these ones:
- Envato Theme Market (ThemeForest)
- WPMU DEV Upfront theme framework
- Graph Paper Press
- and many others
Keep in mind that you can certainly change your theme later and as needed. You can also check out this guide to finding and choosing a theme: Free WordPress Themes: The Ultimate Guide.
There are so many themes out there, choosing one can be a tad overwhelming so you can also check out these lists for hand-picked, stunning themes that are all free of affiliate links:
- 30+ Top Quality Free, Minimalist and Stunning WordPress Themes
- 60+ Stunning Free Personal Blog Themes for WordPress
- The Best 100 Free WordPress Themes Ever
- 30 Free, Responsive and Stunning WordPress Themes
- 55 Free and Responsive WordPress Themes
- 10 Highly Customizable, Responsive, and Free WordPress Themes
- 20+ Stunning WordPress Portfolio Themes to Inspire You
- 25 Retina-Ready WordPress Themes for a Visually Stunning UX
- 25 Stunning Parallax WordPress Themes to Inspire You
- 33 Beautiful, Lightweight and Responsive WordPress Themes
- 20+ Eye-Catching WordPress Business Themes For Fussy Clients
- 120 Free Premium WordPress Themes
- 15 Great Mobile First WordPress Themes to Boost Your Site Performance
- 40 Impressive (and Free!) WordPress Themes for Freelancers
- 50+ Gorgeous Free and Premium WordPress Themes Killing It in 2016
Once you have a fresh installation of WordPress on your hosting account with your chosen theme installed, you can go ahead and start the migration process.
1.6 million WordPress Superheroes read and trust our blog. Join them and get daily posts delivered to your inbox - free!
Installing the WordPress Importer
The first step of the migration process involves your self-hosted WordPress site so go there first and log into your admin dashboard.
Next, go to the Tools tab and click on Import, then on the Install Now button under WordPress on the list.
When you see a message at the top of the page which states that the Importer was installed successfully, you can switch to your original blog’s admin dashboard to export your content.
Exporting Your Content
Go to your current WordPress site and log in, then click on My Site in the top, left-hand corner. Next, click on the Settings tab in the menu, then on the Export tab toward the top.
Click the Export All button to start collecting your data into a single file.
If you want to select certain types of content to export only, you can click the arrow to the right of the button to select the specific content items you want to export, then click Export Selected Content.
When it’s finished, you should see a message letting you know and you can click the Download button and save the file to your computer.
A copy is also sent to your email in the form of a link you can click to download the export file.
After you download the ZIP file, you need to uncompress and extract it before continuing. Once that’s done and you can see the WXR (.xml) file that’s inside the uncompressed folder, you can go ahead and continue migrating your site.
Import Your Site
Now that you have your blog exported, you can switch back to your self-hosted site. In your admin dashboard, go to Tools > Import.
Click the Choose File button to select the WXR (.xml) file from your computer, then click Upload file and import.
Keep in mind that you may have an upload limit that’s less than the total size of your WXR file. If this is the case, you can increase the upload limit by checking out the details in the post How to Increase the Maximum Upload and PHP Memory Limit in WordPress.
For Multisite, you can also increase the upload limit for the sites in your network by going to your super admin dashboard and adjusting the Max upload file size under Settings > Network Settings. Don’t forget to save your changes.
If you’re using a shared hosting account for your new site, you can also contact your host so they can adjust the upload size for you.
When the file has imported, some settings should appear.
You can either create a new user with the same username as the one for your WordPress.com blog or you can click the drop down box to choose from a list of pre-existing users to take over as the author of the content you’re importing.
If you have a pre-existing user that corresponds with the user of your former blog, it’s recommended you select them instead of creating a new account for security purposes.
For example, I have only one user for my new and old site and it’s me so instead of creating two accounts for myself, I can just select the one I already have in the drop down box.
Also, check the box to Download and import file attachments, then click the Submit button.
Depending on the size of your blog, the importing process may take a few minutes so feel free to take a short break while you wait. When it’s done, check to make sure all your content has been imported, including your images.
If your site doesn’t look exactly the same, don’t forget to delete the sample posts and comments that come with a fresh install of WordPress and also make sure you have the same or a similar theme installed and activated on your new site.
If your images aren’t showing up, then there was a glitch with the import process. This doesn’t always happen, but it’s known to happen from time to time.
Don’t panic. You can get your images back manually, by downloading them from your old blog, then re-uploading them to your newly migrated site or you can also try partitioning your XML file as detailed in this post WordPress Import Failed? Here’s How to Fix It.
You’re Ready to Go! So What’s Next…?
Once everything’s all said and done, your site should be migrated and ready to go.
Now, you can enjoy the freedom (and responsibility) that comes with running your own self-hosted WordPress site. You can have fun installing plugins to extend the functionality of your site or tweak your design as much as you want.
If you crave the familiarity of your old admin dashboard, you can install the free Jetpack plugin.
Redirecting Followers, Subscribers and Address
A new site isn’t any use if your followers can’t find you. Fortunately, there are options for you to direct your loyal fans.
If you had a free WordPress site address for your blog, you can redirect your users to your new site (and domain name) by going to Settings in your now former blog’s admin dashboard.
Then, under Site Address, click the redirect link underneath the text box.
On the next page, you can enter your new domain and checkout to complete the order and redirection. The price of the site address redirection is $13/year at the time this article was written.
If you’re looking for a free alternative, you could install the Jetpack plugin and transfer all your WordPress blog followers and email subscribers over to your new site, though, this doesn’t include social media counters. You can check out the details in the guide Moving Your Subscribers.
Superhero-Level Help When You Need It
Don’t forget: If you run into issues, you’re more than welcome to ask our expert support team for help and they’ll come to the rescue – like proper superheroes should. If you’re not currently a member, you can sign up for free.
Also, you can get details on how to manage your new self-hosted WordPress site, by checking out our Academy for free courses and these other posts as well:
- The Ultimate Guide to WordPress Multisite
- WordPress Multisite Masterclass: Managing your Network
- Best Practices for Managing Your WordPress Site: The Ultimate Guide
- The Ultimate Guide to Updating WordPress and Multisite
- 10 Plugins That Take the Pain Out of Managing WordPress Comments
- WordPress Security: Tried and True Tips to Secure WordPress
- A Comprehensive Guide to Editing .htaccess for WordPress Security
- Give Hackers the Smack-Down with Defender
- Making Your WordPress Website Fly: A Performance Optimization Tutorial
- Adding Free SSL Certificate and HTTPS to WordPress with Let’s Encrypt and Certbot
There’s also an alternative to transferring your blog on your own. If you would rather have the WordPress support team handle it for you, it costs $129 at the time this was written and you can check out Guided Transfers for details.