The Putland Tribune

News, reviews, reflections, rejoinders, releases, retractions, etc.

Problem with ad? Notify webmaster.

Sunday, February 28, 2010:

Wondering where all your blog posts have gone?

Updated March 12, 2010

If you're using Blogger™, you may have noticed that since Feb. 18, the numbers of posts on your main page and archive pages have shrunk. If you're using one of the newer templates (called layouts), you'll see links to “Older Posts” and “Newer Posts”, so that you can still navigate to all the posts. But if you're using an older “classic” template, you get no such courtesy; the hidden posts can be found via “Previous posts” lists (if you have them), but new visitors to your main page or archive pages will have no idea that the hidden posts ever existed.

The explanation is that Google (owner of Blogger) has introduced a new feature [sic] called auto-pagination, which limits the amount of material displayed on your main and archive pages, possibly causing the number of posts on the main page to be smaller than you have specified. As if that weren't rude enough, there are two further traps:

  • If you have implemented a “Read more...” feature in CSS, so that only the first part of each post is displayed on the main or archive page, you get no credit: the entire post is counted for the purpose of limiting the number of posts. That's because using CSS to hide the remainder of a post doesn't stop the full post from being served, but merely stops it from fully displaying in the browser. If you want credit for limiting the portion of a post that displays on the main or archive page, you need to use the newer “jump break” feature. You insert a jump break in a post by typing
    <!-- more -->
    or by clicking the appropriate icon in the New Post Editor.
  • If, like me, you have set up your template to use the main page as a table of contents, showing only the date and title of each post, you get no credit. Auto-pagination assumes that everything above the  <!-- more -->  tag is on the main page — or, if there is no  <!-- more -->  tag, that the entire post is on the main page! Worse, if you edit your template in an attempt to insert a  <!-- more -->  tag after the title in each post, it won't work; you have to edit every affected post!

Workaround for classic templates

The good news: If you're using a classic template, you can effectively opt out of auto-pagination by inserting a  <!-- more -->  tag at the top of each post [not any more; see the update] — or at the top of a sufficient number of sufficiently long posts to ensure that the amount of material above the  <!-- more -->  tags is within limits. To maintain the workaround, you need to insert a  <!-- more -->  tag at the top of each new post from now on. This works because:

  • Auto-pagination not only assumes that all content above the  <!-- more -->  tag is on the main or archive page, but also assumes that only the content above the  <!-- more -->  tag is on the main or archive page; but
  • If you have a classic template, the  <!-- more -->  tag doesn't stop the rest of the post from appearing on the main or archive page [it does now; see the update], but is [no longer] simply ignored (except that if you have “Convert line breaks” enabled, any line breaks around the  <!-- more -->  tag are significant). Obviously this is one way to tell whether you have a classic template [not any more; see the update].

However, to make your blog more future-proof, it might be prudent to insert the  <!-- more -->  tag at a place where you wouldn't mind seeing a “Read more...” link on the main or archive page, because when you are eventually forced to upgrade your classic template to a layout (see below), a “Read more...” link is what you'll get. In particular, if you have implemented a “Read more...” feature in CSS, you might want to put the  <!-- more -->  tag right above the relevant code in each post. [In view of the update, you'll now want to remove any existing “Read more” or “Show/Hide” code. The bottom line is that the recommended workaround for classic templates is now the same as for layouts.]

Because the “prudent” approach leaves some material above the  <!-- more -->  tag, it doesn't guarantee that you'll always be within the auto-pagination limits. But it greatly improves your chances of staying within those limits and avoids taking new risks.

Workaround for layouts

If you have a layout-type template [or a classic template; see the update], a  <!-- more -->  tag in a post will cause a “Read more...” link to appear at that point on the main page or archive page, and the rest of the post will not count for the purpose of auto-pagination. So if you want to increase the number of posts on the main page or archive pages, you insert a  <!-- more -->  tag (i.e. a jump break) at the point in each post where you want the “Read more...” link to appear, and remove any code that you have used to implement the same functionality in CSS.

Workaround for “table-of-contents” main pages

If you don't display the body of any post except on a dedicated post page, and if you are quite sure that you want to keep things that way, then you can do what I did: put the  <!-- more -->  tag at the top of each post in order to maximize the number of post titles permitted on the main page. More precisely, you do this with every new post, and with enough old posts to get back your fully-populated main page. This works for both classic templates and layouts.

Avoid jump breaks in <div>...</div> elements

Don't put a  <!-- more -->  tag (i.e. a jump break) in the middle of a <div>...</div> element within your post, or in the middle of another element with opening and closing tags within your post; this is bad coding practice and has been known to cause glitches.

Now, you didn't have anything better to do than manually re-edit most of your posts, did you?

[Edited Mar. 1, 2010.]

Update (March 12, 2010)

Users of classic templates can't simply opt out of auto-pagination any more, because the  <!-- more -->  tag now works with classic templates as with layouts; on a main or archive page, it generates a “Read more” link and suppresses the rest of the post. I'll take this as a vindication of my “more future-proof” approach.


Email this post: Return to Contents

Previous posts

2009/10/24 ‘Free’ trade isn't
2009/09/05 Payroll taxes levied by Australian States are probably unconstitutional
2009/08/19 Rates on Site Values don't punish home builders
2009/08/16 Wake up, Australia: Stamp duties on new cars are illegal
2009/08/15 Democracy as we know it makes cronyism inevitable
2009/06/25 Making the tax system comply with s.82 of the Constitution
2008/05/19 But why have taxes at all, dear Henry?

Problem with ad? Notify webmaster.