Make Your WordPress Blog Appear in a Non-Root Folder

The Aldosoft site is a mostly static content site, with a few pages describing who we are and what we do. When I started working on the redesign for the site, one of the main things I wanted to add was a blog for, well, articles like this one.

It’s pretty easy to use WordPress to build an entirely static content site, based on Pages. This is what the old Aldosoft site did. The setting for changing the Home page from a list of Posts to a static Page is easy to find, and obvious in use.

Putting a blog onto the site, “pushed off” the home page to a section at the same level as other pages of the site, is not so obvious. There’s a number of different settings which seem relevant, but how they all fit together is not clear. The documentation in the WordPress Codex (from which the title of this post is taken) is not written with the latest version of WordPress in mind, and makes it seem more complicated than it actually is.

Various Google searches turned up more semi-obsolete, incomplete, or just plain wrong answers. (Any article that says you need to add new files to your theme is outdated, at least for WordPress 2.8+ installations.) This article documents the simplest approach required to build a site like this one, a basic mostly-static WordPress site, where the blog is not the focus of the home page, but pushed down to the same secondary level as all the other pages.

You need to do three simple things:

  1. Create a new page (not post), with no content (the page content will be replaced by your blog posts, once you finish step #2). This should be named whatever you want to call the blog section; here it’s just “Blog”. The page slug should be what you want to use for the URL to your blog; in my case it’s “blog”. (Told you this would be simple.)

  2. Set the front page to “static” mode, and activate displaying your posts (your blog) on the new page. Settings > Reading > Front page displays:

    WordPress Settings > Reading > Front Page

    You are setting the “Front page” (or root of your site) to be the static page that will be the home page, and the “Posts page” to be the page you created in step #1.

  3. Change your permalink structure, and use the Custom permalink structure to add your blog’s slug to the permalinks.

    WordPress Settings > Permalinks

    This is optional if your preferred URLs don’t need to have posts appear “under” the main blog listing page. It will work either way.

There additional steps you will want to take if your theme does not automatically recognize the new Blog page, if you want to add links to your blog archives, etc. But those are steps you would need to take for any WordPress site, not specific to hosting your site’s blog at the secondary level.