Web Site Tools
Tuesday, June 26th, 2007
at 9:16am
Previously, I briefly illustrated how using a home.php file can allow you to build a custom layout to your WordPress blog’s home page. However, I didn’t really document it well enough for the casual WP user to implement by himself. For the unknowing of my readers, here is a guide to using my (really Rudd-O’s) discovery on your site.
If you already understand the concepts behind this, skip to the download link.
Let’s take a look at Rudd-O’s code again. Try to figure out what it’s doing:
1: <?php $homepage = get_settings('siteurl')."/home/";
2: global $wp;
3: $wp_received_argument = false;
4: foreach ($wp->query_vars as $k=>$v) if ($v) $wp_received_argument = true;
5: if ($wp_received_argument) require(TEMPLATEPATH . "/index.php");
6: else { wp_redirect($homepage);
7: exit(); } ?>
Line 1 gets the address of the blog and adds what we would use to access a static page with a slug of ‘home’.
Line 2 brings in the $wp object, which allows us to figure out if there are any parameters in the URL that we need to work with.
Line 3 sets a simple boolean value of ‘false’ to a variable that we will use to determine if we have recieved any parameters.
Line 4 looks at the $wp object and asks it if there are any parameters. If it finds any, then we set $wp_received_argument to ‘true’, and we will use that in the next line.
Line 5 is where the magic happens. If we have parameters, like the page number variable, then we will load the regular index.php template which will show you the normal blog page. Otherwise, we will continue to line 6 and 7.
Line 6 will run if we don’t have any parameters, which means that we want to show our special home page. We will send a redirect to the browser telling it to go to our static page. Then we quit running this page, since there is nothing more to do anyway.
This is a relatively simple concept. Rudd-O mentioned in his original article that one should add a link to /[wp-root]/page/1 somewhere, like in the header along with the page links for example. What that will do is give WordPress the parameters we need to have the blog listing shown. If you need help adding this link, leave a comment below.
Here’s the fun part. My hacks to Rudd-O’s code will replace the redirection of the original code. All HTML and PHP content is placed within home.php. Now that we are including our content in a straight-out PHP file, and not going back to the database to retrieve a page (via the WP Loop), you can even add a real mini-loop to your front page! You can do whatever layout you want with home.php now. (See my home page, which has the mini-loop, a list of categories, and my Flickr photostream, for an example).
Now that we understand what Rudd-O’s code accomplishes, it’s up to you to use your imagination. Until recently, my email that came upon request included some basic instructions, which read something like this:
Attached is a well-commented version of home.php. Use it to set up your custom layout, but don’t upload it yet.
In order for this to look and function properly on your site, you will need to adapt it to your theme. You will have to make the portion of home.php before my table-based layout look like the code in index.php from the top of the file to just before the loop, and from just past the loop until the end of the template. Remember to close the else statement with a right curly bracket.
Also, you will need to add the /page/1 (or ?paged=1 if you aren’t using pretty permalinks) link to the page list in header.php, which should include code to dynamically change the highlighting of the Home and Blog links.
For those basically familiar with PHP, HTML and some of the simpler CSS concepts, adapting the sample home.php file I am providing should be somewhat easy. If you don’t have such keen skills, you can review the W3Schools’ tutorials on HTML and PHP for a bit of help. (Sorry folks, these days I can’t handle doing the editing for everyone, although I wish I could.)
If you are convinced that you want a home page with a custom layout for your WordPress blog, I have provided an older version of my layout, plus all of the associated logic basedon Rudd-O’s code. As noted above, you will have and want to do lots of tweaking with it to make it look good, so grab the download below, and hack away.
Download sample home.php layout »
Saturday, February 24th, 2007
at 10:09pm
Trackbacks are one of those blogging features that some beginners just don’t get (I was there – trackbacks have only made sense to me recently). The truth is that they are very simple to understand.

Think of trackbacks as comments that are posted by your blogging tool, rather than your own self-determination. To use a rather crude comparison, they are similar to video responses on YouTube. Someone makes a video. You think that you can add to that video. you make a video, and it shows up under the existing video.
Same concept with trackbacks. You find a blog post on someone’s blog that you think is interesting. You write about it on your blog, and leave a trackback in the process. The whole nine yards:
- You read a blog post, and you like it.
- You write a post on your blog about it. This could possibly be an “Aside” post.
- While posting, you paste the address of the post you are commenting on in a special field on your post editing screen. With WordPress-powered blogs, the trackback address of posts will be the post address, followed by “trackback/” (ex. http://www.mysite.com/blog/2007/01/02/my-first-post/trackback/).
- Upon the publishing of your post from your blog, their blog is notified by your blog, and a link to your new blog post is made on their blog.
To make this all fair, you should remember to include a link to their post in your post if your post is not specifically about their post, in which case you may not remember to leave a link. That way, the network between you and them is built, and you two have formed a “micro-relationship” of sorts.
You should also leave comments on blogs regularly, but that’s another topic. Following these tips will help you build your blogging future, giving your blog increased exposure. But remember the main rule for any Web site: Content is king.
Wednesday, February 21st, 2007
at 9:41pm
Lorelle raised a blogging challenge for this week. She wants to know what search keywords (when used on Google) bring your site up to the top of the list.
Your blog challenge this week is to research what word or phrase makes your blog number one in Google search results.
It’s an interesting challenge, one that will demand a lot from many bloggers. Fortunately, I know that I have a set of keywords that bring Educated to the number one position:
ultimate static front page
Give it a shot, and report back on either mine or Lorelle’s blog. Good luck!
Monday, February 12th, 2007
at 9:46pm
A few days ago, I gained interest in Gravatar, which I had come across before in my early blogging career. At first I didn’t really understand what it was all about, and to this day, some of its features are still unclear to me. I understood the basic concept – showing a single avatar next to your comments on any site set up to display Gravatar avatars (the name explains it: Globally Recognized Avatars.
So anyway, back to my original topic. For some time, Gravatar was closed. They recently re-opened up their service on a public basis. Of course, I registered. But after trying to upload my favorite avatar (featuring a picture of the front of an Orion VII Hybrid bus), I got a very generic looking error from the site saying that something went wrond, and that it has been logged for further investigation.
Sounds like beta to me!
While on the topic, I have recently put Educated into beta. I think it’s the way to go, because I don’t need to worry if my site suddenly fails, do I? (I am pretty confident it won’t go downhill anytime soon – ComputingHost is doing a very nice job so far).
Sunday, February 11th, 2007
at 8:47pm
Recently, I’ve been observing a new form of spam on my blog. It is coming in the form of vague registrations, with email addresses including Russian domains and strange user IDs. For now, it’s not too bad, so I won’t take serious action. If things do heat up, I’ll look into ways to effectively block spammers from clogging up my users table.
Sunday, February 11th, 2007
at 8:43pm
My experimenting with my site(s) has brought thousands of changes to it (them). I’ve played with templates and themes, modules, and hundreds of other features and tweaks. But there is one thing I’ve learned (not the hard way, yet): Leave URLs alone. Search engines need URLs to work with your site. If they all suddenly change, they may be looking at nothing, or your site will get lost forever.
It’s very tempting to all of a sudden change your permalink structure, or suddenly switch to them. Unless you have absolutely no choice in the matter, either take ‘em or leave ‘em at the beginning. One change in the middle will disturb the SEO status’s equilibrium (that a new one), with potentially lethal effects on the site’s ranking. Jonathan agrees with me.
I haven’t documented this, but it may be something that you would want to keep in mind. Some things are better off “like old times,” and left undisturbed. Perhaps I will report on this again in the future and see if my theory has proven itself.
Sunday, February 4th, 2007
at 5:02pm
After looking through my stats in Google Analytics lately, I noticed a trend in my search engine referrals. Ever since my post about my experience with the Math A Regents, I received dozens of hits from Google and other search engines. In addition, various other posts (including my mention of the Windows XP Royale theme) have brought me reliable traffic, which indicates that they are what people are looking for.
Rule numero uno: Make lots of good content. People (and search engines) look for pages that have something useful to say and that say it well. If possible, use spell checking (or copy and paste the text into another app and spell-check it there) before publishing you articles. Google Hacks says that with the advent of spell checking from search engines, spelling is as important to your content as water is to you (I like that metaphor).
Another trick I’ve discovered is to write in a timely fashion. Timing is a key factor in getting traffic. If you write about skiing and snowboarding, late fall and winter is probably the best time. Similarly, the optimal timeframe for content on roller coasters or surfing is late spring and summer. For example, if I would have written about the Math A Regents exam in August, I don’t think I would have as many hits (also, people were using “January 2007″ in their search phrases, which brought them to the archive page of that timeframe, but this is a side effect). If you want to write about a particular topic, take a few moments and think about whether it’s relevant at that time. If the answer is yes, pour out your thoughts, otherwise, write it down and save it for later (just don’t forget about it).
Finally, I suggest using SEF-friendly URLs or pretty permalinks (or whatever they are called in your respective CMS), or paying attention to your URLs if you hand code your site. Although I don’t seem to notice any effect from using this tip, I am guessing that it helps a little bit. At the very least, it makes your URLs look nice to your visitors.
Wednesday, January 24th, 2007
at 10:07pm
9rules member Coputerjoe is trying to figure out what Web 2.0 really translates into. Many say that a Web 2.0 site is one that incorporates AJAX, but the best way to define it probably is one that sticks out from the crowd.