Blogging, Continuity and Productivity

One way a blog like this helps when designing a new Web 2.0 site is continuity of discussion. I’m working on this project primarily as a one-person show. I have some great backup in the programmers we have working for us at Connors back at the office, and I have my long-time partner in crime who helped with previous incarnations of the system. But this blog constitutes a real-time, ongoing discussion with myself, and lets me pick up where I left off smoothly.

There was an article I read a few months ago about productivity in programmers. I forget exactly where, but I think it was when I was researching agile methodologies, and the author made the point that a single programmer with a clear vision of what he/she is trying to do can be something like 1000% more effective than a programmer working on a team. That is, one motivated programmer using agile development methodologies can do 10x more work than a counterpart working as part of a team where project management software, bureaucracy and meetings constantly corrode the hours spent to work accomplished ratio. It wasn’t Paul Graham who write this, but somehow I associate the concept with him, based on how it jived with the many articles I’ve read on his site. If I find the actual reference, I’ll post the link.

The purpose of the blog posts in the morning is like winding the catapult. I should have clarity on the rest of the day. Yesterday, I made the HitTail site live. I essentially made the decision to develop this live online in stealth mode. This has the SEO advantage of letting the clock start ticking as soon as possible to let the domain age as far as the engines are concerned. The latest Google wisdom following the Jagger update is that a domain should be about a year old to overcome a negative weighting penalty. Most spam sites are newly registered domains. There’s some uncertainty about when the clock starts ticking—whether it’s when the domain is registered or when Google discovers it for the first time.

GoogleBot is unlikely to discover the site until at lest one inbound link is established to it. But several PCs I use have the Google Toolbar with privacy turned off, so Google will know about the existence of these pages very soon (if not already). But I want this site to chronicle a complete and accurate history of the birth of a Web 2.0 site from an SEO point of view. So, today’s priority is to put the systems in place to track spider visits.

These spider monitoring systems also starts a more advanced process of what this site is all about—collecting data that becomes intelligence that becomes action. HitTail is not going to advocate spider-watching, because that is a misappropriation of valuable time from the average marketing department’s point of view. I’m doing it because it’s of interest for this particular site. When was the first visit by GoogleBot? Which pages has it picked up? How much time went by before the first Google search hit occurred? Yes, this might be of casual interest to marketing departments that have too much time on their hands. But HitTail focuses on “what hits occurred recently” and “how can we use that to make more hits occur soon?” Much of the peripheral and pedantic details will be thrown in the trash to make the overall system more focused and efficient.

Double-whammy Logo Design

The last thing that I want to do today before I go home today (where my kittens who are not used to me being away so late will kill me) me is a unified header to glue together the CMS and the Blogger pages. A single graphical header going across all the pages will go a long way towards unifying the two systems (blog & CMS) and catalyzing my vision as to what the site is to become. Happily, I have a logo all ready. Rarely do I embark on graphics projects anymore, even though that is my training. I’m tired of the subjectivity of graphic design. Everyone is an expert, everything is subjective, and fashion rules.

None-the-less, I dusted off my sketching skills and doodled out a design that I hope my old instructor, the master of ambigrams, John Langdon, who did the work in Dan Brown’s Angels & Demons, would be proud of. My logo is not an ambigram, but it uses the principles I learned in John’s typography class, of how the strongest logos often zero in on a letter that says something about the overall word, and exaggerates it just enough to turn it into a sort of onomatopoeia—a word that represents the meaning. Words like Bam and Sniff are onomatopoeias. It’s so much stronger than just adding the latest swoosh that is so prevalent in logos today.

Ambigrams are double-whammy design, because they work for more than one reason, but it can be done without making it readable upside down. There was once a magazine named Family, which accomplished such design by dotting the “l” and a few other characters. Very effective. When I can, I try to make a logo work for 3 or 4 reasons. I think I nailed that here. First, you’ve got humor: what is “my long tail?” If that’s not an ice breaker, I don’t know what is. Second, you’ve got echoes of the ubiquitous logo that has been burned into all of our retinas: Google. I tried to make the placement of the “g” reminiscent of Google (although, it’s a wholly different typeface). Thirdly, I exaggerated the g so that its tail literally becomes the tail. I could go on, but 3 reasons it’s such a strong logo is enough. I’ve got it up on the site.

OK, so I’ve uploaded the logo and put it at the top of both the CMS template and the Blogger template. I also took the step of unifying the styles from the two systems. That way, I won’t end up maintaining two sets of CSS, and I can just edit a single external linked file to tweak the overall look of the site without re-generating the static pages. It will also help enforce a unified look between CMS and blog.

Building Search-friendly From the Start

OK, now it’s time to apply a graphical header across both Blogger and the main site. And it’s time to make some commitments to a CMS system for the main site. There are many CMS systems out there, and the last thing I’m going to do is go through the learning curve on even an easy one. Is a website a Web application or a bunch of HTML files? For manageability, it has to be thought of as a Web app, but for search optimization, it needs to be thought of as HTML files.

Blogging software has long ago solved this by “outputting” static HTML files from their database. This has a plethora of advantages, including reducing server load (serving static HTML files is much easier than executing code). Even if your dynamic pages are masquerading as static HTML, you’ve got increased server load—now two-fold: first, from the invisible reformatting of the URL that takes place with the Mod_Rewrite technique, and second by executing code that probably queries a database, populates variables, then finally serves up the page. Static pages, while providing less customizability, are much better for high volume sites.

I believe I’ll be using our own home-grown CMS system for the rest of the MyLongTail site. The back-end controls don’t have the features or the polish of other CMS systems, but I know it inside and out. It gives 100% uncompromising artistic control (unlike most CMS), and it creates pages that are perfectly optimized static HTML for search engines. And best of all, when things change on the Internet, I can just re-work the XSL transformations, and appease the search engine algorithms du jour, at least as far as internal link structure is concerned. Our home-grown CMS system was designed specifically with SEO in mind, and more particularly, with non-commitment to website architecture or technology decisions. Very advanced XSL queries “knit” the website together, very much the way blogging software can rebuild the static pages of a blog. But because we control that transformation.

Anyway, I need to go through the steps I would take for any website using our CMS for SEO system. I will need at least one page on the site. From a scalability standpoint, my home grown system is great when the entire site is going to be HTML. But much of this site is going to be an application. So, while I’m starting it this way for expediency’s sake, I very well may switch over to Ruby on Rails for an SEO-friendly app site. Additionally, much of the application will be written with AJAX, which is inherently SEO-unfriendly.

So as the site becomes more application-like and cooler and cooler, it will simultaneously be becoming less friendly to search engines. That’s part of the reason why the blog is so important (Blogger is inherently SEO-friendly). Blogging lets us roll out content in a friction-free environment. Anyone who has managed corporate websites knows what I mean when I say friction. Because I’m blogging from Microsoft Word, I can roll out content with almost no friction. But the content that becomes the navigational framework of the site will be from my home-grown CMS, which is also inherently search engine friendly. Together, the blog and the navigation pages will create a very competent placeholder, so it can start setting properly into the engines.

Adjusting the Blogger Template

OK, I don’t want to get bogged down in blogging details. And I actually looked closely at moving to WordPress or even Ruby on Rails Typo, in order to sharpen my ROR skills. But even such a small step is not worth it at this point, because I have to start worrying about different servers and databases. Blogger is very competent, and it has the Microsoft Word plug-in.

But one concession I am making to tweaking my blog environment is I’m stripping out all the CSS styles to see what it looks like bare bones. I’ve kept the special blogger code, but that too I’m going to take a close look at. I haven’t done the Blogger template customization chore myself directly in any significant way. I have done a few light touches to help my people at Connors to understand the SEO issues. I would have liked to have added the previous/next arrows featured in MovableType/TypePad and WordPress. That’s one of the keys to efficient SEO. Blogger offers the 10 most recent posts, which approximates the same effect. But when you look at the Google PageRank algorithm, there are definite differences in how the PR juice gets distributed internally within the site. The prev/next arrows prevents topic dilution for that set of links, but the 10-recent links accomplishes much the same effect in net.

Blogger has an outage scheduled for 4:00 today (and it’s 3:55)—an unforeseen downside. But not a big deal, because I can save the HTML locally (which it technically already is, thanks to the FTP feature), and add the styles back in one at a time to understand what they’re doing.

OK, I’m not a big CSS guy. Over the years, I’ve tended to use table structure to enforce page layout. The common wisdom has gone against this in recent years. Bare bones CSS can be marked up with div tags, which then can be converted into columns with some very light touch CSS. There is an awful lot of CSS instructions between the style tags of a default template, and in putting them back in one at a time to see what they do, I see that the heavy lifting is done in one little spot…

@media all {
#content {
width:660px;
margin: 0 auto;
padding:0;
text-align:left;
}
#main {
width:410;
float:left;
}
#sidebar {
width:100%;
float:none;
}
}

And the blog magically acquires the 3-column look. Sheesh, it’s that easy! No wonder CSS is becoming so universally embraced. It’s hard to imagine going back to table code to accomplish the same thing. The next thing I’m going to do is alter the left over blogging code (after all the CSS was removed) to make a few of the basic SEO optimizations required to fix Blogger’s default templates. First and foremost, is the permalink anchor text. Most popular blogger templates ridiculously puts in the time of day that the post was made. Keep in mind, anchor text is enormously influential in search results. So, it should be nothing other than the same text that becomes the title tag, headline and file name of the permalink page. So, the line that reads…

…should be changed to…

Link to: <$BlogItemPermalinkUrl$>” title=”permanent link”><$BlogItemTitle$> permalink.

And the final step that should be done in fixing the default Blogger template (not customizing) to add a line to the Previous Posts section linking back to the top of the blog. Blogger has this odd habit of letting you navigate deeper into the past by following the “previous 10 posts” links, but not forward in time.

But now, I have a truly bare bones Blogger template. I’ve stripped it down to the essence, removing everything you might consider a Blogger “signature”. Not that I want to obliterate the fact that I’m using Blogger. But rather, I want to build it back up into the look that the MyLongTail site acquires so that the blogging section is indistinguishable from the rest of the site. The decisions I make regarding header graphics, column widths, etc. will be made now simultaneously to the Blogger template and whatever system I end up using for the main site.

Welcome to the MyLongTail Blog

OK, it’s time to jump in head-first with MyLongTail. There’s been way too much thinking and office disruptions. It’s a downward spiral. You think that all you can do is the thought work, because the next distraction is imminent. The next distraction sucks you into office day-to-day work evermore. So, you do less actual work, in favor of thought work. Almost 3 weeks have passed, and a good amount of this project should be doable in just a couple of weeks. To my credit is the fact that we worked out some important issues of reducing load, based on several of Connors’ heavy traffic SEO clients. See, this system is already in place in its previous form, and turning it into a Web 2.0 offering is basically just an “extraction”, and some viral marketing.

OK, perhaps its time to frame this as birth of a Web 2.0 company, and conduct it like performance art. Can you do it without giving away the farm? How much openness and candor is healthy, and how much makes it too easy for the next person to reproduce it? Wouldn’t it be something to turn this very journal entry into the first blog entry of a public-facing MyLongTail blog? Yes, that would be something. What steps would I take? The first would be getting the blog going, and making this the first post, ASAP.

For marketing purposes, make the blogging portion of the site part of the mainstream blogosphere. Don’t get bogged down by creating your own blogging software or choosing hosted blogging software for fancy features. Get blogging fast, and get the full search optimization benefit. That means either Blogger. Why? For the benefit of the people reading this blog post, hosted solutions such as TypePad require that you dedicate a third-level domain to the cause, instead of a subdirectory of an existing www site. And with the local-install solutions, you have to go through the install and customization, and even then you often want it on a different server than the website you’re developing, getting right back to the subdirectory problem. Why is a subdirectory desirable for a blog? For search optimization, but we’ll get to that later. But it does show you the important point, that you will be seeing all the decisions that go through the head of an experienced search engine optimizer, as he creates a site from scratch.

I’ve already got the MyLongTail domains, and have it preliminarily hosted on the corporate production servers. I’m going to construct a rudimentary template that will translate well to both a Blogger template, and a template in my systems. The idea is to keep it simple for now. We’re constructing a teaser to get the attention of a specific audience, and to start signing up early adopters, and to engage trend setters in conversation. I’ve done several projects like this in the past, and have always maintained a Web journal of this sort. The difference being, I have either kept the journal private, or my intended audience could not care less what I was doing, until it was over and they saw the impact. This will be different, because the public at large will be my audience, and I’ll interweave this with the Ruby on Rails, AJAX, Web 2.0, and Longtail movements. It’s almost a guaranteed success.

Anyway, back to Blogger. Yes, Blogger. There are fewer cool plug-ins for Blogger, because it is hosted. And it doesn’t seem to be a Google priority, so features aren’t moving forward as fast as WordPress. But it is search-optimized, and easy and free. It has a Microsoft Word plug-in, which makes publishing ridiculously easy. And if things change radically, you can export it’s contents as XML, and transform the structure with XSL to bring it into any other system. So basically, there are no downsides to Blogger, and getting going is a 1-hour proposition (at most).

So, Blogger is SEO-friendly, and it can be planted in the subdirectory of an existing site. I will use www.hittail.com/blog. I go into my Blogger account and create a new blog. I choose the minimal template. I publish a test post. I view it on mylongtail.blogspot.com, and it looks fine. I update the FTP settings and test, and the blog is in location using a default blogger template as planned. The one downside I now recall about blogger is the fact that it inserts the navigation bar at the top, obviously for viral marketing. My personal blog site, Mike-Levin.com, was apparently grandfathered in to when that nav bar could be turned off. I searched the Blogger controls for the way to turn it off, and some Googling shows that people are doing it with hacks these days. That’s well and good, but that b-navbar div actually inserts JavaScript. Ugh! I’m tempted to just write some quick blogging software myself, but I don’t want to chase that particular rabbit.

Ready, fire, aim!