May 08 2007
As you are no doubt aware, I have just migrated my blog from WordPress.com to a self hosted (Australian) domain. This move has not been without frustration, especially for someone who is not particularly savvy in the matters of FTP, SSH, CSS, PHP, XTML, .htaccess, plug-ins, 666 permission access… it’s all geek to me.
BUT, I did it! I’m not saying I did it easily, or efficiently 😉
My hope is that this post might help anyone contemplating a move. One HUGE word of warning.
YOU CANNOT REDIRECT A WORDPRESS.COM BLOG TO A SELF HOSTED DOMAIN.
If you look under “Options” and “Domains” and click on the “read more about it” link it reads as follows:
So, here are the basics. Every WordPress.com blog starts off as a subdomain of wordpress.com, such as andy.wordpress.com. That subdomain will always be attached to that blog. If you decide to get a new domain for your blog, such as andyskelton.com, your old URLs will simply redirect to the equivalent URLs on the new domain.
The same redirection will apply to your feeds but you might want to tell people to update their subscriptions. Most feed readers will happily follow the directions to the new URL but some might not.
Now to me, this post indicates that you can redirect your WordPress.com blog automatically to your new self hosted URL. BUT YOU CAN’T.
Here’s the definitive answer from Mark at WordPress.com.
It looks like you have a blog here: http://blogpond.com.au/
In this case, you don’t want to domain map – there is no way to redirect your blog here.
All you can do is post a message here telling people you have moved.
Consider yourself duly warned
- A WordPress hosted domain (eg blogpond.wordpress.com)
- A new domain name (blogpond.com.au)
- A host (Anchor systems)
- FTP access (either via your host or a program which you download like FileZilla)
- A theme (in my case RockinNewspaper theme)
- Assorted Plug-ins
- Patience and Stamina
1. Find a company to host your domain (aka website or blog).
2. Transferring Files
So now there is a server (a fancy name for a computer that that the public can access via the internet) which will hold the files for your blog. You need to work out how you are going to communicate with the server, as you will need to add files. Some hosts will provide you with an easy way of doing this (i.e. an inbuilt FTP program), but this may be basic and not really capable of handling large file transfers. I was using FileZilla, which I believe has a good reputation, but I had a lot of trouble with it. It didn’t like large files and kept losing connection. After struggling for hours, my step-son installed SSH Secure Shell and D’oh the files were transferring with the speed of light!
3. Installing WordPress
Install WordPress to the root directory of your website (providing that your blog is going to be the main focus of your site, of course). Installing it anywhere else will give you a overly long URL like www.example.com/wordpress/blogpostname. I can’t say too much about this, because the guys at Anchor kindly installed this for me.
4. Find a Theme
Not all themes are equal. Find a theme you like (and this could also be considered first step). A theme is basically what your blog will look like. Some are more easily customised than others. Beware, it’s time consuming!
A good place to find themes is at WordPress Theme Viewer. It pays to spend a lot of time researching the themes. Just because a theme is there doesn’t mean that it works as it should. Read the comments, follow some of the comment to see how it looks on other blogs. Research the author and read comments (related to the theme) on their blog.
I rushed with my first theme, struggled through uploading it, and then decided I didn’t like the header (the text looked really blurred) and I couldn’t work out how to fix it. Once the theme is chosen, download it to your computer, unzip it, and then transfer (upload) it to the “themes” directory on your server.
5. File Permissions
One problem that I encountered was that to make changes to many files and directories, the permissions had to be changed to allow me access (via FTP or my WordPress console). When you are in your FTP program, you can do this by right clicking on the file or directory name and “properties”. There should be something called “permission mode” or “numeric value” with a number in it. It seems that the code required for WordPress to alter files is “666” (who thought THAT up?) and for other directories it is “777”. Also, sometimes files are hidden so you may need to “unhide” them. See Changing File Permissions for more details.
6. Exporting your blog posts and comments from WordPress.com
That being done, you should be ready to export your entire blog contents from your WordPress.com blog. This was the easiest bit in the entire process! You simply go to “Manage” on your console and then click “Export”. You download the file to your computer.
7. Importing to your new blog
The import was tricky for me. You are supposed to be able to import up to 2 MB, and my file was under this limit. To import you choose “Manage” and “Import”, select the file on your computer and away you go. That’s how it should theoretically work.
My first problem was one with permissions . I got this message: “Unable to create directory …./wp-content/uploads/2007/05. Is its parent directory writable by the server?” (see step 5 for solution).
The second problem was that I would get a blank screen – it just gave up. Now this could have been a problem with just my server, but it seems other people encounter this problem to. The advice I found was to either contact your host and get your upload file size increased, or split the file up.
Golly how do you split an .xml file up? The answer is carefully, but it’s not too hard. Firstly open up your .xml file (this is the one you exported) in a text editor (like notepad). Now open up another notepad (so you’ve got two open). Save the second one as the same name as your first but with a “b” or “2” on the end. This will create a text file, but don’t worry about that for the moment.
The important bit is making sure you retain the text at the top of the file and copy this to your new document. This was the advice I found “…just copy the header part up to the first <item> and put that in a file. Then copy some of the items into that file and make sure you have the parts of the bottom of the file to close off that RSS file with the </rss> </channel> or whatever.”
Once you have saved your text files locate them on your computer and edit the file name to have a .xml extension. Then repeat the import process for each file. NOTE, most of my images got lost in the transfer, or were still referencing my old WordPress.com blog.
Fingers crossed your blog should now be on your new domain. Next you should have a look at permalinks (in Options and Permalinks). A permalink is the way that your blog is going to display the URLs. Some blogs use a page number (which I don’t think is recommended), others use a combination of the date and file name.
The standard default is set at “page id”. To change this, WordPress needs to access your .htaccess file (which sits on the home directory of your website). Assuming you have unhidden your hidden files (and set the permission to 666 if you have found your .htaccess file), then like me you might need to create one. I found this article called “where’s my .htaccess file” invaluable – it explains how to create a .htaccess file and upload it to your server.
Now you’re pretty much done, it’s just a process of adding plug-ins and customising your theme (all well covered elsewhere). Don’t forget to make sure that you set your privacy settings (under “options”) to “Make my blog visible”. You should also check that you have a valid robots.txt file (type in YourBlogName/robots.text it should read
And you can easily create this file in notepad and upload it to the root directory of your website.
Next Instalment – The pros and cons of moving a blog….
9 Responses to “Moving from WordPress.com to a Self Hosted Domain”