Skip to content
ThemesIonic — home
WordPress Tutorials

Setting a Static Homepage

By default WordPress shows your latest posts on the front page. Turning that into a designed home page and giving the blog its own address is two settings — and one page that must stay empty.

4 min read beginner

The whole change is one screen: Settings → Reading. Choose "A static page", select the page you want as the front page, and optionally select a separate page to hold the blog. Everything else people struggle with is a consequence of that second choice.

The two settings

  1. Create the page you want as your home page and publish it.
  2. Create a second page for the blog — call it Blog, News, Articles, whatever you like — and leave its content completely empty.
  3. Go to Settings → Reading.
  4. Select A static page.
  5. Set Homepage to your home page and Posts page to the empty one.
  6. Save.

Your designed page is now at the site root, and your posts are listed at the second page's URL.

The rule that trips everyone up

The posts page's own content is never displayed. WordPress takes the page's title and URL and replaces its body with the post listing generated by the theme.

So anything you write on that page vanishes from the front end. This is the single most common confusion around this setting, and it is why the page should be empty — see page content not showing in the editor for the related symptoms and how to tell them apart.

If you need an introduction above the post list, that comes from the theme's archive template or a block theme's Blog template, not from the page.

What changes, and what does not

Thing Effect
Front page URL Your home page is served at the site root, not at its own slug
Blog URL Posts now list at the posts page's URL
Individual post URLs Unchanged — the posts page does not become a prefix
Menus Nothing automatic; add the pages yourself
Feeds The main feed still serves posts

The third row surprises people who expect posts to move to /blog/post-name. They do not. If you want a prefix on post URLs, that is a permalink structure change, with the redirect consequences described in permalinks not working — and it is worth doing before the site has traffic rather than after.

Fixing the menu afterwards

The menu is not updated for you, and two problems follow.

The home link may point to the page's own slug rather than to the site root. Both work, but they are different URLs for the same content, which splits analytics and is untidy. Use a Home link that points at the root — most menu interfaces offer a "Custom link" for this.

The blog is missing from the menu, because the empty page was never added. Add it, and remove any older link that pointed at the root as the blog. Creating a WordPress menu covers the interface for both.

Block themes do it differently

In a block theme the front page still obeys Settings → Reading, but what it looks like comes from templates in the site editor.

  • The Front Page template renders whatever the reading setting points at.
  • The Home template renders the posts listing.
  • A page assigned as the front page can also use its own Page template.

So on a block theme you set the page in Settings and design it in the editor, and if the front page is not changing, you are usually editing the wrong template rather than the wrong setting. What a block theme is explains the template hierarchy, and site editor not loading covers the case where you cannot get into it at all.

Classic themes sometimes add their own front page options in the customiser, which can conflict with the reading setting. If both exist, the theme's own homepage builder usually wins — check the theme's documentation before assuming WordPress is ignoring you.

When a static homepage is the wrong choice

Not every site benefits. A publication whose value is freshness — news, a personal journal, a site posting several times a week — is better served by the default, where the newest work is the first thing anyone sees.

The static homepage is right when the site sells or explains something and the blog supports it. That is the shape described in using WordPress to make a website, and if the front page is a campaign rather than an overview, landing pages is the more specific advice.

Common mistakes

  • Writing content on the posts page and reporting it as a bug.
  • Assigning the same page as both homepage and posts page, which produces a recursive mess.
  • Deleting the old front page before checking what linked to it — see finding broken links.
  • Forgetting the menu, so visitors can reach the home page but never the blog.
  • Changing this on a live site without checking the front page in a logged-out browser afterwards.

Verify

Open the site root in a private window: you should see the designed page, not a post list. Open the posts page URL: you should see posts, with no leftover page content. Click a post and confirm its URL is unchanged. Finally, check the menu's home link resolves to the root rather than to a slug — the two look identical and only one is the address you want people sharing.

Frequently asked

Because WordPress ignores it. Once a page is assigned as the posts page, its own content is replaced by the post listing. That is expected behaviour, not a bug, and it is why the page should be left empty.
Settings, then Reading. Choose 'A static page', pick your page as the homepage, and optionally pick a second empty page as the posts page. In a block theme you can also assign templates in the site editor, but this setting still decides what the front page shows.
No. The page can be called anything and have any slug — the setting decides what the front page is, and the front page is served at the site root regardless of the page's own slug.

Related guides