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.
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.
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 a 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.
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.
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.
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 by using a simple drag and drop interface.
We recommend using Beaver Builder because it is the most beginner-friendly page builder plugin on the market. It comes with dozens of custom homepage templates that you can install with a single click.
Once installed, you can edit the template using point and click tools. You can replace content and images with your own content, and even extend the template by adding more modules, widgets, and sections.
Beaver Builder also gives you access to Beaver Themer, which allows you to make your own custom WordPress theme without writing any code.
For more details, see our guide on how to easily create custom WordPress layouts using Beaver Builder.
As an alternative, you can also try Elementor. It is also an immensely popular WordPress page builder plugin. It also comes with drag and drop templates and an easy to use interface.
For details, see our tutorial on creating custom page layouts with Elementor.
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.
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> </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.
Hello Wpbeginner,
Can I know what themes and plugin you used?
For what we use on our site you would want to take a look at our blueprint page we link in our sidebar widget or below:
https://www.wpbeginner.com/blueprint/
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.
Thanks for the heads up on the typo, it should be fixed now
Thanks you so much I need this very long time
You’re welcome, glad our guide could be helpful
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.
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.
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.
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.
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.
Perfect and easy to do!
Thank You!
You are welcome
we are glad you found it helpful.
Video; short sweet helpful
Hi,
I’ve tried this whole guide but didn’t find any change. I created home.php too
Please Help Me.
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?
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?
Please see our guide on the difference between posts vs pages. After that follow the instructions in our tutorial on how to set a custom homepage in WordPress.
how to add custom text in home page latest post like author info,post added date?
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?
thanks
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.
hi
i’ve created a static page in wordpress,i want to interact that wordpress page in my existing website.is it possible?
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.
use “all-in-one-seo” plugin
I cant see links to my posts from my home page. How to I connect them to my “about me” page? Please?
hi is it possible to have create a custom link in the menu and allow this to be the front page?
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?
Thanks
Mandar
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!!!
John this guide is for self hosted WordPress.org websites. For help with WordPress.com please contact support from your account’s dashboard. Meanwhile, you can read more about the difference between WordPress.org vs WordPress.com
Sorry by inconvenience.
Thank you so much.
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…
Depending on what theme you are using, this could be a theme problem.
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
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?
Please check out our guide on how to install and setup Yoast’s WordPress SEO Plugin.
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.
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?
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.
Thank you for this great article !!!
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!
This is the type of simple and straightforward article that novice WordPress users can benefit from. Well done.