Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Create a Custom Home Page in WordPress

Often users ask us if it’s possible to create a custom homepage in WordPress.

By default, WordPress shows your blog posts on the homepage. However, as a business website, you may want to create a more engaging homepage that helps users find what they need and boost your sales conversion.

In this article, we will show you how to easily create a custom homepage in WordPress. We will show multiple methods, and you can choose the one that’s easier for you.

Creating a custom homepage in WordPress

What is a Homepage?

A homepage is a default introductory page or the frontpage of a website. It is the page that appears when someone enters your website’s domain name in their browser’s address bar.

Homepage example

The main purpose of the homepage is to introduce users to your website or business. Ideally, it should provide users essential information about your business, so they can continue exploring other pages on your site.

By default, WordPress displays your recent blog posts on the homepage. This is not good as it only shows a few of your current articles.

If you run a business website, then the default homepage does not tell users about your business, products, or services. It also doesn’t provide users a way to contact you.

The good news is that WordPress already comes with built-in functionality to create custom home page.

Selecting a Custom Page to be Used as Homepage in WordPress

WordPress allows you to easily use any page on your website as your homepage. You can simply go to Pages » Add New page inside WordPress admin area to create a new page.

Let’s give this page a title ‘Home’ and publish it. You will use this page as your custom homepage.

Don’t worry about layout or design at the moment. We will show you how to design your homepage later in this article.

Now, if you want to run a blog on your site, then you need to create a separate blog page to display your posts.

Once again, go to Pages » Add New page and create a page titled ‘Blog’. Go ahead and publish the blank page.

After creating the pages, you need to visit Settings » Reading page in your WordPress admin. From here select ‘A static page’ option under ‘Your homepage displays’ section.

Select home and blog pages

Next, you need to select the homepage and the blog pages you created earlier.

Don’t forget to click on the ‘Save changes’ button to store your settings.

Now that you have set up a page to be used as your custom homepage, let’s start designing the custom home page for your WordPress site.

Method 1. Create a Custom Homepage in WordPress using Gutenberg

WordPress introduced a new block-based editor called Gutenberg in December 2018. This new editor allows users to not just write content but create beautiful layouts as well.

It uses blocks for each content element which enables you to organize content blocks to create a page structure that you like.

WordPress includes blocks that can be used for design purposes like cover images, columns, tables, text and media, galleries, and more.

Editing your custom homepage layout using Gutenberg

Each block comes with its own settings, which allows you to customize its appearance to meet your design requirements.

You can extend available blocks with Gutenberg block plugins to add more blocks to your arsenal. These plugins allow you to use advanced elements like testimonials, sliders, services, and other common design features.

Using advanced block library plugins to make homepage layout

You can also use Gutenberg ready WordPress themes which give you more flexibility to work with blocks.

We recommend using Astra, it comes with Gutenberg website templates that you can install using their Astra Starter Sites plugin.

Once you import a template, you can edit it using the default WordPress editor and create a highly professional looking homepage for your website.

Method 2. Create a Custom Homepage in WordPress using Page Builders

This method is very easy and does not require any coding or design skills. For this method, you will be using a WordPress page builder plugin.

A page builder plugin allows you to easily create custom page layouts using a simple drag and drop interface.

We recommend using SeedProd because it is the most beginner-friendly page builder plugin on the market. It comes with a lot of templates and offers multiple customization options.

For this tutorial, we will be using the SeedProd Pro version and show you it wide range of premium templates and customization options. There is also a free version available but it has limited selection of templates and features.

First, you’ll have to install and activate SeedProd Pro on your website. You can follow our step by step guide on how to install a WordPress plugin.

Once the plugin is active, you’ll be taken to the SeedProd page in the WordPress admin panel, where you’ll need to enter the license key. You can find the key in your SeedProd account area.

Enter your license key

After entering the key, go ahead and click the ‘Verify Key’ button.

Next, you can navigate to SeedProd » Pages to create a homepage. Simply click on the ‘Add New Landing Page’ button to start.

Creating a new landing page in SeedProd

On the next screen, you can choose from a template for your homepage. SeedProd offers many professionally designed templates that you can customize according to your business needs.

To select a template, simply hover over the template and click the orange tick button.

Choose a homepage template

A popup window will now appear where you’ll need to enter a name for your landing page template and edit its URL. Once that’s done, go ahead and click the ‘Save and Start Editing the Page’ button.

Enter a name for your homepage

Next, you’ll be taken to the SeedProd drag and drop page builder, where you can customize your homepage the way you want.

The plugin offers different blocks which can be added to the existing template. For example, you can drag and drop standard blocks like buttons and images or use advanced blocks such as countdown, contact form, and more.

Add blocks using the drag and drop builder

Besides that, you can also click on existing blocks in the template and edit them. You can change their color, font, text, alignment, size, and more.

Edit blocks on the template

Once you’re done customizing your homepage, don’t forget to click the ‘Save’ button to store your changes.

After that, you can head over to the ‘Connect’ tab and integrate different email marketing services. SeedProd supports popular platforms like Drip, Constant Contact, AWeber, and more.

Connect email marketing services

Next, you can go to the ‘Page Settings’ tab to publish your custom homepage. Simply click on the Page Status toggle to change it from Draft to Publish.

Publish your homepage

There are more options under the Page Settings tab. For instance, you can change the SEO settings, edit the page title, add scripts, and connect a custom domain.

After changing the page settings, go ahead and close the landing page builder.

Next, you’ll need to navigate to Settings » Reading and tell WordPress to use the newly created landing page as your site’s homepage.

Under the ‘Your homepage settings’ section, go ahead and select the ‘A static page’ option. Then choose your custom homepage from the dropdown menu for ‘Homepage’.

Choose static page settings and select your custom homepage

Once that’s done, save your changes and visit your website to see the new custom homepage in action.

Custom homepage example

Method 3. Manually Create a Custom Homepage in WordPress (Coding Required)

This method is not recommended for beginners as it requires coding. You need to be familiar with the WordPress coding practices, PHP, HTML, and CSS to use this method.

Let’s see how this works.

Your WordPress theme is made up of different files. Some of these files are called templates and control the display of certain areas of your website. See our WordPress template hierarchy cheat sheet for more details.

One of these templates is called front-page.php. If your theme has this template, then WordPress will automatically use it to display your custom homepage.

front-page.php template

However, if your theme does not have it, then you can create one for yourself/

Simply create a blank file and save it as front-page.php. After that you need to upload it to your current theme’s folder on your WordPress hosting account using FTP.

As soon as you upload this file, WordPress will start using it to display your homepage. However, since this file is completely empty, you will see a blank white page.

To fix this, you can start adding your HTML code to display contents of your custom homepage. An easier approach is to use the existing code and templates in your WordPress theme.

For example, you can use the same header and footer. WordPress makes it super easy to include those templates.

Here is a sample code where we removed the content and sidebars while preserving the header and navigation templates from the theme.

<?php /* 
This page is used to display the static frontpage. 

// Fetch theme header template
get_header(); ?>
	<div id="primary" <?php astra_primary_class(); ?>>

	<div class="custom-homepage-container"> 

	You custom homepage code goes here


	</div><!-- #primary -->
//Fetch the theme footer template 
<?php get_footer(); ?>

Tips on Making an Effective Custom Homepage in WordPress

Your website’s homepage is the most important page on your website. Users look at it to learn more about your business, products, and services.

We recommend keeping your homepage design as simple as possible. On our own websites, we have learned that our users find simpler layouts more helpful.

Try to avoid clutter, but don’t hide important information that your users would want to see on the homepage. You also need to prioritize which content appears first in your layout.

Write down the goals you want to achieve before making a custom homepage for your website. This exercise will help you come up with a clear design goal.

For most businesses and blogs, the number one goal is to convert website visitors into customers. To achieve this, you’ll need OptinMonster.

It is the best WordPress popup plugin and lead generation software. It helps you convert website visitors into subscribers and paying customers.

Next, you would want to track how your custom homepage is performing. For this, you need to install Google Analytics on your website. It helps you see where your users are coming from and what they do on your website.

You would also want to make it easier for your users to contact you. For this, you will need the WPForms plugin which is the best WordPress form plugin on the market.

You can also add a click to call button your website, so people can easily call your business phone.

Lastly, we recommend you to look around at your competitors and other popular sites in your industry/niche. We are not asking you to copy their design, but to learn from their best practices and then apply it on your own homepage layout.

We hope this article helped you easily create a custom homepage in WordPress. You may also want to see our proven tips to increase your blog traffic.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

48 CommentsLeave a Reply

  1. Great information. So glad I you did this & I stumbled across it right now. Not done reading it but thought I’d tell you in case you’re interested, found 1 typo in “Method 1”. It is eidtor.

    I know, the site is so good. I’m just anal retentive.

  2. Hi, I’m trying to edit my “homepage” which is set as my latest posts. I need to add a slider on that page but I can’t. I don’t want a static homepage because I prefer my homepage showing my latest posts. Please help me. This is day two of trying to figure this out. All the articles I’ve read are about static and dynamic pages and want to keep everything as is besides the editing part. I I’d really appreciate your help.

  3. My wordpress does not have that option of selecting a static page in reading settings. I waste more time looking for it, questions and answers and its not even there. Now what do I do.

    • I am using WordPress self-hosted and the static page selection option appears under: Themes>Customize>General Settings>Static Front Page. Hope this helps.

  4. Hi! Using the Responsive theme which allows you to use a custom front page. I am trying to redirect all of my blog posts to go on a separate page but when I go to Settings>Readings to assign the static pages, it automatically disables my custom front page and then my blog posts post on both the home page and the page I want them to go to.
    *Note–when I try to select ‘Home’ for a static page, it does not show up in the drop down box.

  5. hi… I love wpbeginner… you guys makes it so easy for me to understand how to create my website. I just wished you would update some of the information like the screen shots. some are out of date and makes it a little bit confusing. But overall, you do explain things very clearly which I truly appreciate since I have been scared of using wordpress for the longest time because of the many technical requirement that comes with it.

  6. Help? Using Optimizer theme. How do I add a button in the centre bottom of my static Home / Frontpage. Want that button to animate and direct people to a different page.
    Im not using the blogging features at all, just want plain site with pages.

  7. Hi,
    I’ve tried this whole guide but didn’t find any change. I created home.php too
    Please Help Me.

  8. hello, i was trying to change the drop down menu to horizontal product menu on my E-Commerce store home page. but i couldn’t figure out how i can do that, can you suggest a plugin that will look great on this website?

  9. I’m in a mess. Totally. I started a WordPress page and posted and received replies. Great. Except I had no Home page and lacked the usual facilities that this brings.

    How can I backtrack and set up a Home page on my Blog? I have written one but it appears in the dated list instead of as a first page.

    Without me knowing it two things have gone missing. Comments are no longer allowed and a page has disappeared.

    I’m getting scared. How much more is going to disappear while I struggle through?

  10. Hi,
    I have a wp page for my convention last year. Now, I want to make a page for this years con.
    I would like to create a new homepage with a link to last years page.
    Can you help me? :)


  11. Hi,
    Completely new to WordPress.
    I want to add a customerised logo to the header of my Static Front Page.
    I can’t seem to find how to do this.

  12. hi

    i’ve created a static page in wordpress,i want to interact that wordpress page in my existing it possible?

  13. I make use of WordPress, Headway and the Yoast SEO plugin. But I keep struggling with changing the meta description of the homepage. It seems very easy to set up the metadescription of the homepage at SEO->Title’s&meta’s->Home, but unfortunately I have no box for the metadescription. Apparently because I make use of a static page, Yoast sends me to edit the metadescription at the frontpage itself (see image). I already changed the metadescription of this frontpage 5 months ago, but Google still shows a automatic summary of my homepage. What do I do wrong? Please help me out.

  14. I have been blogging for around 5 years now. My default home page was the blog page. I wish to set another page as my static front page and display blog on another page. Will doing this change link addresses of my blog posts? Will it affect the SEO ranking and registered links?

  15. Hi!

    I have an account in

    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?


  16. 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…

  17. 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


  18. 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


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

    What is the most SEO friendly?

  19. 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?

    • 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.


  20. 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?

  21. 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.

    • Thank you, Christian D. You posted in 2012 yet the same old wrong advice is out there. No wonder I was tearing my hair out!

      • The option is still there on Settings > Reading page. We checked with Twenty Twelve, Twenty Eleven, Fourteen, Fifteen and with the latest Twenty Sixteen theme as well. However, it can also be set from Theme customizer as well.


      • Sorry, Christian D, my response was ambiguous. It really was a thank you. I’ve had problems trying to follow the advice out there.

  22. 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!

Leave a Reply to bangupnosh Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.