Running a site on Tumblr Nov 28 2009

Following on from my last post, I figured I’d go into a bit more depth about the details of running a site on Tumblr, especially a customized one. You can do some pretty cool things with Tumblr, and especially with custom themes, but for now I’ll be focusing on some of the higher level considerations and settings, and I’ll do a separate post that will go into my experiences of building a custom theme for Tumblr.

When I first started playing with a new site design, and was thinking along the lines of no longer hosting my site on Feather, I did think about writing something quick and simple using Rails to suit just my needs exactly, and hosting it on the rather brilliant Heroku. I got as far as implementing some of the tests and code, before I explored the hosted service route. I was also reading a lot of good stuff about Tumblr, so setup an account and had a play, and was incredibly impressed. I started thinking about how what I had planned for my new site might fit within the constraints of being hosted on Tumblr.

  • I wanted a different index page to the rest of the site, so that I could display a bigger banner graphic on the homepage only. This site represents my freelance business, and so I needed to make sure that was obvious from the homepage.
  • I needed static pages. I didn’t want people to be able to comment on my about page, or see my contact page in the stream on the homepage whenever I updated it. I needed to link directly to those pages from the header.
  • I wanted to be able to easily edit those static pages like the rest of the blog content on the site.
  • I wanted to implement an easy-to-use drop in widget for comments on posts, and for the contact form.
  • I needed to host the site on a custom domain (ejdraper.com), and I wanted it to redirect from www.ejdraper.com to ejdraper.com.
  • I wanted to be able to easily make changes and tweaks to the layout, and to update links on the site without too much effort.

These were the most pressing initial concerns, and certainly the static pages were my first sticking point that I felt could mean that I simply couldn’t use Tumblr in the way I wanted. Then I found private posts.

Private posts are kept separate from the overall stream, and can only be found if you know the URL. Perfect for linking to them only from the places I want to link to them. They were still posts however, which meant that I could also easily edit the content if I wanted to as I would with any other type of post. This means I can run the about, contact and portfolio pages as private posts, and easily edit and tweak the content if I need to, without them showing up in the main stream of the blog.

If I want to build a new, radically different portfolio page too, I can create a brand new private post for it, build it out, and simply update the links to it when I was done, before I finally remove the old post. Tumblr works great as a CMS in this way, when you can effectively treat private posts as their own little pages.

Showing the banner graphic only on the homepage, and not on all other pages (permalink pages, tag pages, search results page) was a bit more complicated, and I’ll write more about that when I discuss custom themes. Likewise making sure that the comments aren’t shown on the about, contact and portfolio pages.

The comments use Disqus which is rigged up directly in the custom theme. For the contact form I’m using Wufoo, and I am able to drop in the required Javascript to hook that up directly into the private post to insert the form. This level of customization also means I can hook up all sorts of other external services very easily later on if I want to.

The custom domain is really easy to setup - you simply give Tumblr the domain you would like to use for the site, and then use their instructions to point the DNS for that domain to the right IP address. That’s it - once the DNS resolves your domain will start showing your Tumblr site, your username.tumblr.com address will start redirecting to your domain, and I noticed that it even auto redirects www.yourdomain.com to yourdomain.com if you’ve set the custom domain to just yourdomain.com, and vice versa if you set it to www.yourdomain.com (you’ll need to point both www.yourdomain.com and yourdomain.com to the Tumblr IP address for this to work).

Customizing the title and description of the site is simple enough, and you can then use those values in your custom theme. You can also expose other values from the theme which can be configured through a basic form, so that you don’t have to directly tweak the HTML of your custom theme to change links, text or whatever else you might want to change occasionally. We’ll cover this in more detail, and just how useful it is, in my post on theme building.

On top of all of these great customization features, you can also rig up your Tumblr account to post to Twitter and Facebook when you publish a new post, helping you further promote your content. There are options to ping Technorati and other popular blog directories, and also to promote your site on Tumblr itself. As well as all of that, you can also have Tumblr import posts and content from a number of different sources, such as RSS feeds, Twitter and Delicious, amongst others.

The only potential downside for people looking to move existing content to a new Tumblr site, is that while the API makes it incredibly easy to import posts, there isn’t a way to setup redirects from existing post permalinks to the new Tumblr URLs each post will now have. I bit the bullet and moved all of my old content over which has probably broken some older links to posts on the old permalinks, but if you are switching your domain over and have some really popular older posts that you can’t afford to have no longer working on existing permalinks, then that might be a deal breaker.

That aside, if that’s not an issue for you and you are able to move existing content over like I did, or if you are starting a fresh site, then Tumblr is seriously worth considering, even if you have extensive customization requirements for your site. I’ll discuss in more technical detail building out a Tumblr custom theme next time, if anyone has any questions about setting up a customized site on Tumblr though, please do leave a comment or drop me an e-mail.

blogdesigndevelopmenttumblr