Workin’ My Backend

This article has been retired and will no longer be updated. Caveat emptor!

I’m under no delusions about the number of readers I have, and yet I feel compelled to write an update on how things are progressing. Call it hope for a self-fulfilling prophecy…after all, if I’m going to start a blog that I actually expect people to read, I have to write entries in it sooner or later, right?

It may look as though not much has changed around here over the past couple of weeks, but I assure you things are moving forward. Admittedly, I have been busy with school and my personal life, and consequently haven’t had much time to devote toward ElasticDog, but I haven’t completely ignored it either.

Not only have I started working on numerous entries, but I’ve also been teaching myself some PHP in an attempt to customize WordPress even further than I already have. Here’s a short list of some of the projects I’ve been tackling:

That’s just a sneak peak at what I’ve got brewing over the next couple of weeks. I’ll also be adding the rest of the main site pages (about, portfolio, etc.) as soon as humanly possible. Simply put, there’s much more to come here at ElasticDog, and by the time I’m finished workin’ my backend, even Jennifer Lopez will have something to be envious of!


WP Plugin: Optimal Title

This article has been retired and will no longer be updated. Caveat emptor!

This plugin is now deprecated…see Optimal Title Functionality Now in WordPress Core.

IMPORTANT!!!

Due to recent XSS security issues fixed in WordPress 2.1.3, the code for Optimal Title also had to change in order to fix the vulnerabilities. It is recommended that ALL users of this plugin upgrade to version 3.0. Due to changes in how Optimal Title works, that should be the last upgrade you will ever need For more details, see the update details section below…


Optimal Title is a WordPress plugin that mirrors the function of wp_title() exactly, but moves the position of the 'separator' to after the title rather than before. This allows you to have your blog name tacked on to the end of the page title instead of having it appear first.

Having your page information appear before your blog name in the title is advantageous because it provides more meaningful search engine results and browser bookmark names The text that appears between your <title> tags is used to generate both of these things, and will often be truncated when viewed. Because of this, it is more effective to have words directly relating to the content of your page appear before common markers. Not only will the titles be more meaningful, but the they will also be more scannable when being viewed in a list For more information on this concept, see Dr. Jakob Nielsen’s article Microcontent: How to Write Headlines, Page Titles, and Subject Lines.

Installation

  1. Download Optimal Title v3.0 and unzip the archive.
  2. Upload optimal-title.php into your wp-content/plugins/ directory.
  3. Activate the plugin on your WP Admin » Plugin Management page by clicking the corresponding “Activate” link under the Action column.
  4. Follow the usage guidelines shown below…

Usage

In your header.php file, replace the function call wp_title() with a call to optimal_title(). You’ll also want to position your blog name after your usage of Optimal Title in order for this to work as intended. You should end up with a line that looks something like this:

<title><?php optimal_title(); ?> <?php bloginfo('name'); ?></title>

For a more complicated version that checks to make sure the plugin is installed and also includes support for a tagline on the home page, this is actual code I use on this site:

<title><?php if ( function_exists('optimal_title') ) { optimal_title('|'); bloginfo('name'); } else { bloginfo('name'); wp_title('|'); } ?><?php if ( is_home() ) { ?> | <?php bloginfo('description'); } ?></title>

Parameters

Optimal Title uses the same syntax as wp_title, from the default WP installation, and thus functions in the exact same way…

<?php optimal_title('separator', display); ?>

Version History

v3.0 Update Details

Upon the suggestion of Lee Kelleher, the way in which Optimal Title works was adapted in order to be more efficient, future-proof, and secure. The plugin no longer generates the title text itself, but lets the built-in wp_title() function handle the generation, then rearranges things afterward. Because of this change, Optimal Title will have the exact same security implications as the default installation of WordPress itself and should never need to be upgraded again…in other words, if your WordPress installation is up to date, you’ll never have to worry about the security of using Optimal Title. That also means that the plugin should work for ANY version of WordPress, past, present, and future.


A Fresh Start

This article has been retired and will no longer be updated. Caveat emptor!

I started the original ElasticDog about a year ago when I became interested in standards-based—web-design. The more I read about the subject, the more I wanted to try things out and to create a standards-based site of my own. It had been years since I had even touched HTML, but I was determined to do things right this time around. I stayed up late nights reading, experimenting, repeatedly failing, and eventually, learning…

Screen shot of ElsaticDog v1.0

Once the initial design had been completed, I was pretty happy with the results, but didn’t know where to go from there. I had successfully created a functional/accessible site using XHTML and CSS; but they say that “content is king,” and I felt that at the time, I had nothing significant to write about.

And so, I kept researching as much as I could on web design, intermittently writing on what came to mind, and fooling around with different ideas that I ran across. In time, I began to develop my own thoughts on the subjects that I was reading about, rather than just taking what others said at face value. It was quickly becoming apparent to me that ElasticDog needed some major improvements.

Repair or Rebuild?

To give you some background info, one of the ideas behind designing with XHTML/CSS is forward compatibility - in theory you shouldn’t have to update your code in order to do a redesign because your content and style are kept completely separate. For a beautiful demonstration of this concept, just check out the css Zen Garden.

With the first version of ElasticDog.com, I had put a lot of thought in to how my code was structured and included many unique features that I really came to like. But on the flip side, I also did some things that were out of the ordinary which prevented me from executing a redesign as easily as I had hoped. For example, instead of having a fixed-width or fluid page, I decided to try my hand at an elastic design, which is a combination of the other two. This added unnecessary complexity to my code and limited some of my future design options. Because of limitations, and others like it, I knew that if I started over again, I could do better.

Around this same time, I was experiencing some reliability issues with my hosting provider, the new licensing structure for MovableType (my former CMS) was causing a ruckus in the web log community, and I had pretty much stopped writing entries all together. It was then that I became determined to mix things up in order to turn ElasticDog into the site that I had always envisioned.

Stepping Back to Move Forward

To kick off this renewal, I went back to the basics by looking at some of my favorite sites and writing down the aspects that made them stand out. How was the site organized? How did the author handle semantics? What characteristics of their design were useful? What features were attractive, or conversely, distracting? Why did the designers make the decisions they made? What things in my previous design did I do right?

Keeping all of those things in mind, I began creating a new design from scratch. I completely restructured my XHTML, cleaned up my CSS, and made everything more user friendly. I paid attention to the smallest of details, and made sure to insert a lot more flexibility into my code so future changes wouldn’t be such a headache.

Once I had an idea of how things were going to look, I went out and read reviews about hosting providers and ended up switching my site over to ICDSoft …a move that I’ve been very happy with.

Now that I had a redesigned look for my site, and a new server to put it on, I needed software to manage it all. Due to a number of reasons, I chose to leave MovableType behind and use the open-source publishing platform WordPress instead. Once the software was installed, I created templates (based on my design) that would automatically generate my entire site using WordPress…and the rest is history!

I Promise, I’m Almost Done

Now that I’ve bored you to death, I can finally welcome you to the new and improved ElasticDog! Not everything is quite polished yet, but I figured it was good enough to get things going again. For the time being, my old entries will not be imported into the new design. Eventually the ideas will work their way back in the archives, but for now you’ll have to do without.

Last, but not least, I’d like to send thanks out to those who gave me support during my initial learning stages and also to those who offered their insight on my latest design. I realize there’s not much here yet, but I now have a better idea of what I want ElasticDog to be, and more importantly, how to get it there.