Type something to search...
How to set a static homepage in WordPress?

How to set a static homepage in WordPress?

To set a static homepage in WordPress, create two pages (for example "Home" and "Blog"), then go to Settings > Reading, choose A static page under Your homepage displays, select "Home" as the Homepage and "Blog" as the Posts page, and click Save Changes. Your chosen page now appears when people visit your domain, and your latest posts move to the Blog page. You can also make the same change from the Customizer in classic themes.

By default, WordPress shows your latest blog posts on the homepage, which suits a personal blog but not most business, portfolio, or landing-page style sites. This guide explains the difference between a static homepage and a posts homepage, walks through setting one up, shows how block themes and classic themes handle the front page template, and covers the problems people run into most often.

What Is a Static Homepage?

A static homepage is a regular WordPress page that you choose to display at your site's root URL, such as example.com. Unlike the default posts homepage, its content doesn't change every time you publish a post. You design it once, typically with an introduction, services, featured content, and a call to action, and it stays put until you edit it.

"Static" doesn't mean the page can't have dynamic content. You can still show recent posts, product grids, or testimonials on it using blocks. It just means the page itself is the homepage, rather than an automatically generated list of posts.

Static Homepage vs. Latest Posts

Here's how the two options compare:

  • Your latest posts: The homepage lists your most recent posts in reverse chronological order. Best for blogs, news sites, and personal journals where fresh content is the main attraction.
  • A static page: The homepage shows a page you design. Your posts move to a separate page, such as /blog/. Best for businesses, portfolios, online stores, nonprofits, and any site where the blog is one section among many.

Step 1: Create Your Homepage and Blog Page

Before you can assign a static homepage, you need pages to assign.

  1. Create the homepage: Go to Pages > Add New Page. Give it a title like "Home." Add your content with blocks or leave it empty for now, then click Publish.

  2. Create the posts page: Go to Pages > Add New Page again. Title it "Blog," "News," or "Articles." Leave the content area empty, because WordPress replaces it with your post list. Click Publish.

The Blog page's slug becomes the URL of your post archive, so a page called "Blog" gives you example.com/blog/. You can change the slug in the page's settings sidebar under the URL field.

Step 2: Assign the Pages in Reading Settings

  1. Open Reading Settings: Go to Settings > Reading.

  2. Choose a static page: Under Your homepage displays, select A static page (select below).

  3. Select your homepage: In the Homepage dropdown, choose "Home."

  4. Select your posts page: In the Posts page dropdown, choose "Blog." If you don't want a blog at all, you can leave this set to "— Select —."

  5. Save: Click Save Changes.

  6. Check your site: Visit your domain. You should see the Home page. Visit /blog/ to see your posts.

In the Pages > All Pages list, WordPress now labels these pages with "Front Page" and "Posts Page" so you can find them easily.

Alternative: Set It in the Customizer (Classic Themes)

If you use a classic theme, you can make the same change with a live preview:

  1. Open the Customizer: Go to Appearance > Customize.

  2. Open Homepage Settings: Click Homepage Settings.

  3. Pick your pages: Choose A static page, then select your Homepage and Posts page. You can even create a new page right from this panel with Add New Page.

  4. Publish: Click Publish to save.

Both methods update the same underlying settings, so use whichever you prefer.

Alternative: Set It with WP-CLI

For developers managing multiple sites, WP-CLI can do this in three commands. Replace the IDs with your page IDs, which you can find using wp post list --post_type=page:

wp option update show_on_front page
wp option update page_on_front 12
wp option update page_for_posts 15

The show_on_front option switches between posts and page, while page_on_front and page_for_posts store the page IDs.

How Block Themes Handle the Front Page

Block themes, such as Twenty Twenty-Four and Twenty Twenty-Five, use templates in the Site Editor, and this is where many people get confused. WordPress follows the template hierarchy to decide which template renders the homepage:

  • Front Page template (front-page.html): Used for your site's front page no matter what you choose in Reading settings, if the theme includes it.
  • Home template (home.html): Used for the blog posts index. When you have a static homepage, this template renders your posts page.
  • Page template (page.html): Used for regular pages, including your static homepage if no Front Page template exists.

This matters because some block themes ship a Front Page template filled with design patterns. If that template doesn't include a Post Content block, the content you type into your "Home" page won't appear, and you'll only see the template's design.

Editing the Homepage in the Site Editor

  1. Open the Site Editor: Go to Appearance > Editor.

  2. Open the homepage: Click Pages, then select your homepage, or open Templates and choose Front Page or Page.

  3. Decide where content lives: If you want to edit homepage content page-by-page, make sure the template contains a Post Content block. If you prefer to design the whole homepage as a template, you can build it directly in the Front Page template.

  4. Save: Click Save.

A simple and flexible approach is to keep the Front Page template minimal, with your header, a Post Content block, and your footer, and do the real design work inside the "Home" page itself. That way you can edit it from Pages like any other page and keep revisions.

Creating a Custom Front Page Template File

If you're building or customizing a block theme (ideally a child theme), you can add a templates/front-page.html file like this:

<!-- wp:template-part {"slug":"header","tagName":"header"} /-->

<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
<main class="wp-block-group">
    <!-- wp:post-content {"layout":{"type":"constrained"}} /-->
</main>
<!-- /wp:group -->

<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

This template outputs whatever you place in your static homepage's content, wrapped in your theme's header and footer.

How Classic Themes Handle the Front Page

Classic themes follow the same hierarchy with PHP files: front-page.php takes priority, then home.php for the posts page, then page.php or a custom page template. Many classic themes also let you choose a page template like "Full Width" or "No Sidebar" in the page's Template setting, which is useful for landing-style homepages.

If you're building a classic child theme, a minimal front-page.php might look like this:

<?php
/**
 * Front page template.
 */

get_header();

while ( have_posts() ) :
    the_post();
    ?>
    <main id="primary" class="site-main">
        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <?php the_content(); ?>
        </article>
    </main>
    <?php
endwhile;

get_footer();

What to Put on Your Static Homepage

A good homepage quickly tells visitors who you are and what to do next. Common sections include:

  • A hero section: A clear headline, a short supporting line, and a primary button. The Cover block is great for this.
  • What you offer: Services, products, or key features, often in a Columns block.
  • Social proof: Testimonials, client logos, or reviews.
  • Recent posts: Use the Latest Posts block or a Query Loop block to pull in your newest articles automatically, which keeps the page feeling fresh.
  • A call to action: A final section inviting visitors to contact you, subscribe, or buy.

WordPress patterns make this faster. In the block editor, open the inserter, click Patterns, and browse categories like Banners, Call to Action, and Testimonials.

Troubleshooting Static Homepage Issues

My homepage still shows posts: Make sure you saved Settings > Reading and that you're not viewing a cached version. Purge your caching plugin and CDN.

My homepage content doesn't appear: Your theme's Front Page template probably doesn't contain a Post Content block. Edit the template in Appearance > Editor and add one, or switch the page to a template that includes it.

The Blog page is empty or shows its own content: The posts page ignores its own content and uses the Home template instead. Make sure you have published posts and that the posts page is set correctly.

The posts page shows a 404 error: Go to Settings > Permalinks and click Save Changes to flush rewrite rules.

The homepage title in search results looks wrong: SEO plugins like Yoast SEO and Rank Math have separate settings for a static homepage. Edit the SEO title directly on your Home page, since it now controls the homepage.

I want to reach my blog from the menu: Add the Blog page to your navigation using the Navigation block in the Site Editor, or Appearance > Menus in classic themes.

Going Back to Latest Posts

Changed your mind? Go to Settings > Reading, select Your latest posts, and save. Your Home and Blog pages stay in place as regular pages, so you can switch back later without losing any work.


FAQ: Static Homepage in WordPress

A static homepage is a regular page that you choose to display at your site's main URL instead of the default list of latest posts.

Only if you want your posts to be listed somewhere. Create an empty page such as Blog and set it as the Posts page in Settings > Reading, and WordPress will list your posts there.

Your theme's Front Page template likely doesn't include a Post Content block. Edit the template in Appearance > Editor and add the block, or build your homepage design directly in the template.

Yes. Add the Latest Posts block or a Query Loop block to your homepage to display your newest articles automatically.

It can help, because you control the homepage content and can focus it on your main topic. Just make sure your SEO plugin settings for the homepage are updated, and that your posts page is linked from your navigation.

  • Reading settings: Settings > Reading, then choose A static page.
  • Customizer: Appearance > Customize > Homepage Settings in classic themes.
  • WP-CLI: Update the show_on_front, page_on_front, and page_for_posts options.

Conclusion

Setting a static homepage in WordPress takes just a couple of minutes: create a Home page and a Blog page, then assign them under Settings > Reading. From there, you can design a homepage that introduces your site properly while your posts live neatly on their own page.

If you use a block theme, remember that the Front Page template has the final say over how your homepage renders, so make sure it includes a Post Content block if you want to edit the homepage as a regular page. With the right setup, you get the best of both worlds: a polished homepage and an organized blog.

Tags :
Share :

Related Posts

What are the best WordPress security plugins?

What are the best WordPress security plugins?

The best WordPress security plugins for most sites are Wordfence, Sucuri Security, Solid Security, MalCare, All-In-One Security (AIOS), Patchstack, a

Dive Deeper
What is the difference between posts and pages in WordPress?

What is the difference between posts and pages in WordPress?

The main difference between posts and pages in WordPress is that posts are timely, dated entries that appear in your blog feed, archives, and RSS fee

Dive Deeper
How much does it cost to build a WordPress website?

How much does it cost to build a WordPress website?

Building a WordPress website can cost anywhere from roughly the price of a domain and a year of budget hosting, if you do it yourself with free tools

Dive Deeper