2 Jul 2010 kgb   » (Master)

Building A Blog

A few months ago I moved my blogs from their scattered pieces on Facebook, MySpace, Tumblr, Advogato, and LiveJournal over to a WordPress platform. This was a tedious and time consuming project. I had to do a lot of editing. The different platforms were geared toward different audiences. Some were technology centric, some Disney World fandom, some opinionated, some humorous and some personal. On the social platforms my audience was primarily friends and family, so writing tended to be informal and blunt. I frequently lumped multiple smaller, unrelated topics into single articles. These had to be split into individual entries or rearranged into better groupings so they could be properly tagged and indexed.

Getting My Data Out Of LiveJournal …

Getting my data off LiveJournal was tricky, especially since I wanted my comments to survive as well. I located only one, free program (and only for Windows) that allowed me to export the data into a csv I could load into WordPress. After this completed I had about 500 comments loaded, although they no longer had avatars. I was able to perform a mass SQL edit to the database URL column so that the comment pointed back to the URL of the author’s LiveJournal webpage.

Finding a Host …

Finding a viable hosting platform was the most difficult. I hoped for a free web host account that was based on Linux and provided SQL, PHP, WordPress, and a few other resources. Searching the Internet shows no lack of free options, and everyone seemed to love and hate the same sites, however the majority of all reviews I’ve read were fake or spammed into uselessness. Because I wanted a host that allowed my own ads, while not adding anything unreasonably visual in return, I could not use wordpress.com. Other host sites all wanted me to park my domain on their site, which by itself is not unreasonable, but they didn’t give me control  control over the DNS or MX data, which meant a hard time controlling my already extensive email addresses, plus sub domains that pointed to other sites. Most also did questionable things like strip off your www or force you to have it, which is bad if that is part of your brand or you want to handle that subdomain differently. Anytime I made a change to try something out, their DNS TTL’s were often set for a week, not hours. This created some scares and took my site down a few times. In the end I tried two host sites, so that if one went down I could swap to the other. I’m not going to mention who they are because within a few weeks I was not happy with either of them. One thrusted a lot of advertising tricks at me and both look like they could vanish overnight and take your content with them. I ended up going with my registrar, GoDaddy.

I wonder; has anyone done a trade-off analysis of whether it’s better to host your content on a free site with their bandwidth controls versus hosting at home using dyndns and your broadband provider’s limitations?

GoDaddy provided challenges of their own. They have an unpredictable implimentation of .htaccess, where some things work and some don’t, and they don’t publish anywhere what that is. The most allowing thing is that whether your htaccess file pre-existed or not, a change might not take place for hours, which made trial-and-error edits to determine what worked a nightmare. I have a working setup, but I still do not have an htaccess file that I like.

Finding A Theme …

Once leaving the constraints of LiveJournal, MySpace, and Facebook for WordPress you enter a massive world of look-and-feel FREE theme possibilities. With a push of a button your blog can resemble anything. I examined hundreds of themes and picked about 30 that I like, but am not entirely happy with any single one. I’m sure every blogger out there is chuckling at this; they’ve all gone through it. Each theme had things I liked and disliked. I picked one I liked the most, knowing I was going to edit the heck out of iit.

UPDATE: I’ve edited the heck out of it. Told you.

Sub-domains vs Subdirectories vs Toplevel …

Why doesn’t someone create a how-to for all this? Yet another decision you have to make is how are people going to reach your blog and what will the URL links look like. The choices all have pros and cons. I’m not going exhaustively list them all here, but in the simplest of terms as they applied to me:

  1. Unless WordPress is the only web application you will be using and your entire site is dedicated to one purpose/subject, you will want to install WordPress in a subdirectory to help keep your files organized. You may even find you want to install multiple WordPress copies to exploit multiple themes.
  2. With WordPress in a subdirectory, you may (depending on your host service) have the option of pointing a sub-domain to that location. While it is attractive to have your users type “blog.fred.com” instead of “fred.com/blog”, it only has value if you want your sub-domain to be seen by search engines as an independent site apart from the main domain, and that only makes sense if each has sufficient independent content to stand on their own. At least starting off, I wanted all my search engine goodness to relate to my main web site. There are other options for hiding the sub-directory from the user…
  3. You can set up your .htaccess file to redirect visitors (including those coming in from sub-domains) to the WordPress sub-directory, thereby hiding the fact you are using a sub-directory. WordPress further supports this by allowing you to indicate what your want your URLs to look like (“fred.com/blog/my-story” or “fred.com/my-story”). My conclusion is that there is no search engine penalty for going 1 directory level deep and it will make it MUCH easier to perform a redirect to another location should you want to move your blog. You can set up your .htaccess file so “fred.com” goes directly to “fred.com/blog”, thereby making it very user friendly and after that it’s all link clicks.

I elected to (1) put WordPress in a sub-directory, (2) keep that sub-directory visible in my URLs so it doesn’t intermix with other things I might add to the site, (3) created a sub-domain that pointed to my main domain, and (4) set up my .htaccess file to perform a redirect to the sub-directory

Tags Versus Categories …

I soon encountered the confusion of tags versus categories. I’ve been dying to have these features; my content covers multiple areas of interest and readers will finally be able to locate what interests them. On the surface they appear to do the same thing; they both mark content so it’s easier to group and locate. Opinions differ on how they should be used, but in general categories act like file folders to group articles together, and tags are best viewed as sticky notes of popular labels. The difference is their behavior in SEO. Categories are supersets of tags; articles should be placed in just one category to prevent the penalty of search engines viewing the content as a duplicate.

I elected to show tags for tracking down similar content, and hide the categories from the user. I’ve also chosen to drive my menus via categories. Articles can resides in multiple categories and tags, but I am blocking both tags and categories from search engines to prevent duplicate data.

UPDATE: I just suffered through a lot of pain because I made many of my tags and categories the same name and the same “slug” abbreviation. This got crazy when I deleted or renamed some and the others would be affected. I have since went through all of them and gave all my categories slug names ending in “-topic” so they will keep separate from tags.

Plugins and Widgets …

When you’ve been in computing as long as I have, you become numb to the fact that everyone and every piece of technology likes to use different generic words for the same thing. Themes/skins, plugins/widgets/add-ons/injections, containers/boxes/groups, etc. I had to understand what WordPress meant by having both plugins and widgets. Plugins are just their term for pieces of software that add or change blog behavior. A plugin may or may not also create a widget. A widget is just a GUI tool for placing and configuring the logic rather than force the user to deal with the actual css/javascript/php code directly. You don’t download widgets, its just a term. Not every theme supports widgets or plugins well, so it’s not likely you can avoid it always.

There are thousands of plugins, and some behave badly alone or in conjunction with other plugins. Some work with some themes and some don’t. There are also many duplicate plugins that do the same thing, but differently or are just written by different authors. It’s a project in itself to find ones you like and that behave well. WordPress has popularity and download indicators to help, but most of the ones I found were by deciding I needed something and entered search terms in Google (like “WordPress plugin FriendFeed”).

Note: In a future article I plan to write about what plugins I find the most useful.

I wanted to connect my blog to FriendFeed, Twitter, Facebook, and maybr MySpace, so these are the types I’ve been playing with the most. I’ve had to make manual modifications to some of these to get them to work with my blog. Some plugins make assumptions about your directory structure or host name being root, when mine is in a subdirectory. The FriendFeed comments plugin was one. Some plugins, like smart404 and permalink redirect, actually did nothing in my system (even after performing the required PHP edits).

UPDATE: Apparently there is an issue using multiple Facebook plugins. You get class errors when you try to activate both Facebook Connect and Socialite for example. Also neither of the 2 plugins I found that support cross-posting to Myspace work, and the Twitter Connect is very unreliable. I customized a lot.

Local Comments vs Disqus …

Another debate: I wanted to use Disqus for my commenting system. This mean Disqus importing my previously LiveJournal imported comments. I was excited that the Disqus web site and the WordPress plugin both had an import feature for WordPress, but when I clicked it – nothing was imported. After a few tries 5 comments were imported. I took a close look at those 5 and discovered that they were the only ones in my database with data in the IP address column. Using SQL I set all the IP addresses in my comments table to ‘255.255.255.255′, exported the WP data to XML, and tried the Disque import again. It ran for 10 minutes, then I looked and it had loaded all but 79 of the comments! Unfortunately there seems to be no easy way to track down which 79 comments they were. There is also debate whether you lose SEO benefits to outsourcing your comments. I can always change my mind and import my comments later, so for now I’m sticking with local comments.

UPDATE: Disqus added full Twitter, Facebook, and OpenID, and Yahoo login support, so it may be time to reconsider using it. There are also new comment services that tie together commenting from other social network services, a feature I highly desire.

The Past and Future …

When I started blogging in 2000 (before the term “blog” existed; they were called online diaries then), content mostly reflected the ongoing status of work or your opinions about life and news. My first blog was on a site called advogato.org, which still exists today but now I RSS feed into it. I worked for Red Hat back then, and my audience was co-workers, family, the Open Source community, and any Press interested in my projects. The postings were short, and frequently technical. In the last four years I’ve written a lot more personal articles because I now work for Disney Information Technology, and who doesn’t love sharing their unique experiences at Disney World? It generates a lot of interesting content. Beginning in late 2007 I became active in social media, but ironically I did not have a platform to share this outside of enclosed systems like Facebook and MySpace. Now that this blog has been centralized I hoped to generate a lot more discussion. Today I use tools like FriendFeed, Twitter, Tumblr, and yes Facebook. These allow you to post in real-time and build off existing content created by others quickly, but you also tend to say what you have to say in a pithy paragraph or two.

The most enjoyable aspect of this project is that all of my content survived and is in one place. I actually located my very first blog entry, as well as a few old Usenet posts going way back to the late 1980s! The journey was fun, but it was painful to see how trivial or poorly written some of those old entries were. I did go back and clean some up, but I had to balance how I wanted it to read versus maintaining the historical message and feeling of the original post.

I hope you like this site.  I have additional design options and I’d like you, my readers, to lead me in the direction of what they should look like.

Thanks, Keith

Syndicated 2009-10-25 04:14:03 from Keith Barrett Online » Technology

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!