A friend of mine recently asked me how to move her blog posts off of the front page of her WordPress site. Why? Well, not every WordPress site needs to be a blog, and even if yours is, that doesn’t mean your blog posts need to be the first thing your visitors see. Plenty of WordPress users have sites that require a welcome message or video and move the blog posts to a secondary page, while other users don’t blog at all!
Today we’re going to over over the steps to rearrange your site so you’re blog posts are moved off of the home page, and placed on a new page with whatever title you want.
The first thing you’re going to want to do is take a look at your theme. If there is a “Home” link already built into your theme’s navigation, we’ll need to exclude the new home page so you don’t end up with two links to the same page.
Create Your New Pages
The next step is to create the two new pages we’ll need: One to serve as the home page, and one for bloc posts. Click on “Add New” under the pages module on the left hand side of the dashboard. For the new “Home” page, you can use whatever title you like. Since we’re probably going to be hiding this page on the navbar, the only place this title will be visible is on the page itself. Keep in mind that since this is going to be your home page, that title will be the first thing visitors see.
Add whatever content you want to display on this page (or you can leave it blank to fill in later) and click the “Publish” button.
Next up is our posts page. Repeat the process to create your blog page, only this time remember that the title will appear in the navigation bar. You should choose whoever title toy think will entice people to click through to your posts, but it can be anything from “Updates,” or “Blog” to “Things My Cat Did This Week.”
Whatever you want.
You are also going to skip the step of filling in content on this page, since it’s just going to fill in with your bog posts.
Change Your Front Page/Posts Page Settings
Now that you’ve created your two new pages, let’s put them to work!
Open the “Settings” module at the bottom of the dashboard. From the list of settings, select “Reading.”
The first section of this page is where the magic happens. The line that says “Front page dislays” will have two options. The current, default setting is to display blog posts. You want to click the second option to display a static page.
You must now use the two drop downs to select which page you want to use for your front page, and which page you want to use as your posts page. Hint: these are the pages we just finished creating 😉
Once you’ve selected your new pages, save the settings at the bottom of the page and load your blog site. You should see your new home page as the first to load, and both of your new pages should appear in the navigation bar.
The only problem is that now you have your old “Home” link, (assuming your theme had one) and a link to your new front page – both of which take you to the same place!
This is an easy fix, but it does involve modifying a little bit of code. The code we need to modify is in the
header.php file, so go and save a backup of that file somewhere on your computer to be safe. Whenever you modify the code for you theme always have a backup of the original handy in case something goes wrong. Trust me, there will be a day that you are very glad you’ve developed this habit.
Excluding The Extra “Home” Link
This step involves editing your theme’s
header.php file, and there are a couple of ways to go about doing this.
First off, you can download the file with an FTP client. Then you can open it up in your favorite text editor, make the changes and then upload the new version. The file will be located in the folder for your current theme, which is in
The second option is to edit the file directly from the dashboard. Under the “Appearance” module you’ll find an “Editor” link. This will allow you to modify all of the files that make up your theme. Locate
header.php in the list to the right, and you’ll be able to modify it.
Whichever option you choose, make sure you save a backup copy of the
header.php file. That way, if anything goes wrong, you can go back to square one.
Once you’ve accessed the file, you’re going to look for this template tag:
This tag may not be exactly identical in your theme, some of the parameters may be different. That’s okay, because every theme is different. What we need to do is add an
exclude parameter to hide the new home page. Now that we have our list_pages tag, the only thing we’re missing is the ID of the page we want to exclude.
To find this, we need to head back over to the blog for a moment, and pull up the “Edit Pages” screen (under the “Pages” module of the dashboard. Find the page you want to exclude (your home new home page) and hover your cursor over the title. At the bottom of your screen, where your browser displays the destination of the link, you’ll see URL that looks a bit like the one below (click for a larger image).
At the end of the URL, you’ll see a number:
ID=1234. This number is the ID of the post/page in question, and it’s what we need to exclude from our
header.php file. In my case, the ID number is ’43.’
Now we need to jump back over to our text editor and add the exclude parameter to our
wp_list_pages tag, leaving us with this:
You’ll notice that the only change is adding ‘
exclude=43& to the beginning of the parameter string. It’s important that this gets placed inside the quotation mark, and that you don’t forget the ampersand (&). You can also exclude multiple pages if you want by separating them with commas:
Save and replace this file (don’t forget to hold onto your backup until you are sure everything is working!) and load your home page. You now have your new home page displaying first, without the duplicate link in your navigation bar!
There is a video version of this tutorial in the Private Video Library, which you can access by entering your name and email address in the form on this page!
Hope this article helped, feel free to leave any questions in the comments!