How to Create a Separate Blog Section on Your WordPress Site

As many people these days use WordPress as a good old-fashioned “website” platform FIRST, and a blogging platform second, they often don’t want their blog posts showing up on their homepage. Instead, they want a blog section off the homepage that they can easily link to.

Luckily, achieving this in WordPress is a lot simpler than it used to be. We’ll run through the 3 easy steps below.

Step 1 – Create a New Page

The first thing you’ll want to do is to create a new Page (not a Post). This Page will be blank. You’ll need to give it a title and that’s all. Perhaps you’ll want to give it the title “Blog.” (Pages > Add New)

create-page-700x377

If you do not already have a static front page (i.e. a homepage that does NOT have your latest blog posts running down the middle of it), then you will want to create a second Page (perhaps called “Homepage”). What you put in this Page will show up on your homepage.

(Note: Some themes will already have something other than blog posts on the homepage, and so this step *may* be unnecessary for you. It will depend on your theme.)

Step 2 – Set New Location for Blog Posts

The next step is to direct your blog posts to show up in your newly created blog post section (i.e. the “Blog” Page you created).

If you are creating a static front page (e.g. “Homepage”), then you can set that in this step too.

Go to Settings > Reading.

Select the “static page” settings, and then choose your “Homepage” Page for the “Front page” of your site (if you need it). Then select your “Blog” Page for your “Posts page.”

Remember to save your changes.

static-page-700x406


Step 3 – Create a Menu Link for Your Blog Section

Lastly, you’ll want to create a menu item for your new blog section. Go to Appearance > Menus, and create a menu item to your newly create “Blog” page.

menu-700x340

And that’s it. Turning a blogging-first platform into a “website” is a snap with WordPress.

Photo credit: sara biljana

Tags

Comments (17)

  1. That looks nice and simple. How would this look in a Multisite installation?

    Basically, I currently have WP installed in a folder: http://www.mydomain.com/blog/ and it only handles one blog for the moment. However, I’d like the WP to handle my entire website with a couple of sub-sites, so I am thinking about installing Multisite in the main domain. When I was experimenting with that using MAMP, I could not create a site named ‘blog’, and the ‘localhost/blog/’ was identical to just ‘localhost’. Is that just a feature of MAMP? How would this work on a live website?

    • Michal,

      I think with Multisite there is already a “blog” section created by default, and this is why you can’t create it. It doesn’t really matter what you call the Page you create. No one but you will really see the name of it (except maybe in the URL). You could name it “Posts,” for example. And then just label your menu for that section “Blog” if you like.

      • Joe,

        The URL is the whole point. I already have quite some content in my blog, and it’s out there – it’s ranking high in some google searches and people link to it. I can’t really change the URL. On the other hand – I don’t really care about the name…

        • I wonder if this is possible — you take your current blog content (mysite.com/blog) off that site (one way is to export the content, another is to get a database backup — i’d do both). You then delete all traces of that site, including the database.

          You then install Multisite on your main domain (and it automatically creates a “blog” section). You then import your old site into your new site.

          In essence, it’s like moving a site, but really it will have the same domain in the end.

          * Note: I don’t know anything about MAMP, but I don’t think this is the issue. I’m guessing it’s Multisite that’s causing the problem. (I could be wrong, but that’s my guess.)

          You might try this on a test site first.

          • This actually did not help. The point is to have the ‘home’ page with a completely different look than the blog. My front page for example must not have any header or footer, different background, colors, fonts… everything.

            Anyway, using MAMP and doing all tricks possible (including hacking the php code of WP) I somehow managed to register a site named ‘blog’ and it was actually a separate site from my ‘main site’ – all worked good.

            I tried to repeat these steps on a live site, and it actually didn’t work. That is, I was able to register a ‘blog’ site, but anything I uploaded to it, showed up on the ‘main site’ as well. I guess this is trickier than I thought.

            For the moment I keep 2 WP installations – one under the main domain, and another one in the folder ‘/blog’ – but it’s kind of ugly setup.

          • Michal,

            If you want a different look on your homepage, you merely need to make a “Page” and give that a special template (e.g. with no header, etc.). Then select that Page to be your homepage.

            Your homepage can be any Page you select. You just need to look into “page templates” or get a theme that has a page template design you like.

            The following solution used to work, but I don’t know if it does anymore (someone in the comments said this plugin isn’t being updated anymore): http://wpmu.org/wordpress-different-theme-per-page-post/

            If you’re looking for a landing page as your homepage, you can also look into landing page plugins.

  2. I think there is another way to create Blog without creating static home page.
    Create a category “Blog” . Add the “Blog” category to man menu similar to add a new page to the menu. Then when you create new post just tick the “Blog” Category as well. That’s all

  3. This did not help me because I have other posts already in my site that have other categories, along with my static page. When I make the new blog page, and have the posts page go to “Blog” it shows ALL of my posts that have nothing to do with my blog no matter what category they are in.

Participate