Migrating from wordpress.com to wordpress.org or self-hosting
Recently I convinced my brother to move from a hosted WordPress.com blog that was doing rather well, to a self-hosted WordPress blog.
After all, I had the hosting in place, web hosts offer so much nowadays that you can’t use more than a small percent of it. Not to mention he had a chance to make some real money off his own hard work.
It sounded rather simple in my mind:
- Buy domain
- Setup said domain on my web host
- Install WordPress on the new site
- Configure settings
- Themes, plug ins, etc
- Export WordPress XML from WordPress.com blog
- Import into the new setup
Looking back, that was a rather nice fantasy. If only it was that easy, I’d not be posting this right now.
What happened in summary was this:
- Bought domain
- Setup said domain on my web host
- Installed WordPress on the new site
- Configured settings
- Themes, plug ins, etc
- Exported WordPress XML from WordPress.com blog
And then the fun nightmare started.
Let’s see what all issues cropped up as I intended to simply Import the XML file into the fresh install of WordPress on my host, keeping in mind, this is an XML generated by WordPress.com in their own special layout and destined for import into their own WordPress product, the only difference being its not hosted by them.
- Opened Import page within new WordPress Dashboard, Manage–>Import–>WordPress (there are a nice selection of Import choices)
- My host seems to have configured the php.ini file on their end to max the upload file size to 2MB, whereas WordPress had generated a 4.7MB file for me to upload. Normally this file wouldn’t be so big, but the blog had many, many images that were uploaded to WordPress.com
- That started my search on how to change the limit in PHP. I ended up contacting my host and starting a thread on WordPress.org’s support forum. After much back and forth and a lot of reading on my own, I had worked out I needed a script to fetch the web hosts php.ini file, make changes to it via that script and write it to my /home/ directory. In my case I’d need to only do this once as all I wanted was a temporary increase in the upload limit, whereas those wanting that limit to remain would need to create a cron job running the script daily, so as to keep abreast of any changes made to the web hosts php.ini file pre-adding their own changes.
- With that done, I was finally able to upload the XML file into the new WordPress installation…yay! NOT.
- This is where it got really bad, because the file was so large, after uploading the file it would import all the posts, comments, pages, etc into the new setup, and this was done in real time displaying the details on the web page, coincidentally if a php process takes more than 30seconds, my web hosts php.ini file says that it should kill the process, ding…Houtson we have a problem!
- So I go back, remake my new php.ini file to make sure the time limit is raised to a decent 300seconds and re-do the upload/import process. By now I have 5% of the posts and pages in the blog and it’s looking a right mess. That’s ok really, because after about half a dozen tries, and the import process not stopping half-way it finally reached the end. Breathe.
- What WordPress decides to do is tag every image that was ever uploaded into the WordPress.com blog (Note: The images would have to be moved over manually…more work, eh) was tagged with an ID and placed in the Manage–>Upload section (pic). It also decides to link to the now non-existent image files all on its own (pic).
- Not content having to re-upload every image from the WordPress.com blog over to the new host, editing every page and post for image links, we now had a huge amount of ‘dead’ files under the Upload section, which as I said, didn’t exist. I also think this is why the exported XML file was so big to begin with.
After much debate, we’ve decided to either ask the kind people at WordPress.com to delete all the images off the original blog and thus save us the hassle of exporting it incorrectly.
Either that or follow a very good idea by muhtar on WordPress.org’s support forum, where his suggestion is simple, yet ingenious.
Run a php/db server on your home machine, easy and free.
- Import the XML file into a fresh WordPress install (again on the home machine acting like a server, running Windows XP if you like), this is way better than to a hosted server, because at home its all instant and no lag to a far off server.
- Export it to a common format, i.e. SQL and import it into your self-hosted WordPress install (the new domain).
OK, so it’s not easy…but way less error-prone and hair-pulling this way. I guess many have had no issues, the moral here is, don’t assume it’s gonna be so easy to move over.
Better yet, make a good choice to begin with
Originally posted at techzonline.net



Download Design








September 5th, 2007 at 11:11 pm
[...] Original post by TechZ [...]
February 10th, 2008 at 5:18 pm
OH do I feel your pain. I just went through the same ordeal and migrated from wordpress.com to my own hosted version.
The good news for me is that its only week 3 in the blog’s life, so I’m under 30 posts but had to redo all category mapping, images and videos. Not fun…
I hope you finally figured out the mess. The issue I have now is that my users are still hitting my tags on wordpress.com and not seeing my posts on the new site. I went in manually to all the old posts and replaced the content with a link to the new site… hopefully that will help.
Cheers, Itay.
March 28th, 2008 at 3:53 am
[...] This can be a real challenge. Read what other people have to say about it. [...]
July 14th, 2008 at 6:10 pm
I have a similar nightmare, my problem is that my posts under the wordpress.com are ranked much higher then the ones on wordpress.org, and I can’t seem to find a function that lets me link the articles to them…
Any help?
March 2nd, 2009 at 6:50 pm
You are doing very good job…
April 10th, 2009 at 4:33 pm
Thaks for this article. I just went through the process… the localhost .xml importing and mysql exporting to my new server, and worked smothly and with not troubles.
100% recommend to follow this prosess, even if you don't have skills on runnig servers.
cheeers!
August 9th, 2009 at 12:23 am
[...] http://www.attackr.com/migrating-from-wordpresscom-to-wordpressorg-or-self-hosting/ A nice description of the headaches you’re likely to encounter along way. Even though I was aware of these, I still had to deal with them [...]
August 18th, 2009 at 5:31 pm
This had nothing to do with WordPress.com or their product. You just chose the wrong host.
November 18th, 2009 at 12:42 pm
I’m still going through the transition from .com to .org. I chose Webzpro and they upped the limit from 2mb to 20mb on the import page. However, it was still a nightmare because of the timeouts. I just kept trying over and over until all of it wen through.
The huge problem I have now is with images. Even though it imported my images from .com to .org, the links in the posts are still pointing to .com images. With over 800 entries, I’m going to be editing posts for a long, long time.
November 24th, 2009 at 6:55 pm
[...] A good read for anyone naive enough to think it will be easy ans smooth: attackr.com: Migrating from wordpress.com to wordpress.org or self-hosting [...]