How to Organize Your WordPress Blog Using Pages

Posted by jtpratt |18 Mar 08 | 25 comments

This is installment #1 of the series “Managing WordPress More Effectively“. I will show you how to wring every last drop out of your content so you can get the most out of your web site (and your time) each and every day..

*UPDATED* I’ve added a new section at the end that I originally forgot when I posted this article that explains a few page specific features you have in your dashboard before publishing.

The overwhelming majority of people “blogging” online are using “WordPress” for their self-hosted blogs and web sites. Most bloggers learn by watching what other bloggers do (I know I have). If you see some cool nested comments, or an “entrecard”, or most viewed comments or posts, or a neat way to layout your footer, maybe allowing people to subscribe via email to your rss feed – chances are if you see another blogger doing something cool, you’ll try and figure out how to do that on your blog.

What you can’t learn from looking at the layout of a page or it’s widgets is how to effectively manage your content. Today I’m going to teach you the difference between a “Page” and a “Post”. You may think you already know, but judging from the blogs I’ve been reading 98% of your are “posting” everything and not creating any “pages” at all.

We use WordPress to “blog“. A blog is a “web log” or an online journal. A journal is something you make (nearly) daily entries making observations of your experiences and life. You may not know it, but there are many differences between a blog and a normal web site. What’s a normal web site?

How a Static Web Sites Works

Take a look at this “Web Site Hierarchy“:

web site hierarchy image

I’ve been creating web sites now for more than 13 years. I’ve been blogging and using blogging software since 2001. The six years prior to that I had created static and dynamic web sites. Some for personal use, some for business, and some for e-commerce. The thing they all had in common was the “hierarchy” or the structure. The ‘hierarchy’ mimics the navigation paths that a visitor can follow. They start at a particular page (usually the home page) and visit certain “sections”. Usually you would think of the “home” page as the parent, and the “sub-parent” pages were high level category index pages. In this example after the home page the 4 “sub-parent” pages are login, profile, contact, and products. Going deeper in the hierarchy those pages would have child pages.

Because of the nature of a “static” web site, usually for different sub-indexes we (webmasters) would create separate sub-folders for each. In the case of the example above, there probably would have been separate “/login”, “/profile”, “/contact”, and “/products” physical folders on the server containing one index.html file for each section, and sub-pages and graphics. This type of setup meant that each page had a separate indexable URL the search crawler could find. The basic list of URL’s for this web site looked something like this:

Web Sites build on blogging platforms run on a different “paradigm”…

How a “Blog” web site Works

The first difference between a blog and a static web site is the blog stores all of it’s information, posts, and pages in a database. Unless your storing images, media, or documents within your web site – there are no folders to speak of. Within “WordPress” all the information (and how to serve it to visitor’s in a browser) is physically stored in the WordPress mySQL database backend. You don’t have to know anything about how this happens – you can just go happily on believing that it’s ‘computer magic’. What you need to know is that you can make your blog more like a static web site in many ways – and organizing your data will help both you and your readers. The most horrible thing about a blog is the fact that all the content is buried somewhere and findable only through search, tag, and content pages.

This is a graphic of WordPress blogging heirarchy:

wordpress heirarchy example

In a blog, as you see in that example everything revolves around a “post” by default. On the “home” page you see a running log of the last 10 posts you’ve written. By clicking on any of them the “single post” page shows that entire post – and then it’s comments (if it has any). Users can subscribe to the RSS feed and read the posts in a feed reader, and by clicking on any of them they are brought back to the “single post” page. All posts can be accessed through “archive” pages. The blog “sidebar” may list arhive pages any number of ways, and archive pages for daily, monthly, and yearly archive pages can be viewed – listing the appropriate “posts” (10 per page). You can also “tag” pages as a way or organizing them. If you tag 6 pages “product x”, then when you view the “product x tag page” those 6 “posts” will show. You can also assign posts to “categories” which are listed in the sidebar. Assigning posts to categories is another methods of categorization, and each individual category page lists the “posts” assigned to it.

So, I went to the trouble of explaining all this to illustrate how blogging completely revolves around “posts”. And yet, in WordPress you have the ability to create a “page”. By default every WordPress blog has an “about page” created for them (but that’s it). The majority of blogs usually have both an about and a contact page at bare minimum. Beyond that – I very rarely see anyone use the “page” function as it was intended.

Using WordPress pages for Better Organization

To me the difference between a post and a page is that a post is transient information. It’s uselful today – it may or may not be tomorrow. One post could be how to lose 10 lbs in a week, and the next might be what you had for lunch. Clearly one has more value than the other. Over the course of time you might write many posts in a similar theme or topic that hold more value collectively than alone.

Using WordPress “pages” to Organize a Series or a Theme:
Like everyone else I have a contact and about page in my WordPress blog. But drawing on my web design experience before blogging I’ve always been frustrated that all my articles are just a bunch of posts. My first stab at organizing this content was to create a “featured” block on the homepage pointing to my most useful writings. In addition, I created wordpress category templates for each category so I could have original content on each category page. And yet, that was still not enough for me because I still feel a lack of structure.

As in the blog heirarchy above, there is nothing attached to a “page” and by default it’s blank. There are no posts or anything listed, you are free to create and write anything you want. In addition, your “page” will be listed in your sidebar as well under the page heading. The first page I decided to make was a “theme page”, with a lot of information I felt that would be used over and over again. The content wasn’t well suited for a post, it was a bit more permanent than that. I ended up creating my Keyword Research Cheat Sheet as my first “page”. You can find it in my sidebar now, and it has lots of links and descriptions of ways to do keyword research – this is a great “resource page”. You’ll also find a link building cheat sheet there, as well as a page listing all of the WordPress plugins that I use. These are all examples of pages that revolve around a theme or a topic. WordPress pages are “nestable”, and in the future if I create more “cheat sheets” I’ll probably create a master Cheat Sheet Home page as the parent, and make the rest children or sub-pages attached to it.

I want you to take a look at the link in my sidebar under pages entitled Article Series. I have started to organize my important posts into different “series”. I created a Article Series Home which which lists all the series I currently have available. By clicking on each heading, you’ll see that each individual articles series has it’s own index page as well – like this one.

For that example you will also see that the “series home” is the parent and “individual series” is a sub-section or child page. You can see that in the URL as well as the “breadcrumbs” at the top of the page.

I’ve done several things here:

  • Article Series Home has “original content” describing each individual series page
  • Each individual series page has “original content” describing each post of the series
  • The links on each series page lead back to “posts” (one for each installment in the series)

This may seem like a lot of trouble, but it’s not that bad. Think like you’re organizing a book, and you have to create the front cover, the index, and then the individual chapters. You should be very excited about using pages in this way from an SEO perspective, will all these opportunities to write original content laden with keywords, and all these different pages that you could place ads on if you wanted to monetize them further. You could also manually place “recommended articles” within these pages to point people to other popular content that you have. The very powerful “pages” feature of WordPress allows you to organize your site any way you wish, permanently highlighting, featuring, and organizing your most important content. You can very easily change your sidebar code to remove any pages you don’t want listed, or to always show “sub-pages”. Pages are also perfect for creating “landing pages” for different marketing campaigns. Create a page to direct your entrecard (or other blog network) default to. Promote different landing pages in your forum signatures or blog comments. The possibilities are endless.

*Update*: I should have originally mentioned a few page specific things when I wrote this article.

worpress page options When you create a “page” instead of a “post” before you publish it, you have some options in the right hand side of your dashboard. For this example, the graphic to the right represents the options I had when editing one of my “article index” pages. All of the option headers have a “plus” or “minus” which you can click to expand it when you are editing. Your first option is “discussion” where you can choose to turn commenting on or off for your page. It also controls whether or not people can “ping” you back or use “trackbacks”. The next one is for page status, which of course you can use to switch a page from draft to public, or to private. The third option I think is very underutilized, it’s the “page password” option. Did you know you had this ability? It would be very easy to create a quick Christmas or birthday wish list and password protect it, and send to your friends and family. Another useful technique would be to create your own “notes” page. Add everything to that page you are thinking of writing about (all your post ideas), password protect it, and only you have access. Put links to all your affiliate programs, create lists of “to-do’s”, you name it. I wonder how long it will be now before a bunch of you have your own “” page!

The next option is “page parent”, which of course you use to organize content with one index page for a group of sub-pages. What you probably didn’t know was that you could create your own “wordpress page template“. You can do this with any page (like an archive page), but what I did was to just take the “page.php” for my theme and “saved as” a new name like “article-index.php”. To be able to use this new page in my dashboard while editing, all you have to do is add just a little bit of code to the very beginning of the file (before the get_header function) like this:

Just change “ArticleIndex” to whatever you want your template to be called. Now you can edit this template and use it for specific landing pages, or to put certain ads on sections, the possibilities are endless. The “page slug” option is pretty apparent, but keep in mind that what you name the title of the page, doesn’t have to end up being the URL. For instance on my Article Series index page the title of the page is “Article Series”, but the URL is because I changed the slug before I published the page. The “slug” is what becomes the URL. If you have parent pages, then come first which is why the index page for this series is “Page Author” can be changed, but that’s only useful if you have multiple blog author’s. And last, “Page Order” is never used unless you’re manually changing the order of your pages, in which case you have to change your sidebar code for wp_list_pages.

I hope that you begin to use WordPress pages to organize your site. In the future in another installment I’ll show you a myriad of options for listing pages in your sidebar. If you have questions, or something to add about how you use “pages” in your WordPress blog, please comment now!

25 Responses

  • nate/ 20 Mar 08 @ 5:51 AM

    Excellent post. I will definetely be following along. also wanted to let you know that in hindsite(i know I’m far from spelling that right) you were right.

    nate’s last blog post..Don’t Be Over-Critical

  • Maria Ozawa/ 21 Mar 08 @ 2:34 AM

    That is a very comprehensive and graphic explanation of blogs. Congrats for a nice post!

  • Timmo/ 21 Mar 08 @ 9:34 AM

    Interesting. I was wondering how to take my posts out of the “post”hierarchy in an effective way. I like your “article series” concept and will probably use it.

    By the way, this page came third on a google search for “wordpress organize content”.

  • admin/ 21 Mar 08 @ 3:13 PM

    Thanks Nate! for the comments, and for stopping by….

  • Matthew E/ 26 Mar 08 @ 5:11 PM

    Thanks for the information! It was extremely helpful! I’ll try to use it to organize my blog. As you can see its a mess!

  • Charles/ 13 Apr 08 @ 1:53 PM

    OK…second comment on your site in one day. That’s a lot for me.

    This is another great article. More people need to follow this advice on blogs. It helps the end user get around which, most blogs suck at!

    However….there is one thing I’m having problems with.
    I want the child pages to show only when on the parent page for those child pages.
    I have it on this static html site
    Just click on the nav bar for acupuncture or cosmetic and you will see that when you are on the parent page (or child page of that parent page) you get the sub-pages. I’ve not been able to find working code for this–tried the codex and searched up the bumm for it.

    I’ve seen plugins and they seem somewhat complicated. I believe there should be an easy code for this.
    another example is
    SEO Fast start.
    He also advises similar site structure but gives no clue how to do it in wordpress but his site does it. If you checkout the links on the left you’ll see that they give subpages when on them.

    This helps spead the link juice, but I’m new to WordPress and cannot figure out how to get this to work in my template by using staight code….

    Any ideas?

    Charles’s last blog post..Kompozer Plugins

  • admin/ 13 Apr 08 @ 10:47 PM

    The code you were looking for is on the wp_list_pages page of the WordPress Codex.

    Specifically you want the code to list or not list sub-pages. Now, by including this code in your sidebar what you’ll end up with is the exact same thing on every page of your blog. In other words, if you show sub-pages they will show on every page of your site. I think what you’re looking for is some code that would distinguish whether or not the visitor is on the home page.

    To get this you need what they call a Conditional Tag, specifically I would use “is_home”. I would then write something in PHP for your sidebar that says if “is_home” then don’t show subpages, and if not “is_home” then show sub-pages. This is not a perfect solution, but a fix for most situations.

  • Charles/ 15 Apr 08 @ 9:00 AM

    Thanks JT,
    I looked into that code and tried several tutorials that I found, but nothing worked like I wanted it to. I guess I’ll need to study up on the php for it down the road. Just don’t have that much time right now with 4 new sites in WordPress and clueless! =|8

    It’s like you said, a fix but not perfect and as anal retentive as I am I guess I couldn’t let it go.

    My solution. . .
    SPS-Suite WordPress plugin.

    It does what I want. Lists only child pages of the current parent page you are on. I’m using that with a modified “Folding Category List” plugin that does the same for categories however, there are a couple buggy things with this plugin but it will suffice for now.

    I’m actually somewhat surprised that these aren’t out of the box options for wordpress but hey, what do I know.

    Anyway, I’ve got the sites setup the way I want so I can begin to add content and optimize them from the start. . . thanks to sites like yours! Especially solving the duplicate content for categories and tags!!! Obvious to those who know but if I hadn’t seen it on your site probably never would have thought about it….much appreciated!

  • Charles/ 16 Apr 08 @ 12:30 PM

    Ok JT I have another question =)]

    I have been structuring the sites I’m working on to use pages. This is perfect since most of my sites really need to seem more static however, one thing I still haven’t found…

    I use a blog page for the blog instead of the home page, thus in admin I select the page I want for home and my . . .com/blog/ as my blog.

    This works great but it would be even better to add some unique content to this page as well.

    What I did was make the single.php into a template “blog” and selected that for the blog page but content doesn’t show.
    I can type anything anywhere and nothing shows.

    For the categories and tags I put the content right after the get header call. That doesn’t work here.

    Any ideas?

    Or is it the case that wordpress will not allow such a thing once you select the blog page option in admin?


    Charles’s last blog post..Kompozer Plugins

  • admin/ 17 Apr 08 @ 12:54 PM

    If I understand what you are saying, you need to edit your “index.php” file or Main index and add the content you want before “the loop”. That’s how I display my graphic “feature block” above the posts on my home page.

  • Sebastien/ 05 Jul 08 @ 7:56 PM

    hi, i’m really new to all this, do you think you could do a little video that show the steps to do it cause I try but nothing is working. And I don’t understant after I create the page with the template, what I do after that???? I can’t post more post on the same page???


  • Sebastien/ 07 Jul 08 @ 4:49 AM

    Is it possible to have a little help please??



  • admin/ 07 Jul 08 @ 4:19 PM

    @Sebastien – I understand what your problem is, but I’m not sure if you will understand my explanation or not. You’ve created a page based on a template, and then you don’t understand why or how posts will show up on that page. The answer to your question is you have to manually type and add the posts and excerpts to the page yourself, it’s not automated at all (unfortunately).

  • Sebastien Rivest/ 07 Jul 08 @ 5:11 PM

    Euh, It’s true, I don’t understand, but do you think it could be possible to do a little video of the step by step guide for newbees and than after we could do what we have to do



  • admin/ 07 Jul 08 @ 5:15 PM

    I don’t currently make videos for my tutorials – but that’s a great request. I’ll see what I can do.

  • Sebastien Rivest/ 07 Jul 08 @ 5:38 PM

    tks in advance for your help sir…
    I’m probably not the only one in this situation, and I guess it’s much faster to do video than text, well I think.


  • Lana/ 22 Jul 08 @ 1:35 PM

    Hi. I’ve set up a site using pages. I created a page called Home, and set that page as the Front page (in the Reading options). All the pages share the same left and right sidebars (l_sidebar.php and r_sidebar.php).

    Now I want to add a blog. I created a page called Blog for the posts, and selected it in Reading options.

    What I’d like to have is a different right sidebar (possibly a different left one too) for the blog pages (and that can use Widgets). What is the easiest way to do this? I’d appreciate any help or a point in the right direction. =

    I’m using the 3-column Revolution Blog theme.

  • admin/ 22 Jul 08 @ 7:54 PM

    @Lana – In answer to your question, I’ve created a new post Templates for Alternate Sidebar Layouts. Enjoy! =)~

  • Lana/ 22 Jul 08 @ 10:31 PM

    Thank you! I’ll give it a shot and see if I understand everything.

  • Mike/ 12 Aug 08 @ 6:09 PM


    Thanks JT! Just found your site today, but it looks frickin’ great! I’m fairly new to all this, just converting my website over to wordpress, and really happy over all the flexibility I’ll have. (Becoming a widget collector really quickly here.)

    I get the importance of organization here, and using pages in addition to posts (actually, was doing that and that’s how I found you in the first place.) Is there an easy way to make child pages only show up in the sidebar when the parent page is loaded? (ie, only conditionally excluded?) Probably a widget on that somewhere, right?….

    Anyway, thanks for all the great info here, I’ll be digging in more tonight!


  • admin/ 13 Aug 08 @ 7:53 AM

    @Mike – you can make any pages you want show in the sidebar, or I should say, you can “exclude” any you don’t want to display. You can do that either in code or with a widget I believe… =;;

  • IMetRichHill/ 31 May 09 @ 1:03 AM

    John, This is all so well laid out that anyone can follow it, major kudos. When we install WordPress so easily and start blogging away we do not even think about the rudimentary practices that got us to where we are today. It is a good thing to go back and think like a static website designer and take advantage of prinicles such as these.

  • Harry Potter Costume/ 14 Aug 09 @ 11:08 AM

    Great explanation of how to make WordPress more useful. I will be following along for more advice and tips to help make my blog more functional. Thanks
    .-= Harry Potter Costume´s last blog ..Do Follow Blog, Keyword Luv & Comment Luv =-.

  • Danette/ 30 Apr 10 @ 11:00 AM

    I am new to blogging and trying to figure out all the features and the best way to organize everything. This post on pages was extremely helpful and gives me a lot to start thinking about with regards to my blog. I will definitely peruse your site to see what other valuable information I can learn. Thanks!

You must be logged in to post a comment.