I’ve been thinking about moving my blog from WordPress.com to some sort of hosted environment running WordPress.org’s version of WordPress for a while. With all of the jQuery and CSS stuff that I do and other possibilities for customization and monetization, it just makes a lot of sense for me to have more control over my own blog. I’ve loved using WordPress.com and their platform is generally fantastic; I’ve just outgrown it.
It ought to be pretty easy to do a move like this, at least in my limited view of the world. As it turned out, some parts are relatively easy, but other parts are abysmally unclear or just plain don’t work. I figured I’d document some of the thornier bits in case other might want to go down this road. I think I’m a pretty savvy guy, but I ran into some really annoying or undocumented (at least that I could find) things.
WordPress.com’s site has some instructions that make all of this sound pretty easy. I mean, it’s computer stuff. How hard can it be, right?
First off, exporting the content from my existing blog just plain didn’t work with IE8. I’ve known for a while now that the WordPress platform doesn’t work well with IE, but IE is my default browser because it’s what most of my client work with. I’m sort of a Microsoft guy.
I kept trying to run the export and was getting errors. I fiddled and fiddled, looking at the XML coming out, tweaking values, etc. For instance, as you can see below, the XML seemed to be malformed. so I tried deleting the offending tags, etc., but to no avail.
On a whim, I tried doing the export in Firefox, and it worked fine. On the first try. Once I did the export with Firefox, I had a good XML file so that I could do an import on the other end.
Lesson one: WordPress likes Firefox better than Internet Explorer.
I think that is probably a safe statement across the board. There are certainly odd behaviors in the online editor in WordPress with IE, and that’s probably one of the main reasons why so many of us Microsoft folks use Windows Live Writer instead.
I chose HostGator for my hosting company. They are on WordPress.com’s preferred list, my pal Bjorn (@furuknap) recommended them, and they are cheap. Well, everyone’s cheap these days, really. But HostGator has a 20% off thing going, and I love cheap that’s even cheaper.
When I was setting things up up at HostGator, the site asked for my domain name. I didn’t think much of that, but it turned out to be a problem. The issue was that once everything was up and running and I installed WordPress (That install was fairly painless – sort of the promised single button click, except for the other 6 fields you had to fill out next without any real explanation. I guess every process starts with the “one button click”.), anything I did in the HostGator environment was linking me over to the WordPress.com “production” version of my blog – the old one. More fiddling, and I finally started a chat session with someone at HostGator. They were really helpful, but these aren’t the technologies I focus on, so some of it was Greek to me. It’s not that I couldn’t figure it out, but was it worth it? The mumbo-jumbo was different than my usual mumbo-jumbo.
Lesson two: Just because you know one set of technologies well doesn’t mean that you know all of them.
This may be obvious, reader, but don’t tell me that you haven’t tried to build a server or something you really shouldn’t have done. Maybe it’s that “man thing”; asking for directions is actually OK.
What the helpful guy/gal (sometimes it’s impossible to know in a teeny chat window with foreign names – should I have asked?) ended up doing was setting up temporary URLs for my new HostGator blog site. They would need to switch it back later, but that was supposed to allow me to move forward.
Lesson three: Maybe you shouldn’t believe *everything* you hear from an expert.
Not that s/he was wrong, necessarily, but it didn’t fix everything.
There were a few more chat sessions at this point to find out passwords and such, but they weren’t significant. Let it suffice to say that the UI behind the marketing screens don’t follow through at HostGator any more than they do anywhere else.
Lesson four: When marketing says something will be easy, we all know we shouldn’t believe that.
BUT WE STILL DO. What’s wrong with us?
The next step was to do the actual import of the XML file. The import kept just stopping with no errors, warnings, or messages of any kind. But when I looked at the setup, I would see all my posts – through December 2007, or March 2008, or… Back to Bing, where the posts I found said basically, it will time out and you just need to keep running the import over and over until everything is there. What? Could that be true? Every time I ran the import after the first instance, all sort of errors flew by on the screen. The posts said that was OK, so I kept going.
Lesson five: Sometimes something which just looks totally wrong is supposed to be right?
I’m not so sure about this one.
After eight or ten imports (or more – I didn’t count well enough), everything looked like it *might* be there. The errors from the last few imports looked worse and worse, but they were “OK”, right?
At this point, I had my blog up and running with the temp URLs in the new environment at HostGator. I don’t like to trust technology too much, so I started to compare what I currently had on my blog with what I now had ion my new blog. You know, comparing counts of things, how the theme was applied, seeing what was missing, etc.
Lesson six: *Always* check your work.
There were still some problems that gave me pause. I’ve got over 600 posts on my blog with over 2500 comments and 500+ tags (I know, too many tags, but there you go). There’s far too much there to check everything; all I can do is spot check, really.
Here were my big concerns after more fiddling:
The Post counts on my Tags were all set to zero after import. In the grand scheme of things, maybe this isn’t so important, but I sort of like the Tag Cloud widget. Since all the post counts were zero, the tag cloud was uniquely uninteresting. Singularities are only interesting to physicists. I’m guessing that there’s some script I could run to fix this up (though it should be right from the import, IMO).
On my current blog, I use sourcecode tags supported by the SyntaxHighlighter Evolved plugin to embed source code. I’d like to continue using this plugin, as I find it makes the code snippets the most useful compared to any other approach I’ve seen. My blog is mainly about technology, and it contains a lot of code snippets; they have to be usable or what’s the point? The issue is that the code snippets in my existing posts seem to have gone across encoded. So rather than seeing this:
I was seeing this:
Another thing where some script probably would fix things up, but should I have needed to?
The comment count on my new blog was different than on my existing blog. As I mentioned, when I did the import, I had to run it probably eight or more times to get everything imported. On every run after the first, I got all sorts of errors, but it *seemed* like most everything moved over. The posts I read said this was “normal”, but since the comment count was different, I wondered what else might be out of whack.
That didn’t seem right to me. Since there were all of those odd errors and the numbers didn’t match, I had no idea what the mismatch was caused by. And the new blog had *more* comments than the old one. How could that make sense?
All this trouble seems so unnecessary! It would seem that when there is an offer of an export/import capability, it should just work. Because I was using WordPress.com, I *couldn’t* do any wacky customizations; all instances there should be vanilla to a large degree, if not totally.
So after about four hours (or more; I should have kept track), I’m tossing in the towel. I don’t want to spend so much time on a one-time activity. I’m hiring the WordPress Happiness Engineers to do a Guided Transfer for me.
Final lesson: It doesn’t always make sense to learn how to do something if you are pretty sure you are only going to do it once.
I’ll probably never move my blog from one platform to another again, or at least I won’t do it again for a long time. It’s should be truly worth the $119 I’m going to pay Automattic | WordPress.com to do the work for me. (I sincerely hope that’ll turn out to be true; you’ll hear about it in this space if it isn’t.)
p.s. Thanks to Josh McCarty and Bjorn Furuknap for their support and suggestions along the way in this process. I hope the two of you don’t think less of me for hiring the Happiness Engineers.