Creating a Static Home Page with Thesis and WordPress

You can use WordPress to manage a website complete with a blog. You do it by creating a static home page that functions as your landing pad (to greet visitors) and then creating a new blank page that will contain all of your blog posts. With recent versions of WordPress, the process is pretty simple (requires WordPress 2.3.1 or later):

  1. Create the page you want to appear as your home page. (Make sure it’s a page, not a post.)
  2. Create the page you want to use as your static home page.

    Create the page you want to use as your static home page.

  3. Scroll down to the Discussion options and remove the checks next to Allow comments and Allow pings.
  4. Disable comments and pings for this page.

    Disable comments and pings for this page.

  5. Click the Publish button to publish your new page.
  6. Create and publish a blank page to use for your blog, and call it something like Blog or Nick’s Blog, whatever.
  7. Create a blank page for your blog.

    Create a blank page for your blog.

  8. In the WordPress Options or Settings group (on the Administration panel), click Reading.
  9. Under Settings, click Reading.

    Under Settings, click Reading.

  10. Under Front page, click the Static page option.
  11. Choose the pages to use for the static home page and blog posts.

    Choose the pages to use for the static home page and blog posts.

  12. Open the Front page list and choose the page you want to use as your static home page.
  13. Open the Post page list and choose the page you want to use to display your blog posts.
  14. Save your changes.

If you’re using Thesis, you need to choose to have new pages displayed as tabs in the navigation bar:

  1. On the WordPress Administration panel, click Appearance, Thesis Options.
  2. Select Thesis Options.

    Select Thesis Options.

  3. Under Navigation Menu click the plus sign next to Select pages to include in nav menu.
  4. Checkmark the new pages to appear in the navigation bar.

  5. Check the box next to the blog page you created. (Do not check the box next to the new home page you created. As long as you have the option checked to show the home link in the nav menu (see the following step), a tab for the page will appear.(Optional) In the list of pages, you can drag pages up or down to rearrange the order they will appear in your navigation bar.
  6. Click the plus sign next to Home Link and make sure the Show home link in nav menu option is checked. You can edit the link’s name to use something different for the link than you used for the page name.
  7. Checkmark Show home link in nav menu.

  8. Click the Save button.

Your new static home page now opens whenever someone chooses to go to your site, and they can click your new Blog tab to go to your blog.

Your new static page greets visitors who can click the new blog tab.

Your new static page greets visitors who can click the new blog tab.

You’ll find other tutorials about this topic that recommend creating a separate template, which you can do if you want to give your home page a unique appearance, but I think most folks just want to have a static page with some unique content to greet visitors.

For more about using Thesis to design your website or blog, check out Redesigning My WordPress Blog with Thesis.

{ 35 comments… read them below or add one }

Deborah June 26, 2009 at 7:02 pm

Thanks for the clear instructions. Do you know how I can customize the heading for the page? For example, I have a page named “Home” which I want to have listed in the navigation as “Home”. But on the “Home” page, I don’t want to have the heading above the main content say “Home”, rather something like “Exploring Asia”.

Lisa M June 29, 2009 at 1:12 am

I followed your instructions exactly and it worked like a charm. Thanks so much!

Joe June 29, 2009 at 9:36 am

Hi, Deborah–

You can change the name of the tab in Thesis without affecting the page name. In the second set of steps (above), Step 2, I show the Thesis Navigation Menu options, where you can select which items you want to appear in the Navigation Menu. You can click any of the items, which will place the insertion point in the item’s name, allowing you to edit it. Just edit the name of the Navigation Menu item changing it to whatever you want – “Home” in your example.

If you want to change what appears as the title of the page, then you change the page title as you normally would in WordPress. For example, in WordPress 2.8, log in to the Dashboard, click Pages, select the page you want to edit, and then change the title of the page to whatever you want – in your case, changing “Welcome” or “Home” to “Exploring Asia” – and then save your changes.

Hope this helps!

Joe June 29, 2009 at 9:50 am

Hi, Lisa–

Thanks for the kudos!

Nick Tart | JuniorBiz July 5, 2009 at 4:33 pm

This post was incredibly useful. Thanks for the info!

Nancy Dailey August 6, 2009 at 3:11 pm

Thanks, Joe. I’ve been trying to figure this out for some time. Very much appreciate your efforts and help!

Nancy Dailey August 6, 2009 at 3:35 pm

Joe, is there a way to remove the line that says: “comments on this entry are closed”?

Joe August 6, 2009 at 4:29 pm

Hi, Nancy–

One way to do it is to disable comments on all pages. In the WordPress dashboard under Appearance, click Thesis Options. Under Display Options, click the plus sign next to Comments and then click Disable comments on all pages.

You may also want to check out this article, especially if you don’t want to disable comments on all pages:

http://www.bukisa.com/articles/128631_remove-comments-are-closed-statement-in-thesis-wordpress

Please return and let me know whether any of these options worked for you.

Nancy Dailey August 7, 2009 at 9:20 am

Joe, for the current project I’m working on disabling all comments works. Thanks so much. I do want to learn how to disable comments on individual pages. The link you posted keeps giving me an error message “failure to connect to web server” but I’ll keep trying. Thanks again!!

Joe August 7, 2009 at 10:06 am

Nancy–I haven’t quite figured that out myself. If “Disable comments on all pages” is unchecked, I can disable comments on individual pages, but after the text on that page, I still get {0 Comments} or {Leave a Comment} along with the Comments on This Page Are Closed message. I’ll come back and post if I find the answer.

Joe August 16, 2009 at 3:20 am

I was able to disable comments on individual pages by following some advice from Kristarella posted at http://diythemes.com/answers/hide-comments-entry-closed-message/.

Add the following to custom.css:


.custom .comments_closed p {
display: none;
}

Ben Locker August 20, 2009 at 8:14 am

Thanks for this. I was just installing it for a client and, because I hadn’t made the changes to Thesis, I was getting two current_page_item classes in the nav menu. Your instructions have solved the problem – cheers!

Jason December 9, 2009 at 1:24 pm

Big help. Thanks.

Jhay January 7, 2010 at 2:32 pm

Hi Im using thesis WPtheme i just want to ask how can i not display the TITLE of FRONT PAGE OF MY SITE? Thats the only page that i do not want the title to be visible. And I know i need to use a conditional tag for that but i dont know where to place it. Is it on the before content hook or after content hook? Thanks in advance

Joe Kraynak January 7, 2010 at 4:21 pm

Hi, Jhay–

Here’s a technique that doesn’t require a conditional:

Log into WordPress. Under Pages, click Edit. Click the link for your home page.

Scroll to the bottom of the box labeled SEO Details and Additional Style, click in the CSS Class box, and type hiddentitle (you can use any classname you like here).

Add the following line to your custom.css file (if you used anything other than hiddentitle as the class name, be sure to replace hiddentitle with the name you used):

.custom.hiddentitle .headline_area {display:none;}

Save custom.css

You can assign this class to any page or even a post “page” on which you don’t want the page title to appear.

(Corrected 1/11/2010 to remove space between .custom and .hiddentitle based on Jhay’s feedback. Thanks!)

See “Style any post differently than the rest with the css class box” on Thesis Hacker for details on how the CSS Class box thing works.

Jhay January 11, 2010 at 9:01 am

Thanks Joe but it seems not working on me. i used “hidetitle” as class name for that page and put
.custom .hidetitle .headline_area h1, .headline_area h2 {display:none;} on custom.css but still not working. Any other option to hide the title of a page?

Joe Kraynak January 11, 2010 at 10:01 am

Oops, sorry, Jhay. Remove the space between .custom and .hidetitle it should be

.custom.hiddentitle .headline_area h1, .headline_area h2 {display:none;}

Jhay January 11, 2010 at 3:57 pm

Nice Joe. It’s working now. Thank you very much:)

Bradley January 30, 2010 at 4:37 pm

thanks. exactly the information i was looking for!

Steely Dad January 31, 2010 at 10:59 am

It’s not working! I keep getting a 404 error message when I try to go to the “blog” or “post” page. It doesn’t matter which page I set as post page: I will get the error message.

Any ideas?

Thanks!

Joe January 31, 2010 at 3:31 pm

Hi, Steely–

I went to BrandedTalent.com, and it looks like your Blog page is working fine. Is that the site you were having trouble with? If you fixed the problem, what was the fix?

Autumn Beck February 1, 2010 at 4:00 pm

I am so joyful to have FINALLY found the code to removing titles. You are a blessing. Can you add a stumble button to your blog so I can share this for others to use?

Tom February 11, 2010 at 12:32 am

Joe wrote:
Hi, Steely–

I went to BrandedTalent.com, and it looks like your Blog page is working fine. Is that the site you were having trouble with? If you fixed the problem, what was the fix?

I can’t speak for Steely, but I had a similar problem, which I solved by deleting the blog page, emptying the trash, and then creating a new blog page, making sure the permalink was exactly correct.

I’m not 100% sure this was the problem, but I bet the issue was I wasn’t watching the case of the permalink. ie, I bet I used both Blog and blog interchangeably the first time.

The second time I was careful to keep everything lowercase, and it worked.

Ryan @ Planting Dollars February 16, 2010 at 11:22 pm

Appreciate the walk-thru, found it very helpful. Thanks.

Mary Rose February 21, 2010 at 2:41 pm

A HUGE thanks to you for this easy to follow tutorial! I knew I needed a static home page but wasn’t sure how to do it. I just purchased Thesis and have spent the entire weekend setting it up. I’m almost finished.

By the way, word to the wise: I changed my font size to “5″ because I wanted it slightly larger than the rest of the fonts used in the blogs. However, it totally messed up my sidebars. I tried to figure out if the issue was with a setting within the sidebars or the page post. I finally changed the static page font size back to “4″ (or it could have been “3″…my mind is muddled, now..lol) and that did the trick.

Thanks again. This post was a godsend! :-)

Vito March 12, 2010 at 9:59 am

Very good collection of info here! I realised most of this myself but now I am stuck on something else. I haveca static page on my home but I d like to add the teasers of the latest 3 blog posts to the bottom to have fresh content on the home all the time. Any idea on how to achieve this?

Peter Button March 13, 2010 at 2:07 am

Thanks for your post. I’ve been trying to remove the page titles from static page without success.

I’ve applied your suggestion. It works on the home page of http://www.realworldstrategy.com but not on other static pages. I want to apply this to all of the static pages on my site. So far, I’ve put hiddentitle into the CSS class of the about and contact page of my site but the titles still appear.

Any suggestions? Thanks.

Michelle March 16, 2010 at 7:18 am

So simple! I’ve been tearing my hair out for a day trying to get this all straight. Thanks for the post. I can now start to breathe again.
m.

Kelly March 18, 2010 at 1:58 pm

Thank you! I loved the graphics you used. It made it so much easier for me to figure out what I needed to do.

Vito March 19, 2010 at 4:07 am

Joe, any chance you can shed light on the question I made on how to add blog post teasers to a static page used for the home? Your anwer would be very appreciated :)

Joe Kraynak March 19, 2010 at 5:47 am

Hi, Vito–

That’s a tough one. I did some research, tried several solutions (and variations of those solutions), and haven’t been able to figure it out. From what I found, the solution requires creating a sub loop… something along the lines of what Greg Rickaby discusses in his post “How To: Create a Sub-Loop in Thesis.”

This is one option I didn’t try. I was hoping for a quick solution like adding a remove_action and an add_action hook.

Sorry, man. If you try Rickaby’s solution and it works, please come back and let everyone know.

On a semi-related topic, I discovered a Thesis Sidebar Teaser plugin.

Vito March 23, 2010 at 7:24 am

Thanks Joe,
I will try something and let you know!
Cheers

Marcello May 19, 2010 at 10:50 am

YAY! Finally a tutorial simple and working

Thank you so much
M

Jim May 26, 2010 at 2:14 pm

Hi Nick,
Thanks for the “how to”. Why the no-follow? Is it to avoid the potential of the search engines thinking duplicate content?

Joe Kraynak May 26, 2010 at 7:07 pm

Hi, Jim–

I’m Joe. I was using the “Nick” site as an example. The nofollow was an oversight. I didn’t even know WordPress did that by default until you mentioned it and I did a little research. So thanks for pointing that out. I just installed the No Follow Free plugin to remove the nofollow attribute from the author links.

Leave a Comment

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

Previous post:

Next post: