I am master of my domain.
This is the fourth day since I completed the DYI migration from my WordPress.com blog (pacejmiller.wordpress.com) to my own domain (pacejmiller.com), and it looks like all is going well. My blog is now freer, better to look at, and packed with more features than before. And I can (potentially) advertise. My old stuff is still all there and my new blog is still getting regular visitors.
For a lot of people in my former position (ie, thinking of migrating from WordPress.com to their own domain — and in doing so, shredding the ‘wordpress’ from their URL), I am hoping this post will provide a simple, comprehensive, step-by-step guide on how to get it done — from getting your own web host to exporting/importing your old materials, installing themes and plugins and redirecting visitors from your old blog to the new one.
I had to learn the hard way because almost all of the guides I came across online were difficult to understand, required assumed knowledge or were plagued with gaps.
Anyway, I am going to start from the beginning and separate the process out under specific headings. Feel free to skip the sections you are familiar with and go straight to what you need.
I must preface this guide by saying that I am no expert, just someone who had no idea what they were doing but figured it out eventually, so pardon me if I don’t get all the terms right.
The topics are as follows. Click on the link to take you straight there.
If you want to understand the process more, feel free to read from the top. Otherwise, if you just wanna get the thing done, skip to ‘Paying for a “Guided Transfer”‘ or ‘Getting your own web host’ to get started.
When I first started blogging, I had no idea what I was doing with all the technical stuff. A friend of mine told me about the different places where I can get a free blog (eg, Blogger, WordPress, etc) and recommended that I go with WordPress.
So I signed up for an account, picked a theme, and away I went. I customized the blog a little, created menus, put widgets in the sidebar, etc. I also signed up to different blogging communities and search engines to try and increase the exposure of my blog. I enjoyed seeing the number of daily visitors grow, but the main thing was that I enjoyed writing and blogging.
Then one day, this friend suggested that I should move my WordPress.com blog to my own domain. I had no idea what that meant.
One of the most puzzling things to me the whole time was the difference between WordPress.com and WordPress.org. As it turned out, it wasn’t all that difficult to understand.
Let’s get down to basics. The first thing you need to know is that blogs are essentially websites that need to be hosted (ie, stored) somewhere in cyberspace. WordPress.com is a free blog host that hosts blogs for free. Anyone can sign up for an account and create their own blog(s) without charge. As the blogs are stored on WordPress.com’s servers, the URL will have ‘wordpress.com’ in it (eg, mine was http://pacejmiller.wordpress.com).
The second thing you need to know is that blogs require this thing called a software script in order to operate (ie, create and manage posts and so forth). Wordpress is a company that created a very good and very popular software script. A limited version of this software script is automatically installed on all blogs hosted under WordPress.com (it is, after all, completely free). You know all the things you see when you log in to your blog’s ‘Dashboard’? That’s all thanks to the WordPress software script.
The benefit of keeping a blog on WordPress.com is that it is free and easy to use. However, because of the limited version of the software script and the free hosting, it also means that you are restricted in terms of the things you can do with the blog — eg, limited themes, widgets, customization options, and most of all, advertising. Wordpress.com prohibits advertising, which severely limits your ability to monetize your blog.
To free yourself from these limitations, you will need to find another web host to host your blog. Unlike WordPress.com, these web hosts will charge you money to host (ie store) your blog for you on their servers. But in essence, getting your own web host means that you are free to do more with your blog, including advertising. It also means that you can sign up for your own domain name which doesn’t have ‘wordpress’ in the URL (eg, mine is now simply http://pacejmiller.com).
So where does WordPress.org come in? Wordpress.org is simply the company’s website, and the place where you can download and install the full version of the WordPress software script for free. But you can only do so if you have your own web host for your blog.
To put it another way — when your blog is hosted by WordPress.com, you HAVE to use the WordPress software script. You have no choice but to use it. When you pay for your own web host, you can choose to run any software script you want. The software script available at WordPress.org is just one of the many you can choose from.
Of course, most people will prefer to choose the software script from WordPress.org because it looks and operates very similarly to the software script on WordPress.com, removing the need to learn the ropes from scratch again.
If you still don’t understand, let me use an analogy. I like to think of the software script as the ‘operating system’ for my blog. For example, I use Microsoft Windows for my PC. Others might like to use Linux. Mac users will use Mac OS X. It’s just the computer program used to run your computer.
When my blog is hosted by WordPress.com, I can only use the limited version of the operating system installed for me by WordPress. But when my blog is hosted by my own web host, I can choose to install any operating system I want (though installing WordPress’s operating system makes the most sense because it’s what I am used to).
In other words, you are not really moving your blog from WordPress.com to WordPress.org per se, just from WordPress.com to your own domain (and installing the software script from WordPress.org).
To be perfectly honest, if your time is valuable and you don’t mind forking out $119 (as at the date of this post), then I would advise you take advantage of WordPress.com’s ‘Guided Transfer’, where their great engineers will do the entire blog move for you and stick around for a couple of weeks afterwards to assist you with any queries to make the transition as smooth as possible.
I initially wanted to take advantage of this offer and had actually signed up for it, but unfortunately one of the prerequisites is that your new web host must be one of WordPress.com’s affiliates (check out the list here). I would have had no problem with picking say Bluehost or Go Daddy to host my blog, but unfortunately I had already signed up with SiteGround, which is not an affiliate. Nevertheless, the WordPress.com folks were kind enough to do an immediate refund and still helped me with my DYI move via email.
To sign up for the Guided Transfer, go into the WordPress Dashboard and look at the menu along the left side. Towards the top is ‘Store’ and towards the bottom is ‘Tools’ -> ‘Export’. Click into either one to purchase the ‘Guided Transfer’ and an engineer will contact you via email shortly.
Importantly, note that if you are going with a Guided Transfer, you should NOT install WordPress on your new website as the engineers will do it for you.
If you are a cheapo or if you prefer to do it yourself, then you can do move yourself, like I did. If you choose to go down this path, the first thing you will need to do is get your own web host. As I said before, I went with SiteGround, which from time to time has some super cheap deals. You can look at the list of recommended web hosts provided by WordPress.com or you can google around and find whichever web host is most suitable in terms of conditions and price.
Each web host will have their own system of payment and setting up the website, but the process should be pretty straightforward. One of the things you will need to do is to select your domain name. Since my old domain name was ‘pacejmiller.wordpress.com’, it was logical for me to create the domain ‘pacejmiller.com’ — but it is entirely up to you what you want to do, as long as the domain has not already been taken.
Thanks to the popularity of WordPress, most web hosts these days will provide you with the opportunity to install the WordPress software script immediately after you establish your domain through an easy 1-click script install, as well as many WordPress-related services and guides.
For example, I signed up with SiteGround, which actually has a ‘WordPress Services’ tab on the front page that takes you to guides, themes and plugins you can use once the WordPress software script has been installed on your blog.
On a separate issue, I would also recommend you install cPanel (which is a platform which controls the technical functionality of your website) if it is available from your web host. I don’t use it much yet but it looks useful.
For those who cannot or prefer not to install WordPress directly from their new web host, they can still do it the old fashioned way through WordPress.org. Just click here to direct you to their download page, which will tell you how to do it.
Either way, after you are done, you will get to create a WordPress account, much like you did when you signed up for your free blog on WordPress.com. This will be your new login to get into the new blog’s Dashboard.
Note that WordPress should automatically provide a default theme for your blog. It is up to you whether you want to change it now or later.
When people purchase a new domain for their blog, one of the most asked questions is, ‘How do I move all my existing content to my new website?‘ I had the same fear — that if I moved to my own domain, I would lose all the posts and pages I created over the last couple of years, or at the very least, the pictures and embedded videos.
Well, if you are moving from WordPress.com to WordPress.org (ie, own domain), the process is actually quite simple — although it might take several tries.
1. Login to your WordPress.com blog, go to ‘Dashboard’, and click on the ‘Export’ tab under ‘Tools’ in the menu on the left hand side.
2. Click on the ‘Export’ option and you will be directed to another page where you can choose exactly what you want to take with you from the existing blog to the new one through the various filters. The default option is everything, and that’s what most of us would like to do.
3. Once you click on ‘Download Export File’, WordPress will begin saving an XML file to your computer which will contain all the content you chose. Make a note of where the file has been saved because you’ll need it very shortly.
Note that sometimes, depending on the amount of content you are saving, the process might time out or stuff up or whatever. Don’t worry about it — just keep trying until the file is successfully downloaded.
4. Login to your new self-hosted blog, go to ‘Dashboard’, and click on the ‘Import’ tab under ‘Tools’ in the menu on the left hand side.
5. The page will have several options but of course if you are from a WordPress.com blog you will click on the ‘WordPress’ link.
6. This will then take you to another page where it asks you to upload a WXR (.xml) file to import into your new blog (I don’t know why they mention WXR — it just confuses people). Click on ‘Choose File’ and select the .xml file you just downloaded from your WordPress.com blog, then click on ‘Upload file and import’.
Now this will take quite a while, and there is a good chance that it could stuff up or not work. It happened to me about half a dozen times on the first try and I gave up for months. But don’t despair — find a stable, fast internet connection and keep trying until it goes through.
7. Eventually, hopefully, you will get to the next step, which is a page where you can select whether to import an author or map an existing author. Since both are you, it doesn’t really matter.
The other thing on the page is ‘Import Attachments’, where you can tick a box stipulating whether you want ‘Download and import file attachments’. Chances are you will want to. I ticked this box the first couple of times before I clicked ‘Submit’, and it ended up failing, meaning I had to re-import the .xml file and start over again. Frustrated, I unticked the box the next time before clicking ‘Submit’, and a whole bunch of failure messages for the photos on my blog rolled across the screen. However, for some strange reason all my photos and videos were successfully migrated over anyway.
So my advice is to try it first with the box ticked, and if it keeps failing, then try it without.
8. Check the Home page of your blog to see if everything has been moved over!
For me, the posts (including all multimedia) and comments were all there, but all the widgets I had in the sidebar were gone. My pages were still there in the drop down menu but the custom menus I created (linking to specific categories of posts) were gone.
Now that you have moved your old content over to your new blog, it is time to start reconfiguring it to make everything else the same — or preferably, better.
When I moved from WordPress.com over to my new domain, even though I imported existing posts, pages, comments, etc, I had lost the theme, the widgets (including text widgets) and custom menus, as well as my blogroll. It was a hassle but I thought it was a good opportunity to go through these things again and take out whatever I didn’t need anymore.
You should have been assigned a default theme when you installed the WordPress software script on your new blog, but you should definitely have a look through what is available to choose the best option for you.
In the menu on the left side go into ‘Appearance’ -> ‘Themes’. That will take you into the ‘Manage Theme’ page where you will be able to see your current theme. My current theme is Custom Community.
Below that you will be able to see a list of ‘Available Themes’ already installed, any of which you’d be able to activate immediately. The available themes will usually comprise the default ones that come from WordPress (eg, Twenty Ten and Twenty Eleven), as well as any that your web host provides for free.
To get new themes, click on the ‘Install Theme’ tab at the top and you can search for themes if you know a name, author or tag. You can also filter through themes based on specific features such as colour, columns, width, etc and clicking on the ‘Find Themes’ button.
Another way is to click on the links towards the top of the screen and look through the ‘Featured’, ‘Newest’ and ‘Recently Updated’ themes. That’s where I found my theme. You can choose to install as many themes as you want — you have to activate it before it is applied to your blog (so make sure you select the preview option before you install to take a look at it first).
Alternatively, you can go to the Free Themes Directory at WordPress.org and look for themes that way. However, here, instead of automatically installing the themes you will download them first as a zip file and then upload them by clicking on the ‘Upload’ link on the ‘Install Theme’ page.
Of course, there are plenty of other themes available on the internet. All you have to do is do a google search for WordPress themes. For example, I just found this website — Best WordPress Themes. Most of these ‘premium’ themes will cost you money — though some of them are well worth it.
By the way, choose your theme first before you start installing plugins, putting in widgets and creating custom menus because if you decide a change your theme later there’s no telling what might happen to them.
Widgets and Plugins
Click on ‘Appearance’ -> ‘Widgets’ and you will be directed to the ‘Widgets’ page, where you can drag and drop widgets into your sidebar, header, footer, etc. It looks pretty much the same as before.
One of the great things about WordPress.com is that they help you install plenty of different widgets that you can use. On the downside, you are limited to the widgets they provide for you.
Moving to your own domain has the opposite issue. The default version of the WordPress software script you install on your new blog will have very few widgets to use — many of the ones from your WordPress.com blog will not be there. A lot of the things you may have taken for granted won’t be available (such as a blog stats counter).
On the other hand, you can get most of them back, and more. This is where ‘plugins’ come in. Plugins are like extensions or add-ons which give you a lot of extra features for your blog. You will notice that there is now a ‘Plugins’ tab on the menu you can click into, where you can search for and install new plugins for your blog. Some of these plugins may add a new widget into your ‘Widget’ section. Others may add new tabs or sub-tabs to the menu on the left side of the screen.
According to the friendly folks at WordPress.com, the basic plugins you should install to try to replicate what you had on WordPress.com are:
Grunion Contact Form
WordPress.com Custom CSS
WP Super Cache
Optional plugins include:
Each of these plugins will serve a different function, and you can click into them to see what they do (Jetpack, in particular, is crucial). Remember, you can install as many plugins as you want, but you’ll need to activate them in order for them to work. You can click on ‘Plugins’ -> ‘Installed Plugins’ to activate/deactivate plugins, configure the settings or delete them.
Now, there are literally thousands of plugins out there that serve different functions, and you will be able to look for them under ‘Plugins’ -> ‘Add New’, where you can also do a search and/or look through the ‘Featured’, ‘Popular’, ‘Newest’ and ‘Recently Updated’ plugins. In that sense, they are very much like the themes.
I find that if I want to look for something, I just type in a keyword into the search and skim through the results until I find a plugin that looks about right. I might download a few and test them out to see which one I like best.
For instance, I want to add a subscribe button to my blog, so I type in ‘subscribe’ into the search. A whole bunch of results will pop up. I liked the AddToAny: Subscribe Button so I clicked on ‘Install Now’ and then ‘Activate’ once the download completed. Only took a few seconds. After that, I went into the ‘Widgets’ page and added the button to my sidebar.
I might also want to be able to embed YouTube videos like I used to on WordPress.com, so I type in ‘Youtube’ in the search. I install ‘Smart YouTube’ and activate it — but instead of something popping up in the ‘Widgets’ page, there is now a ‘Smart YouTube’ sub-tab under ‘Settings’ where I can go in and configure it.
Importantly, if you are a novice like me, chances are you might not be able to get some of the plugins to work properly because you don’t understand the settings and configurations. There may be things you’ll need to do before they work. I am still struggling, for example, to get WP Touch to work (the plugin that optimizes your blog for hand-held devices) and I still can’t figure out how to get the caching plugin settings configured properly.
If the plugin settings don’t offer much help, I find the best thing to do is to check out the plugin’s site (which can be found in the ‘Description’ box of the relevant plugin on the ‘Installed Plugins’ page), which often has more instructions on how to configure the plugin properly. You can also go into the WordPress.org forums and search for relevant posts there.
If all else fails, try a different one or simply deactivate it. No harm done.
Note that when you install Akismet (the plugin that kills spam), it will ask you for an Akismet API Key. All you have to do is go to the Akismet page and sign up for one. Once you get in, click on the ‘Personal’ plan, where you can choose to either get the API Key for free or you can choose to donate a sum of money. Up to you.
Also note that if you had text widgets on your old blog you will have to move them over manually as well. Just go into your old blog and copy and paste the text inside the text widget into a text widget in the new blog.
If you had custom menus on your old blog, chances are they didn’t make the trip to your new one, meaning you will have to put them in once again.
On my old blog, I created some custom menu tabs which linked to certain categories of posts. The process of replicating the old blog is the same as before. Go to ‘Appearance’ -> ‘Menu’ and create the menus the same way.
When I made the move, I lost all my links and my entire blogroll. If the same thing happens to you, you’ll just have to individually recreate all your links again from the ‘Links’ menu which you can get to from the left hand side bar in Dashboard.
To make it easier for myself, I also opened the Dashboard of my old WordPress.com blog and just copied and pasted the ones I wanted.
It turned out to be a good way to get rid of old links that didn’t work or those I no longer used.
If you had previously signed up to blog communities like Technorati, unfortunately you will have to get your blog authorised like you did before.
If you think your blog is ready to be shared with the world, make sure you go to the ‘Settings’ -> ‘Privacy’ tab and set it so that your site is visible to everyone, including search engines.
Now that you’ve moved your old content over and dolled up the new blog, it is time to let your visitors know about it.
The most basic and no-frills way to redirect visitors from your old blog to your new one is to create a new post on your old blog to tell them that you’ve moved and give them the new address. However, this post will only appear on the front page, and if you are like me and you get a lot of visitors to specific posts/pages through search engines and links, etc, then these people probably won’t even know that you’ve switched blogs, and all the traffic will still be directed to your old blog.
Accordingly, the best way to ensure your new blog is as popular as your old one is to create a redirect, so that every time someone tries to visit any post or page on your old blog, they will be automatically redirected to the one on your new blog.
WordPress.com now offers an easy site redirect which costs $12 per year (as at the date of this post). That’s a very good deal because it’s likely to be a once off thing anyway as after a year most people will have stopped going to your old blog by then.
All you have to do is go into the ‘Store’ tab and click on ‘Buy Now’ under ‘Site Redirect’ and it will take you to another page where you can enter the address of your new website. Make the purchase and confirm the redirect. Done.
I was sneaky and thought there was a free way to do it, so I looked around online and found the old way of redirecting before WordPress.com started offering the site redirect service. I actually did it this way, which involved changing the domain DNS of my new blog to the WordPress.com DNS, do the so-called domain mapping trick, then changing the DNS back to its original settings. It took a long time and was very unstable (for a day or two when I typed in the URL of my new blog I was directed to my old blog). And it still cost me $12 per year for the domain mapping service WordPress.com offered. In other words, stick with the site redirect service.
Now you have just about done all you need to do — get a web host for your new blog, moved old content over, reconfigured it, and redirected visitors to your old website to the new one. Your blog will pretty much function like the way it’s supposed to.
But what about the subscribers to your old blog (either through email or WordPress)? As I discovered recently, these subscribers do NOT get automatically migrated to your new blog, meaning that they will not get a notification when you publish a new post on your blog like they did before.
The best thing to do is to either send a group email to all your subscribers (your old WordPress.com blog stores all the email addresses) or to do a final post on your old blog informing everybody that you have moved to a new address and that if they are a subscriber could they please subscribe to the new address if they so desire. I find the latter the better option — all your subscribers will get an email of that final post containing the new blog address (even though they can’t actually get into the post because of the redirect) and only those who are genuinely interested in your blog will decide to re-subscribe.
What you have done is purchase your own webpage and dump all the content from your old WordPress.com blog into it, then redirect your old visitors over. So technically, you haven’t really ‘moved’ your blog over. You’ve just replicated it elsewhere.
And since your WordPress.com blog is free and does not expire, it’s actually still around — but because you’ve redirected it to your new blog, no one can visit it anymore. So if you ever want to re-open your old blog for whatever reason, all you have to do is stop the redirect.
Well, that’s that. I hope this guide helped. Next up, I am going to look into advertising and SEO techniques. Since I have moved the blog over, I have noticed a steady decline in blog hits over the last few days, and I think I’ll have to do something about it.