[How To]: Long Homepages and Partial Feeds Suck
One of the very few things about Wordpress that I’ve never liked is that there is no built in option to show only excerpts of your posts on your homepage while still offering a full-text RSS feed… Or so I thought.
When configuring your Wordpress blog, the Options panel (http://example.com/wp-admin/options-reading.php) gives you the choice of the number of posts to show per page, the number of posts to syndicate in your feed and whether you want to provide full or partial feeds. However, notice this line next to the feed settings…
Note: If you use the <!–more–> feature, it will cut off posts in RSS feeds.
So, essentially, the only options to shorten the amount of text that displays on your homepage are to either limit the number of posts you display on your homepage or to use the <!–more–> quick tag.
The problem with the <!–more–> tag is that you cannot offer full-text feeds when you use this method to shorten the amount of text. Some readers wont subscribe to your RSS feed if you do not offer a full-text feed. These days, the more RSS readers you have, the better.
The problem with limiting the number of posts displayed is that it also effects your archive pages. Archive pages don’t show the full text of the post in the listings. So, if you set your homepage to only show the 3 most recent posts, you end up with archive pages that have 3 excerpts and a lot of white space.
It was when I made this realization that Jeff Foxworthy’s voice echoed in the back of my head, “Here’s your sign!”.
Wordpress doesn’t give you a simple radio button option to show only excerpts of your most recent posts on your homepage, but it does have the functionality. If you look in your Main Index template for where your posts are output (the loop), you’ll see that the function that outputs the actual post content is the the_content() function. This function outputs then entirety of your post content unless the <!–more–> quick tag is used to truncate the text.
On archive pages, the loop looks very similar, however, there is one not so obvious difference. Instead of archive pages using the_content() for the loop, they use the_excerpt(). It was at this point that I had a Homer moment… D’OH!!!
the_excerpt() truncates the text of your post to the first 55 words. This is exactly what you want to use if you only want to present a short excerpt of your most recent posts on your homepage while still offering a full-text RSS feed.
The Fix!
The fix is extremely simple. Just go into your Presentation Tab > Theme Editor > Main Index Template (index.php). Scroll down until you see the_content(). Put your curser after between the t and (. Hit backspace seven times. Then, type “excerpt” (without the quotes). Then, just click the “Update File” button and you’re done. From then on, your posts will automatically be truncated to the first 55 words on your homepage, but will still show in full-text in your RSS feed.
Why is it so important to only show an excerpt on your homepage?
Keep your page load times down. Imagine if I displayed the 10 most recent posts, in full text on the homepage of this site. Especially after writing posts like this one. Can you imagine how long my homepage would be? How long do you think that would take to load on a dial-up or slow broadband connection? Sure, people with ultra-high-speed ISP connections probably wouldn’t mind, but what about those who cannot get ultra-fast service? Keeping page load times down is still important. If you don’t, you’re alienating potential contributors to your site.
You’ve got 15 seconds to direct users to where you want them to go. If it takes a visitor more than 15 seconds to see your homepage and your most recent content, you’ve probably lost them. Your homepage is your appetizer, it’s not suppose to be then entire main course. Throwing full content up on your homepage is like shoving a steak down the throat of someone who asked for an Hors D’Oeuvre. Don’t overwhelm your users with information. Make it easy for them to find what they are interested in. Your visitors will appreciate this and will reward you with repeat visits.
A Side Note
Yes, I’m now using this method on my blogs and I have now switched this blog over to providing full-text RSS feeds. Be sure to subscribe to my RSS feed so you wont miss out on more handy little tutorials.
You have read my two cents. Now have your say!
Do you find long homepages annoying?
Do you prefer to see excerpts of the most recent posts on a blog’s homepage?
A good plugin to make the excerpt more customisable is:
http://robsnotebook.com/the-excerpt-reloaded
Better formatting and length options, plus a few extras!
Interesting. I’ll have to try it out. Thanks for the tip!
On the Write Post page at the bottom there is the Optional Excerpt text box. I just copy and paste the first paragraph of the post into it. I select full feed on the Options page. I created the theme I’m using and put the_excerpt everywhere except for the single.php page. The one draw back is that it does not make a “read more” prompt, so I had to code that as well:
“>CONTINUE READING ==>
This gives me full feeds and excerpts everywhere except for the single post page. Seemed the only way to do it. Hmmm… maybe I should do a post about this as well.
I haven’t seen the-excerpt-reloaded plugin, I’ll check it out to see what it can do.
Personally, if I see a feed that is excerpts I unsubscribe, don’t care how good it is.
Dam! the code got scrambled, here’s another try:
<div class=”readmore”><a href=”<?php the_permalink(); ?>”>CONTINUE READING ==></a></div>
…to get back to what you acually asked us to comment on:
Yes, I’d far rather see several excerpts on a homepage. I don’t necessarily have any immediate interest in the latest posting on a blog I don’t visit regularly, and if I have to hunt for a likely category and open that before I even know if there will be anything I want to read AT THIS MOMENT, I may well not bother.
PS. And I’d expect to be able to see the whole post in a feed.
@chabrenas,
You echoed what I’ve heard a lot of people say. That’s why I’m an advocate for clean, intuitive navigation on any site. Blogs are not exempt. Visitors just want to find what they are looking for and get on with it.
As far as the questions I asked go… Those are just conversation starters. You’re not required to adhere to those questions in your comments. I try to be very relaxed with this blog. This site is where I have fun and meet new people.
@Colin King,
I’m seriously considering whether I want to start doing WP themes. I use to be a regular XOOPS theme designer, but after leaving that community, I stopped designing for specific systems. I may get back into it for Wordpress though. There’s several little enhancements I’d like to implement if I do.
I won’t unsubscribe from a blog if they don’t have full-text feeds, but I have to admit that I do prefer full feeds. I’m quickly approaching 100 sites in my reader and it’s very time consuming to keep up with things when I have to visit individual sites.
Great. I’ll try this out, I was looking for something in the options too but still wanted to do full feeds. This should help keep things neat. Thanks.
It really bums me out to read RSS feeds that are only partial, or in some cases, TITLES ONLY…so thanks for a good blog post.
I definitely prefer a full RSS feed. I’d go so far as to say I really dislike partial feeds. However, I do not necessarily unsubscribe from feeds because they’re partial feeds. A lot depends on the quality of the information the blog provides.
Of course, I tend to put a lot of stuff on my frontpage as well, and I know some people do not like that…
I think RSS feeds are good for news sites and portals. Many have used RSS Feeds as content and it kinds of lower the PR of the website as it lacks uniqueness.
I like the excerpts on a home page than the entire post. The only exception to something like that is if I am creating a blog to target something specific and I want all the content from the posts to add up to one really long page of content on the homepage for the Serps. But if I do that, the content is usually not soo long that it takes too much time to load, and i try to use a lightweight theme.
Mike
I’m ok with that, it’s far from beeing stupid, good article!
Very Nice information!