Moving from WordPress.com to WordPress.org
Easy right? Well, ‘easy’ is one of those relative words isn’t it? Am I glad I did it? You bet; primarily because had I waited longer, the task would have been more monumental. There are other reasons as well. So, why would one make this migration or why would you chose one over the other? What’s the difference?
WordPress.com VS. WordPress.org
WordPress.com | WordPress.org | |
Hosting | by WordPress.com | Self hosted – you find your own provider, such as GoDaddy, Bluehost, or several others |
Cost | Free (with up to 3GB of space, 35 users, WordPress.com may put adds on your blog).
WordPress.com maintains the secure servers, performs backups and upgrades, etc. |
The WordPress.orgserver software is a free download which you install on your web server. Cost of hosting that server depends on who you chose. Most are from $5 – $12 per month and are loaded with features.
You are responsible for your own maintenance, backups, upgrades, |
Ease of Setup |
Very easy – go to wordpress.com, sign up, chose a theme, start writing. The interface is fairly intuitive. |
Moderately more involved than WordPress.com. You must set up an account at your host of choice and install the WordPress.org platform software. Some hosts offer an automated installation of WordPress. Once installation is complete, use of the platform / interface is very similar to that of WP.com |
Themes / Templates Available? |
Approximately 74 | Thousands upon thousands |
Tech Support / Support Community |
WordPress.com tech support was always responsive and helpful. Support forums and FAQs are available and I found the WP.com community quite active and helpful. Ask a question, get a response often the same day. | There is no official WP.org tech support that I can tell. There are forums and FAQs available. So far I have found the existing posts and FAQs only somewhat helpful.
I have found the support community to be lacking compared to WP.com. I have asked a few questions and I have not received any responses in over a week. |
Robust-ness |
|
|
Domains | http://www.yourblog.wordpress.com
Or you can use your own domain for an upgrade fee |
http://www.yourblog.com or .biz, .org, .me, .net, .ca, or whatever. |
Available Space |
3GB. Additional 5GB, 15GB and 25GB chunks available for a fee. | Whatever your host provides. Some provide unlimited space. |
Bandwidth | Unlimited | Whatever your host can provide. Some provide unlimited, some provide a certain amount per month. |
CSS | Partial access to style sheets and ability to edit | Greater access to style sheets of existing themes, full access to your own |
Fee Based Upgrades |
Increased space, personal domain names, unlimited users, upload video, ability to edit CSS, no adds | Whatever your host provides |
If you just want to start writing and are not concerned about monetizing your site, WordPress.com may be the way to go. If there’s any chance though that you may want to monetize your site or that you may need the additional features and lesser restrictions of WordPress.org, then start with WordPress.org; take the time to learn it and set it up, you’ll be glad you did.
It’s for those of you like me, who started off on WordPress.com and needed to migrate to WordPress.org, that I’m providing this article. I found some other articles and forum posts regarding this process, but some were out of date or lacked some key information and most over stated the ease of this move.
Here are the general steps:
- Find your hosting service, set up an account and set up your domain name
- Install the WordPress.org server software
- Export your WordPress.com blog
- Import your old blog into your new WordPress.org platform
- Start tweaking
- Redirect your WordPress.com address to your new WordPress.org site
Sounds simple, huh? Yeah, well there are plenty of gotchas along the way and the export/import doesn’t transfer everything, so if you have a large well established blog on WordPress.com, plan on spending some time tweaking after the process is done.
1. Find your hosting service, set up an account and set up your domain name
There are many host providers out there to chose from. Most do the same thing for a reasonable price. Check their features though, some are more comprehensive than others. I wanted something with unlimited space and bandwidth, cause you know, I’d like to think that my site will be just that big someday. You’ll need a MySQL database as well. You may or may not need email and the ability to host multiple domains.
You’ll want an SSL secure server if you plan to do business and you’ll definitely want FTP access to your server. You’ll want a site that at least supports javascript and php and perhaps more.
Hosting Services:
- WordPress.org’s picks
- http://www.godaddy.com/
- http://www.fatcow.com/
- http://www.inmotionhosting.com/
- http://www.justhost.com/
- There are plenty more, just google “web hosting”
If you already have your own domain name, you’ll be able to host that via your service interface; if you have trouble with that, call their support line and they’ll do that for you. Otherwise, you can get a domain name from your service provider. If you want to experiment with a name, go to http://www.internic.org/ and see if your name is already in use.
2. Install WordPress.org server software
Several of the hosting services provide an automated installation of the WordPress.org server, some with a single click. This will usually install the MySQL database as well. If your service provider doesn’t provide an automated installation, you’ll have to install your database manually and download the WordPress.org server from http://wordpress.org/download/ and install it. Have a look at WordPress.org’s official installation guide here: http://codex.wordpress.org/Installing_WordPress. If you are not comfortable with it, stop, rethink and find a hosting service that has automated installation.
Once the software is installed, you’ll notice that the interface is much like your old WordPress.com interface, but expect to see some differences. From your Dashboard, under Appearance, click Add New Themes and start searching among the 900+ that are readily available. If you’re not satisfied with those, starting searching the web, there are thousands.
When you have completed the installation, go to your Dashboard and under Settings, click Permalinks. Select Month and Day format and save. This is an important step. Your old WordPress.com blog uses this format for storing files, pictures, etc. The default for WordPress.org is different so if you do not make this change, when you import your XML file, none of your links will work.
3. Export your WordPress.com blog
Log in to your WordPress.com account. Before you export, delete all of your spam comments, there’s no need to take those with you. From the Dashboard, scroll down to Tools and select Export. Select the authors you wish to export and click the Download Export File button. This will create an XML file which you can then import into other blogging services. This file will be stored on your PC.
This step exports your posts, comments, tags, and categories. It does NOT export the contents of your sidebar text widgets, contents or configurations of other widgets, themes, previous CSS edits, or your Links (blogroll). It does not export your media library, rather the links to the media. So, when you import into WordPress.org, you’ll have an option to import attachments at which time, the media will be transferred.
4. Import your old blog into your new WordPress.org platform
This is the step with the most problems, so get ready. Be prepared for the possibility of having to start all over from scratch by reinstalling WordPress.org.
Go to your WordPress.org Dashboard and under tools, click Import. You’ll be presented with a long list of blog types to import from. Choose WordPress.
You are then prompted for a file name; this is the export file you created from WordPress.com. On that same line, notice there is a maximum file size specified, it probably says 2MB. Check the size of your xml file; if you’re under 2MB, you’re OK, otherwise there’s a problem. If you chose to import at this point, it will crap out on you and you may have to wipe everything out and start over.
Import XML file size limit of 2MB
This 2MB limit is not a limit set by WordPress. It is entirely dependant on your hosting service. There’s a php.ini file in the bowels of your server that specifies this limit. There are two ways to get around this problem.
- Use a file split utility to break up your one large XML file into multiple files under 2MB
- I found a nice XML splitter application that worked great on my file. http://www.gbmini.net/wp/2008/11/splitting_wordpress_export_import_file/ It split it into manageable size bites under the 2MB limit. If you use this, skip step 2.
- Edit the php.ini file and raise the limit.
- From the cPanel on your server, open the File Manager and locate the php.ini file (it could be anywhere).
- If the file is not there, create one – From your cPanel, run PHP config and look for an option to install a default php.ini file. It will most likely be put in your public_html directory and will have the name php.ini.default, so you will have to rename it php.ini.
- Move the php.ini file to the public_html/wp-admin directory.
- Edit the file and locate upload_max_filesize and change 2M to something bigger than your file, save and close.
- From the cPanel on your server, open the File Manager and locate the php.ini file (it could be anywhere).
Note: If you will be importing your media files as well, you are likely to encounter some timeouts on several files. The default timeout is probably set to 30 or 60 seconds. This is one of the main reasons I had to wipe everything out and start from scratch twice. I have a few thousand photographs on my site; I lost so many files that I just couldn’t stomach having to upload them all manually. I increased the timeout to 300 seconds and on the next try, I increased it to 500. After all was said and done, I still had about 80 that I had to restore manually but that was way better than several hundred or more. The setting you want to modify is also in the php.ini file specified above. Look for max_execution_time and increase it to whatever you feel comfortable with.
Edit Links in the XML file
Here’s another possible gothcha. The first time I did this and copied my media files over, for some reason, the links did not work and neither did the links to my own site. I checked and the files were on my new server, but the links in all of my posts didn’t convert properly. For example: On my WordPress.com server, the path to a photo looked like myblog.wordpress.com/2008/12/file.jpg. The files on my new server are actually in myblog/wp-content/uploads/2008/12/ I don’t know if an alias or shortcut didn’t get set properly, but it just didn’t work. And, links in my own pages, that linked to my other pages, still referred to myblog.wordpress.com.
I found another blog post describing this same problem and a fix (http://www.kombitz.com/2008/04/14/migration-from-wordpresscom-to-bluehostcom/). So, I edited the XML file and did two global changes:
Find:
href=”http://myblog.wordpress.com/
and replace it with:
href=”http://www.myblog.com/
Find:
src=”http://www.myblog.files.wordpress.com/
and replace it with:
src=”http://www.myblog.com/wp-content/uploads/
So, after you’ve edited the php.ini file or broken up your XML file and possibly edited your XML file and when you’re ready, continue on with the import. If you’ve split your XML file into multiple files, you’ll just import each one after the other. If you increased the upload_max_filesize in php.ini, you should see the change reflected in WordPress on the Import screen, it shouldn’t say 2MB any longer.
Before you start the import, you’ll see a box to include Attachments. Check this box if you want to bring over your media files. If you leave this box unchecked, the links to the old locations at your WordPress.com site will remain and that’s fine as long as the files are still there.
Be prepared to wait awhile. I started my import at 11:00pm and went to bed; it was still going when I got up at 7:00am. It took almost 10 hours. Mine had a few thousand pictures, that’s why it took so long. The posts themselves don’t take very long.
5. Start tweaking
So you’ve completed the import and your old posts are at your new location and you can navigate between posts and pages and see your comments, etc. There’s a few more things to deal with.
- If you were using the Links in your dashboard and the blogroll sidebar widget on your WordPress.com site, they didn’t transfer over to the WordPress.org site. I reentered them on the WordPress.org Links area, but I found it didn’t work as well as on WordPress.com. Word wrap did work – text just bled off the sidebar and I couldn’t get just an image to work, it always added te text to the image. So, I just entered them all into a text widget and it worked great and I have full control over it.
- Go through each of your posts and look for YouTube videos, WP videos, audio clips, etc. Chances are they are no longer viable. I had to redo every one of my videos and audio clips. WordPress.com doesn’t support javascript, so YouTube videos are handled a little differently than a regular web site. It can’t handle the embed code from the YouTube. But, WordPress.org can. I had to go get the embed code for each YouTube video and paste it in the post via the HTML editor. Same for WP video and audio clips. You may have to search for and install plugins to handle certain audio and video types.
- You’ll need to copy the contents of your other text sidebar widgets. I noticed some slight differences in what HTML and CSS the WordPress.org text widgets can handle so I had to change things up a bit.
- After browsing through several of my posts, I noticed that the quality of my photographs and other images really sucked. I’m not sure how to explain it, sort of the resolution, sort of something else… I found a couple of support forum posts from others that experienced this too, but no resolution unfortunatly. It wasn’t all of my images, but it was about 70% and that’s a lot. I had to go back to each post, delete each image and re-insert it from the media library. Once I did that, they looked great, even a little better than over at WordPress.com. This consumed much time.
- WordPress.org has several widgets, but some that you may be used to are not there, at least not initially. WordPress.org makes use of Plugins, something not available on WordPress.com. Your possibilites just got way bigger. Start searching for plugins in the Dashboard and you’ll be amazed. Here are some to get you started:
- Stats – Install the WordPress.com Stats plugin and you’ll have the same stats you’re used to on WordPress.com
- Tag Cloud – Wow, your tag cloud is gone? Just search for tag cloud and you’ve got several options. Install your choice and put your new cloud where you want it.
- One thing I always hated about WordPress.com is that if I set my number of posts to display per page, say to 5, that affects everything else as well. If I select a category or an archive month, I get pages with only 5 posts per page and I have to keep clicking on Older Entries to get more. Same with tags or search results. These results pages are basically one line per post – the name, date and link; what a waste. I found a plugin called CQS (Custom Querry String). With this plugin installed and activated, even though I have my number of posts per page set to 5, I can configure CQS to give me 23 results on a search and 31 results on an archive selection and all of the results on category or tag selection. So, now if I click a particular tag that has 43 posts associated with it, I get all 43 on one page. It’s pretty neat.
- Recent comments & Avatars – I used the available recent comments widget and noticed it didn’t have the avatars like WordPress.com. So, I searched the Plugins and found one called Recent Comments Avatars that, you know, supports avatars.
6. Redirect your WordPress.com address to your new WordPress.org site
Your new site is running and tweaked the way you want it? Time to say goodbye to your old WordPress.com site, only sort of. This step describes how to redirect your old www.myblog.wordpress.com type address to your new www.myblog.com site so that your loyal audience that has your various pages and posts bookmarked or linked in their pages can still get to you.
WordPress.com doesn’t have a good way to redirect, so this is a sort of fake out workaround.
The general steps are:
- Tell your new hosting service to allow WordPress.com manage your domain name (change the nameservers to wordpress.com), this is just temporary
- Go to your WordPress.com Dashboard and pay $10 to host your domain name (annual fee)
- Add your domain name to WordPress.com
- Tell WordPress.com that your blog is now hosted at your new domain
- Undo step 1 by reseting the nameservers at your new hosting service
I found a pdf file at http://blog-well.com/ that explains it pretty well. The link to the file is below in the References section. Please note the slight difference I describe below it, due to changes in the current WordPress.org software.
At this point, you may want to consider updating your site address and site maps at Google and Bing and others.
I hope you found this helpful. Please feel free to leave comments or ask questions.
Cheers,
Maggie
References:
Some of these are a little dated or are lacking some info, nevertheless, they do have very valuable information and they were a huge help to me, so thank you guys who went there before me and documented it.
You know that horrible feeling in the pit of your stomach you get when you realize that you have to redo your past six hours of work? And how you can feel the heat rising in your face and you feel like breaking something? I hate that. I suggest re-reading my article and the following references at least a couple of times before attempting this move so that you’ll know what to expect along the way and you’ll be prepared for it.
- http://www.problogger.net/archives/2009/01/03/how-to-move-from-wordpresscom-to-wordpressorg/
- http://blog-well.com/wp-content/uploads/2008/01/how-to-redirect-a-wordpresscom-blog.pdf Excellent step by step from blog-well.com on how to redirect a WordPress.com blog. One slight update though – on page 6 of 12, in the screen shot, there is a “(Put Blog Here)” on the line for your new domain which you are supposed to click. That does not exist in the latest software. Instead, there is an “Update Primary Domain” button just below.
- http://support.wordpress.com/moving-a-blog/ WordPress.com support post on moving between blogs:
- 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
- http://codex.wordpress.org/Installing_WordPress WordPress.org’s official installation guide
Hi Maggie,
Thank you so much for your thoroughness in this article. I was doing this exact thing, moving a clients site from a wordpress.com blog to a self hosted wordpress.org site. One point I want to address with you is about STATS. This client had acquired a few years worth of subscriber and page view stats, that do not seem to get transferred over. While your article is quite thorough, but I beg to differ with you when you write : “Stats – Install the WordPress.com Stats plugin and you’ll have the same stats you’re used to on WordPress.com”. The stats do not come with the move. The plugin and page LOOKS the same but the numbers begin at ground zero, so she has gone from way high to zero overnight.
If you know how to get the stats to go with you, I would love to hear it!
Thanks for all your writing in all this.
Zoe
Hey Zoe, thanks for stopping by. It’s been awhile since I wrote that article but I do seem to remember that my stats were wiped out as well. I had to start all over too.
BTW, checked out your site, I like it. Cheers
I really love your site.. Great colors & theme. Did you build this amazing site yourself?
Please reply back as I’m hoping to create my own personal website and would like to learn where you got this from or just what the theme is named. Appreciate it!
Hi Israel,
Thanks for stopping by and for your kind words. I started with a theme by Jestro called Vigilance PRO which which can be found at the Theme Foundry (http://thethemefoundry.com). I then modified it with my own background and used css to reposition and change the way the header photo loads photos randomly from my library.
Their support was fantastic and they continue to roll out nice classic looking themes, I highly recommend them.
Cheers,
Maggie