Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

How to Create a Custom Home Page in WordPress

Last updated on by
Elegant Themes
How to Create a Custom Home Page in WordPress

WPBeginner is using WordPress if you can’t tell already, but we have a custom design. One of the part about our design is that we have a custom homepage. You may see many websites on the web using a custom homepage for their WordPress. In this tutorial we will show you how you can create a custom homepage by combining the use of custom page template, and WordPress admin panel.

Before you read any further, one of the thing you must understand is:

Custom WordPress Page Template

So read the above post before you continue to follow this tutorial. You will need to have a custom page created already as mentioned in the article above. Once you have a custom page created to fit your need for the homepage, you will need to create another page using the technique mentioned in the method above except you will just copy and paste the index.php codes in that template and name it blogblog.php or something along this line letting you know that the template is for blog pages.

Click on Settings > Reading

Select the option of Static Page, now select one of your page to be the homepage, while another page to be your blogpage.

Custom Homepage in WordPress

Once you have done that, save the settings and now you have a custom homepage.

You will now have a custom page being displayed as your front page, and a separate page being displayed as your blog page.

Method 2

Method 2 does not involve the use of Custom Page Template Technique. All you have to do is create a new file and name it home.php, and you can use any WordPress parameters in there. This file will automatically take over your index.php, and it will be displayed as your homepage. You can use this method if you do not want to have a separate blog page.


Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »

Comments

  1. John says:

    Hi!

    I have an account in WordPress.com.

    I created some pages (only pages). My intention is to have only pages and I need choose one of them as home page.

    But my “Readings Settings” doesn’t show the option “Front page display” to this. I don’t have plugins. My theme doesn’t show this option as well.

    Do you have a ideia about this problem?

    Thanks!!!

  2. harhar says:

    my dilemma is the home page having the header… whenever i choose the front page with the page i want… i am very troubled with the menu and header being gone… please help…

  3. Alex says:

    Hi there,

    I have some stupid question… :))

    I know how to do static or dynamic home page.
    But can’t figure out how to create new admin menu (the one on the left) label – Home Page.
    And to add in there custom meta boxes
    My home page has many different containers, that I wanna let client to edit.
    So I need create a Home Page Editing form.
    Is that possible, and how?

    Thank you ini advance

    Regards,
    Alex

  4. Christer Erngren (@nukokarjag) says:

    Hello!

    I use Yoast and Corsa theme for my foodblog, both works excellent but I have an issue with my titles:

    nu kokar jagChili con carne på högrev med rostad paprika med rökt rimmat sidfläsk

    Is it possible to remove blog title in front of post names in the title or get a space between blog title and post names?

    Like this:

    nu kokar jag – Chili con carne på högrev med rostad paprika med rökt rimmat sidfläsk

    or

    Chili con carne på högrev med rostad paprika med rökt rimmat sidfläsk

    What is the most SEO friendly?

  5. TYMAN says:

    Hi, thanks for this useful article.

    My question is:
    Method 1: Do you think using a static page for the main page does not affected to the page rank, because it’s still have the dynamic content? Can I delete index.php file by doing this?

    Method 2: How about if I rename the index.php -> home.php rather than create a new home.php and modify the parameters on there. Is it possible to not have the index.php in template?

    • WPBeginner Support says:

      You should not delete index.php file in your theme, it is required for each WordPress theme to have an index.php file even if you are using a static front page.

      You can remove dynamic elements from your static page. Most WordPress themes have separate widget areas for static front pages. If yours does not have and it is still adding dynamic content like recent posts and stuff that you don’t want then you can create a home.php template in your child theme and modify it to meet your needs.

  6. Peter C says:

    What if there is no static page, no home.php? A site I am taking over has a home url of index.php which seems to invoke a flash movie (swf), rather than showing posts. Where is this configured?

  7. Christian D. says:

    I wanted to post a quick update on where to set the static front page as it is no longer in Settings->Reading.

    You’ll find this in your theme customization area if you are using twentyeleven or twentytwelve. Had to look around for that a bit.

  8. KKK says:

    Thank you for this great article !!!

  9. James says:

    Very well written and easy to follow. I have been trying to figure this out for the past month and now I can finally publish my new site! Cheers!

  10. Roger Duck says:

    This is the type of simple and straightforward article that novice WordPress users can benefit from. Well done.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.