Why and How I Moved my Site to WordPress.com

I had been toying with the idea of moving this very site from a self-hosted WordPress (wporg) instance to WordPress.com (wpcom) for the better of the last year, but never went ahead with it.

I had the overwhelming feeling that as a hardcore WP geek, I’d lose some functionality and freedom in the move. Also, as an open-source geek, I was somewhat feeling guilty about the switch.

Water under the bridge, TekArtist.org is now entirely powered by wpcom.

Here is why I did and what I had to do to make the switch, painlessly.

Do note that whatever comparisons I make below are purely based on my very context, and might not apply to your own needs and wants.

First and foremost, eating my own dog food

I’ll be frank right off the top, that’s the part where I’m cheating a little and have an advantage you probably do not:  I’m a developer at Automattic, I code for wpcom.

Running my own site, which as you can see I post to constantly, on wpcom is in fact the best way for me to make sure YOU, our users, have the best, fastest, safest, most powerful and reliable blogging platform ever for your own needs, be it wporg or wpcom.

Since I live and breathe the wpcom codebase all day (and often night), any wpcom or wporg quirk I come across will promptly get addressed, hopefully even before any of our users have to face it themselves and potentially have to reach out in our forums or contact our happiness engineers. This is already a constant at Automattic, since we already do use our own tools and products to run the entire company, but doing so with this site brings it one notch closer to home.

Yes, it’s true that I can’t pick and choose random plugins to install anymore, like I could on my wporg instance. But if there is something I want that we don’t already have, I just propose it, install/tweak/code it, then make it available to millions of bloggers on wpcom at once rather than just myself. Sounds like a good, bilateral deal to me.

I could have my own theme, thanks to my position, but I actually did not opt to go that route (yet?). I was running the P2 theme with a child theme on my wporg instance, but I only had one custom function and mostly just CSS changes. Wpcom has P2, allows anyone to customize the CSS with a cheap upgrade and I’m not really going to miss my custom function. I didn’t lose anything in the move, and you likely wouldn’t have either.

Although it’s easier for me since I work here, regular users are not left out of this loop. We are always opened to features suggestions from users and developers alike.

Faster (for all) and more reliable (for me)

  • wporg: single 256MB/10GB SliceHost VM. This setup has served me well and isn’t that expensive, but wasn’t the fastest or most reliable overall.
  • wpcom: multiple datacenters, over 1000 servers, a kick ass sys ops team, free backups, multi-layer caching, CDN, cloud services, etc. Need I say more?

Cheaper

  • wporg: personal time (admin, maintenance, etc) + $20/month for VM.
  • wpcom: $56.94 per year (cost of “domain mapping”, “custom css” and “no ads” upgrades). Only $26.97 / year if I didn’t go for “no ads”.

Always up-to-date

  • wporg: my site also was, since I had scheduled/automated svn updates from WordPress Trunk, to be fair.
  • wpcom: wporg trunk is constantly being merged with wpcom (and often vice-versa) by core contributors such as Ryan. How could I ask for more?

Easy peasy social

Not comparing wporg to wpcom since the former has a slew of fantastic plugins for social integration, nothing to say there. On the other hand, wpcom has social features and millions of users in and of itself,  as well as all the control and built-in 3rd-party integration I need (Twitter, Facebook, etc).

The features keep coming

Yes wporg has a greater overall feature availability. But with wpcom, I just have to sit and relax, and they come to me instead of having to dig up for them, keep them updated, etc. Well, it’s arguable since it’s my job to do so at Automattic, but you do. ;)

A painless move

  1. Created a free blog on wpcom, set it to private while I set it all up (theme, widgets, custom CSS upgrade, etc).
  2. Exported my content out of my self-hosted instance.
  3. Imported the content to wpcom (everything came with it, posts, pages, comments, media, embeds, etc).
  4. Switched my DNS to point to the wpcom servers and edited my DNS with some legacy entries I wanted to carry over.
  5. Mapped my domain and made the blog public and tekartist.org my primary domain for this site.

One extra step I had to go through, but you might not, was due to the fact that I was using Alex‘s Viper’s Video Quicktags plugin and had to switch from the video shortcode format I had been using to the wpcom equivalents. I ran the following two regular expressions on my exported content file before importing it to wpcom.

find:
\&#5B;vimeo width="?(&#5B;\d&#5D;+)"? height="?(&#5B;\d&#5D;+)"?\&#5D;(&#5B;^\&#5B;&#5D;)\&#5B;/vimeo\&#5D;
replace:
&#5B;vimeo \3 w=\1\&h=\2&#5D;

find:
\&#5B;youtube width="?(&#5B;\d&#5D;+)"? height="?(&#5B;\d&#5D;+)"?\&#5D;(&#5B;^\&#5B;&#5D;)\&#5B;/youtube\&#5D;
replace:
&#5B;youtube \3\&w=\1\&h=\2&#5D;

All set

It’s now been around 24 hours since the move, which means most of the worldwide DNS cache should have cleared by now, and you should therefore be able to read this post. :)

I’ll let you know how it goes.

Testing Twitter Blackbird Pie

We’ve enabled a really neat feature on WordPress.com recently. The ability to display tweets in all their glory as simple as pasting a link in your post as shown below.

This is made possible by the excellent Twitter Blackbird Pie plugin, which this post is a test of on myself-hosted blog (see update below). :)

This plugin is:

  • a simple alternative to running a more complete plugin such as Tweet Import or Fresh from FriendFeed and Twitter (also interesting).
  • an effective way of importing such data (though unstructured) since Twitter Blackbird Pie stores the HTML output of the tweet in a custom field.
  • very easy to use as it supports shortcodes (with a GUI) and even inline oEmbed embeds so you only have to paste the tweet’s URL on its own line for the import to work.
  • even SEO-friendly since the tweet is here as text, not as a screenshot as so many people do.

I’ve been considering running an import plugin forever but never did because ultimately, I don’t want all my tweets on my blog. This will likely work better for me because I just have to selectively post the ones I want. Bonus: it also works with other people’s tweets when I want to quote them.

Update: The implementation you see above is in fact the one on WordPress.com, since I have now moved this blog to it.