WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Right, please excuse the stupid question.

On my new blog I want the home page to be the "home" page I've created, and not the list of articles... that's fine, I go to Settings -> Reading -> Front page displays and change Front page to Home.

But now I want /blog/ to list my articles, however I get a 404 :S

I'm a bit stuck on this one, any help would be mucho appreciated.

share|improve this question
up vote 3 down vote accepted

This depends on how the index.php of your theme is coded. If it is a standard blog index page (as it is in 2010), all you need to do is:

  1. create a page named "blog" (or whatever you fancy), no need to add any content or select any template,
  2. in wp-dashboard > Settings > Reading:
    • tick "static front page"
    • select your "home" page as the Front Page
    • select the "blog" page you created as the Posts Page,

again, it depends on the default index.php of your WordPress theme.

It may also help to regenerate the permalinks, go to wp-dashbaord > Settings > Permalinks and click "save changes" (no need to change anything). Watch for any warning messages on updating .htaccess (and update manually if required), then check again.

share|improve this answer

You need to edit "index.php" in your theme directory (wp-content/themes/your-theme/index.php), this will display all of your excerpts etc.

share|improve this answer
Thanks for the reply Luke :-). What do I need to edit? I want to be able to navigate to http://example.com/blog/ and list the articles, what do I have to do to get /blog to link to some code (e.g. the loop) to output some stuff. Thanks :-) – Ben Everard Oct 21 '10 at 9:35
With that in mind, I don't think /blog fires index.php as it 404s, I may be mistaken though :S – Ben Everard Oct 21 '10 at 9:37
You need to create a page in wp-admin called "blog" (without selecting a theme), then head to where you change the Front Page Displays. – traxor Oct 21 '10 at 9:48
Kirsty's is probably better. It's way too early for this. =P – traxor Oct 21 '10 at 9:51

So, you want your homepage to display intro text and then have a seperate page to display blog posts.

Probably the easiest way I would do this is create a category called blog. Add it to the menu (new in WP3) and make sure you have category.php in your theme files to display excerpts of your blog posts.

share|improve this answer
Hello Kirsty! You're right in that I want to have intro text on the home page and the blog posts on a seperate page. I've used the blog category with WP3 menu trick on my motorsport blog, and worked well when I didn't want to use multiple categories... perhaps I can use the category "blog"along side my other categories (e.g. "how-to" etc), then hide the blog category link... it makes sense to me :D, I'll have to give it a go and see if that will work. Thanks :D – Ben Everard Oct 21 '10 at 9:45

The way we do this is to have a page template called template-blog.php and then create a page called "Blog" within the admin area. This way you still get WYSIWYG control over some simple elements like slug etc. Then simply select the template-blog from the drop list under "Template".

Within your template-blog.php place all your loop code etc etc in this file. Now within your admin panel you can select multiple categories and you can use the category.php templates to control how they are displayed.

share|improve this answer
Cheers Shane, I think that's what it's trying to say here --> weeklywp.com/2009/04/make-a-wordpress-blog-page, going to give it a go at lunch :-) – Ben Everard Oct 21 '10 at 10:06
No worries mate. Yeah this is what I meant. – Shane Griffiths Oct 21 '10 at 10:17

This is a little tricky to explain. Go carefully over Settings Reading SubPanel and Creating a Static Front Page in Codex.

Basically when you set static Front page your index of posts gets pushed to nowhere. Then you can optionally create page and assign it to Posts page that will act as blog root previously acted.

On the deeper level such page will follow is_home template path in Template Hierarchy instead of regular is_page.

If I am not missing anything creating page with slug blog and assigning it to Posts page will get you what you want and that page will be controlled by template home.php (if present) or index.php (effectively site root).

share|improve this answer

This is what I did:

  1. Create a php file called blog.php (this is your blog template)
  2. Create a page called "Blog" or "My Blog", whatever you want to call it and assign the blog template to this page.
  3. Add the Blog page to the main menu
  4. Select the Blog page as posts page.
  5. Regenerate permalink.
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.