As a result of three Digg homepage appearances over a period of a few weeks bringing my blog to it’s knees I decided to make a few changes. In addition to acquiring a new server and finding someone to optimize the heck out of it for me, I also decided to re-vamp my WordPress theme.
I’m probably a little pickier than most, but I was looking for the following list of features in the new theme:
- Speed – Along with the rapid growth of traffic on this blog I noticed a decline in page responsiveness. That is not something I want to subject hundreds of thousands of people to monthly. But most of the themes I came across suffer from “PHP bloat”, or the author’s feeling that more is always better.
- Accessibility – being one of the founders of HTMLHelp.com, it’s important to practice what I preach. So themes need to be accessible by any Web browser, on any operating system at any screen resolution – including screen readers for the visually impaired. This is currently very, very hard to find.
- Search Friendly – Although almost every theme claims to be “Search engine friendly”, I found that many could use quite a bit of improvement.
- Extensible – Webmasters have different tastes, so themes need to be flexible. Unfortunately the majority are poorly documented, use illogical naming schemes for CLASSes and IDs, and generally make it hard to modify them.
After having no luck finding an appropriate theme out of the hundreds that are publicly available I decided to just build it myself. The theme is currently in use here on One Man’s Blog, and I’m now making it available to anyone that would like to use it.
Rapid Access Menu
- General Overview
- Rapid Access Features
- Supported Plugins
- Installation Instructions
- Sample Sites and Additional Styles
Rapid Access is a three-column, fluid width theme. This means that it resizes automatically to fit various resolution monitors. If you change the size of your browser window you can see how the theme fluidly adjusts. It will look best in resolutions over about 700 pixels wide (>99% of my visitors), but is usable even on smaller screens.
Rapid Access has been tested and works with WordPress 1.5.x – 2.3.x branches. If anyone has other versions and would like to test it I’d be happy to add your results.
- Rapid Access was designed so that the left (content) column loads first. This means that scripts and plugins within the sidebars won’t slow down content rendering even if they are coming from another site which is typically slow (i.e. – MyBlogLog). Other templates which load the sidebar(s) first delay the entire page rendering until sidebar content is downloaded.
- All PHP files have been streamlined and unnecessary calls to the database have been eliminated. The faster a PHP page can be executed, the faster the Web page loads.
- Rapid Access avoids the often found (and dreaded) “themetoolkit.php” page which is known to tremendously increase the load on the server. Webmasters should be wary of themes which allow a high degree of customization within the control panel because these themes will not survive heavy traffic such as a DIGGing, or Slashdotting. (Trust me… I’ve proven this three times now.)
- The RA Stylesheet is under 10KB. Considering that the stylesheet is loaded for virtually every page load, this dramatically speeds up rendering compared to most theme’s 15-30kb.
- Unlike fixed-width themes, the fluid width of Rapid Access accommodates more browser resolutions and makes better use of screen real estate at the same time. It is always better for readers, and Jakob Nielsen agrees with me in his Ten Most Violated Homepage Design Guidelines where number 2 states “Use a liquid layout that lets users adjust the homepage size”.
- The theme contains valid XHTML and CSS. This enables a wider range of Web browsers to access the site without issues.
- This theme includes a basic Aural Stylesheet. These enable people with Visual impairments easier access to the site.
- Sites running Rapid Access are (at least initially) Section 508 compliant and pass the Cynthia accessibility test. The ADA requires organizations to avoid discrimination on the basis of disability when providing services. (More info: ICDRI.org)
- This site (obviously running Rapid Access) achieved a “95″ in the SiteScore accessibility test the first and only time I checked it.
- Please note, although the framework for a Blog based on Rapid Access is accessible you must take care to ensure your individual blog entries and all of the plugins you use are also accessible. Here is the HTMLHelp.com guide on Accessibility to help out.
- Rapid Access’ left column, containing the main content of the blog, loads first putting the content for search engines to parse at the very beginning. This helps them to better index the site, which in turn results in more search engine traffic.
- You may notice that the Page title comes before the Blog name in the title bar. This seems to assist some search engines with relevance ranking, and makes reader bookmarking more meaningful.
- Accessibility is also an important factor with search engines, and of course we’ve already covered that.
- The theme supports WordPress Widgets. My favorite site to find them is the Web Log Tools Collection. Please keep in mind that some Widets are not professionally created and may cause your site to stop validating.
- Each page of PHP and CSS within Rapid Access contains notes regarding various functions.
- Whenever possible I used logical naming for styles and functions to make it easier to find and make changes.
- Logical “human readable” classes were used for style sheet definitions.
- Stylesheet definitions are ordered logically as they appear from top of the page to bottom.
Attention to Detail
- I believe this is the only theme for WordPress which does not include an active link to the homepage, on the homepage; another of Jakob Nielsen’s Ten Most Violated Homepage Design Guidelines.
- Unlike most WordPress themes which make a mess of printing, Rapid Access includes a Print Stylesheet that renders printouts that closely resemble the screen version.
- The stylesheet includes definitions for manual insertion of text or image asides, as well as left or right floating pullquotes.
- Style has been included for right or left Pullquotes. See a real example here.
- Style has been included for right or left floating ad units. You can use either text or image ads and they will have a border around them. See a real example here.
- I spent a great deal of time trimming down the code. This includes removing unnecessary spaces, punctuation, tabs, line breaks, etc. All of this work amounts to only a few KBs saved per page, but when you add them all up it amounts to a signifigant savings in bandwidth and time. Especially for high traffic blogs, or users on slow connections.
In the case of built in plugin support, I always use the “function_exists()” check to first checks if the plugin is installed. If the end user does not wish to use the plugin it should not break page rendering.
- WordPress Widgets – A must have!
- WP Admin Bar Reloaded – Displays a handy admin menu at the top of the page for logged in users.
- Recent Comments Widget – Shows recent comments in the sidebar.
- Ultimate Tag Warrior – Shows related tags below each post.
- Other Posts from Cat – Shows related articles below each post.
- Comment Quicktags – Inserts a quicktag toolbar on the blog comment form.
- Live Comment Preview – Gives users with a live comment preview.
- Paged Threaded Comments – Allows users to respond directly to comments and breaks comments into multiple pages for blogs will lots of comment activity.
Got a plugin you’d like to see supported that won’t mess up the theme? Use the contact form to send a suggestion.
- July 7, 2007 v.13 – Changes to Style Sheets which fix IE6 rendering issue with blockquotes and add new styles for footer column support. Changes to Footer.php to allow 3 footer columns to be inserted. I recommend all users at least update stylesheet.css and print.css
- May 7, 2007 v.12 – Changes to index.php and single.php to fix a date stamp bug. (Thanks to Roy Kaldung!)
- May 1, 2007 v.11 – Minimal changes to header.php to better handle IE7 RSS requests.
- Initial Release v.1
- Download, unzip and upload the Rapid Access Theme to your “/wp-content/themes/” directory.
- Download and install any of your desired plugins.
- In the WordPress Admin area, activate the Rapid Access theme under the Presentation menu.
- Configure your desired Widgets in the Presentation | Sidebar Widgets menu.
- Enjoy your fast, accessible new theme!
- Upload your own “Favicon.jpg” to the Rapid Access theme folder to customize your site’s bookmark icon. (Here are a few ideas.)
- In the “header.php” file update the content in the following lines with info related to your site:
<meta name=”Author” content=”” />
<meta name=”Description” content=”” />
<meta name=”Keywords” content=”” />
Sites Using the Rapid Access Theme
If you have a site running Rapid Access and would like to submit it for inclusion please drop a comment below or use the contact form.
Additional Stylesheets for Rapid Access
If you develop an alternative style for Rapid Access please let me know and, if it’s good enough, I’ll list it here.
I’d love to see hundreds of different CSS based designs for this theme. Also, if you have suggestions for changes to the underlying PHP (including necessary classes or ids) please work with me on those so that I can update the theme for everyone’s benefit.
- Your stylesheet listed here!
The Rapid Access theme is distributed under my new Nice Person License as Postcardware. Please use it, modify it, build commercial Web sites around it, and make the Web a faster, more accessible place. Here is what you could do for me in return:
- If you could either leave the attribution link in the footer in place or link back to any article on One Man’s Blog I sure would appreciate it!
- If you discover ways to improve the speed, accessibility or features of this theme, please let me know.
- Do you have some experience with HTML, CSS, PHP, etc.? Please join our community at HTMLHelp.com and share your knowledge with those in need.
- If not, do something nice for someone you don’t know today.
- Finally, if you really like it, drop me an old fashioned post card in the mail! That would be completely awesome! You can send them to:
PO Box 2591
Frisco, TX 75034
If I get enough of them I’ll put together a post with the really interesting ones.
As always, comments and suggestions are encouraged. My future development and support of this theme will be directly proportional to the amount of enthusiasm it appears to garner from the community.