I just moved a friend’s website from WordPress.com to self-hosted (WordPress.org). Seeing that there are some issues that need to be shared, I write this article for any brothers and sisters who need to be able to refer.
Table of Contents
1. You cannot use the plugin specialized for website transfer
Unless you use hosting package is eligible to install plugins on wordpress.com (at the time of writing this is the Premium package that costs $8/month), otherwise The host transfer must be done through the XML file export feature (Tools > Export). It usually outputs a .zip file, which you then need to extract. If the website has a lot of data you will see many .xml files generated. For example in my case it generates 3 XML files:

In case you can install the plugin on wordpress.com hosting, the Changing host will be very easythrough specialized plugins like UpdraftPlus (free) or All-in-One WP Migration Unlimited (there is a fee, only free if the entire website is no more than 500 MB).
2. Choose a plugin that does a good job of handling XML files
After you have exported the XML file and installed the new host (pointed the domain name to the new host and installed a blank WordPress site), the next thing you have to do is upload the XML file to restore the website. The tool you need to use is named: WordPress Importer. Then you go to Import > Run Importer:

When processing, remember to tick the section to transfer media data from the old host to the new host:

Currently, I still find this official tool to have the best processing ability (even though the community rating is not high – only 3/5 stars review).
3. Uploading XML files may have missing content errors
For example, your XML file contains 600 articles, but uploading only gets you more than 300 articles. The cause of this problem is usually because when uploading the XML file, the site will need a lot of resources to create articles and transfer media data from the old host to the new host. This is often easy to overload, and interrupt the process.
You have 2 ways to fix it:
- You upload that XML file many times. The first time there are 300 posts, the second time it can add 200 more… You keep uploading and re-uploading a few times, to make sure it handles all. You don’t need to worry about overwriting, because the posts it has processed will not be overwritten.
- You move to a host package with higher RAM and CPU so that the server has the ability to complete processing without interruption in the middle.
Of course, method (1) is more recommended, although it takes a bit of work, method (2) can cost you unnecessarily because many host packages are easy to upgrade, but downgrading is not allowed, or you will have to upgrade. grant at least a month, and so on.
4. Through XML, the website will only restore the content, and the theme and some other functions will not be restored.
A complete website includes many things, from database, theme, plugin, etc. When restoring a page via XML, you can only recover the content, and the theme and plugin if you have it, you will not be able to restore it. Usually this is not a problem, because installing the theme is very simple. If your site has a plugin installed, of course we will restore it in a more convenient way as mentioned above to get a complete website, not through an XML file anymore.
The images will be fully downloaded to the new host, however the link on the articles may still be the old link. And you need to update the new link to avoid affecting SEO and backup when the old blog is deleted, making the photos unable to be displayed.
The workaround is quite simple, you just need to use Better Search Replace pluginit will perform a search for the old path in the database and replace it with the new path.
There are two tables in the database that you need to care about updating wp_posts and wp_postmeta.
6. If you use your own domain name, you may encounter the phenomenon of the website being inaccessible or still pointing to the old host
By moving from the old host to the new host, the cache phenomenon can cause the browser to still point to the IP of the old host, which makes your website inaccessible or still only displays the content from the old host.
How to work around this behavior:
- You use CloudFlare as intermediate DNS, their DNS update speed is very good, how to use is also simple. If you only use DNS, you should turn off the golden cloud. That cloud is for CDN;
- Proceed to clear the browser cache (on Chrome, go to History > Clear browsing data). For other browsers there are many tutorials available online so I won’t go into detail here;
- Proceed to clear the DNS cache on your computer (you just need to look up the keyword “how to clear the DNS cache on the computer” will have many specific instructions). Quick information for those using Windows operating system is that you execute cmd (you will see a black screen), then type ipconfig /flushdns
- Clear DNS cache on DNS resolution servers (eg through this tool and and here);
- Check if the DNS servers have updated the new IP for the website through a tool like dnschecker.org.
PS: most cache problems only happen to those who have visited your website and the browser is still caching. First time visitors will not be affected. Also, this doesn’t just happen to anyone switching from WordPress.com to WordPress.org, it can happen to anyone switching hosting. As long as you update the correct IP for DNS, the problem will disappear in a few days at most.
7. If you are transferring host and domain name at the same time, the story will be more complicated
Let’s say your blog is blog-your-blog.wordpress.com and you want to move to a new host, use a new domain name your-domain-your-domain.com then the problem will become more complicated.
The reason is that you will have to do a redirect from blog-your-blog.wordpress.com about your-domain-your-domain.com to avoid that the keywords that have been at the top of the search results point to the old website, while the new website does not receive any traffic.
There are two ways to fix this:
- Firstly, you use WordPress redirect service (this is how you have to do it if you’ve been using and using only blog-your-blog.wordpress.com and now it’s time to move on your-domain-your-domain.com);
- Or you register a domain name for your blog and use it for a long time in conjunction with your blog on WordPress.com, later the transfer will be a host change, not a domain name transfer (still using your-your-domain name) .com).
PS: This part I added after reading your comment Thang.
8. How to use website hosting on WordPress.org is different from WordPress.com
The fundamental difference between WordPress.org and the free WordPress.com is that you have more freedom:
- You can install plugins to add more features to your website;
- You get to use richer interfaces;
- No more ads on blog site.
You probably already knew this to make the switch, but freedom comes with responsibility! You’ll have to learn more than that. Stop whining again. The WordPress tutorial series will be your go-to resource to help you master your new home.
9. Be more vigilant with security and backup
When you self-host, security and data safety will be worse than WordPress.com
You need to pay special attention to this to ensure the site is in good health and is always safe.
Regarding backups, you should use tools like UpdraftPlus to push data to the cloud for free – for example Google Drive.
Wishing you a smooth, hassle-free transition.