Uncategorized

How to Set the Homepage in WordPress: 5 Methods That Work in 2026

To set the homepage in WordPress, go to Settings → Reading, choose A static page, and select the page you want as your homepage from the dropdown. According to the WordPress Settings → Reading documentation, this single setting controls whether the homepage shows your latest blog posts or a fixed page. Everything else in this […]

Tarun Sharma
Tarun Sharma Founder, Chetaru
|
Jan 2, 2023
|
7 min read
Share
How to Set the Homepage in WordPress: 5 Methods That Work in 2026

Need More Growth & Leads?

We are ready to work with your business and generate some real results…

Let's Talk

To set the homepage in WordPress, go to Settings → Reading, choose A static page, and select the page you want as your homepage from the dropdown. According to the WordPress Settings → Reading documentation, this single setting controls whether the homepage shows your latest blog posts or a fixed page. Everything else in this guide is just a different way of changing the same two database values: show_on_front and page_on_front.

Key Takeaways: WordPress homepages are controlled by two wp_options values: show_on_front (“posts” or “page”) and page_on_front (the page ID). The dashboard route via Settings → Reading is the right method for 95% of users (WordPress.org docs). Customizer, SQL, WP-CLI, and direct database edits exist for the 5% of edge cases where the dashboard is unavailable (broken admin, automation, migration). With WordPress 6.7+ and block themes, the Site Editor adds a sixth route for editing the homepage template itself, separate from setting which page acts as the homepage.

What does “setting the homepage” actually mean in WordPress?

Setting the homepage in WordPress means telling the site whether visitors landing at the root URL see the blog post archive (the default) or a specific page. The setting lives in two rows of the wp_options database table: show_on_front and page_on_front. Every method below is a different interface to the same two values.

The two settings:

  • show_on_front. Accepts either posts (default; shows blog archive) or page (shows a static page).
  • page_on_front. The numeric post ID of the page to show when show_on_front is set to page. The ID is visible in the URL when editing the page in the dashboard.

A common confusion worth clearing up: the homepage and the home URL are different things. The home URL is the root domain (set via siteurl and home options). The homepage is the content shown when someone visits that URL. Changing one does not change the other.

How do you set the homepage from the WordPress dashboard?

The dashboard method is the right answer for almost every user. It works on any WordPress install with admin access, regardless of theme or version. WordPress.org’s Reading Settings documentation describes the exact steps.

The five-step dashboard method:

  1. Log in to the WordPress admin dashboard.
  2. Create or identify the page you want as the homepage. Pages → Add New if it does not exist yet.
  3. Go to Settings → Reading.
  4. Under Your homepage displays, choose A static page, then pick the page from the Homepage dropdown.
  5. Click Save Changes.

The dropdown only shows published pages, so the page has to be published (not draft) before it appears as an option. If a freshly created page is missing from the dropdown, refresh the Reading Settings screen.

The same screen has a Posts page dropdown that controls where the blog archive moves to once the homepage becomes a static page. Most sites set this to a page called “Blog” or “News”. Without this second setting, the blog archive becomes inaccessible.

How do you set the homepage in a block theme via the Site Editor?

Block themes (Twenty Twenty-Three, Twenty Twenty-Four, Twenty Twenty-Five, and others) introduce a second concept: the homepage template, edited in the Site Editor, separate from which page acts as the homepage. WordPress.org’s Site Editor documentation covers the difference.

The two-layer block-theme model:

  • The page (Pages → Edit) holds the homepage’s content and is selected via Settings → Reading.
  • The template (Appearance → Editor → Templates → Front Page or Home) controls the layout the page is rendered in.

A common mistake is editing the template when the goal is content changes, or editing the page when the goal is layout changes. The fast rule:

  • Want to change words, images, or blocks visible on the homepage? Edit the page (Pages → All Pages).
  • Want to change site-wide layout, header, footer, or homepage template structure? Edit the template (Appearance → Editor).

Classic themes do not split this way; the homepage page and the template behave as one in classic theming. Block-theme adoption has grown since WordPress 6.1, and the Site Editor is the recommended interface for theme-level homepage changes in 2026.

When should you use the Customizer or other methods instead?

The Customizer (Appearance → Customize → Homepage Settings) is the same control as Settings → Reading, exposed in a different UI. It exists for classic themes and remains available for older sites. WordPress.org’s Customizer documentation confirms the two routes are interchangeable.

When to pick which method:

Method Best for Risk
Settings → Reading (dashboard) Everyone with admin access None
Site Editor (block themes) Editing the template, not which page Confusing template vs page edits
Customizer (classic themes) Same as Reading, preview-while-editing None
WP-CLI command Automation, deployment scripts Mis-typed commands affect production
Direct database / SQL edit Broken admin, recovery only Schema changes break the site
wp-config.php WP_HOME/WP_SITEURL Wrong tool for setting the homepage page This sets the site URL, not the homepage

The wp-config.php WP_HOME and WP_SITEURL constants are about the site URL, not the homepage content. The original version of this guide listed wp-config.php as a way to “set the homepage”, but the constants in question do not control which page is the homepage. They control the address WordPress treats as its base URL. Editing them when the goal is to set a static front page produces nothing useful and can break the site if mis-typed.

How do you set the homepage via WP-CLI for automation?

WP-CLI is the command-line tool for WordPress administration, and it produces clean, scriptable homepage changes. Two commands set the homepage:

wp option update show_on_front page
wp option update page_on_front 42

Replace 42 with the actual page ID. To find the page ID, run:

wp post list --post_type=page --fields=ID,post_title,post_status

WP-CLI is the right tool for:

  • Deployment scripts that need to seed a homepage during a fresh install.
  • Multi-site networks where each site needs its homepage set consistently.
  • Migration tooling that imports content and needs to wire up the homepage at the end.

Two safety practices that matter:

  • Always run the page-list command first to confirm the target ID; the command does not validate that the ID exists as a published page.
  • For network sites, prefix each command with --url=https://site.example.com so it targets the right site in the network.

How do you set the homepage directly in the database when the admin is broken?

Direct database editing is the recovery method, not the default. If the WordPress admin is locked out (plugin conflict, theme error, fatal error), changing the wp_options rows directly in phpMyAdmin or another database tool produces an immediate fix.

The two rows to update:

UPDATE wp_options SET option_value = 'page' WHERE option_name = 'show_on_front';
UPDATE wp_options SET option_value = '42' WHERE option_name = 'page_on_front';

Replace 42 with the actual page ID, found in the wp_posts table where post_type is page and post_status is publish.

Three rules for direct database edits:

  • Back up the database before any edit. WordPress will not undo the change automatically.
  • Check the table prefix. Many sites use a prefix other than wp_ (such as wp_xyz_options). The SQL fails silently if the table name is wrong.
  • Clear the object cache and any page cache after the edit. WordPress Multisite installs and sites with Redis or Memcached cache wp_options reads, so the new value may not take effect until the cache is flushed.

Database edits are reversible only by another database edit, which is why this should be the last resort, not the first.

What goes wrong when the homepage does not appear correctly?

Most homepage problems trace back to one of five causes. The symptoms and fixes:

  • The dropdown does not show the page. The page is in draft or trash. Publish it from Pages → All Pages.
  • The homepage shows the blog archive even though Reading is set to a static page. A caching plugin or CDN is serving an old cached version. Flush the cache via the plugin and at the CDN level.
  • The homepage shows a 404. The slug of the front page conflicts with another URL, or the page was deleted but page_on_front still points to its ID. Re-pick the page in Settings → Reading.
  • Block-theme homepage renders without the expected layout. The template was overridden in the Site Editor. Go to Appearance → Editor → Templates → Front Page and reset or re-customise.
  • Multilingual sites show the wrong language homepage. WPML, Polylang, and similar plugins each have their own front-page-per-language settings layered on top of Settings → Reading. Check the plugin’s homepage settings, not just core’s.

The diagnostic order for any homepage issue: confirm the page is published, confirm Settings → Reading points to that page, flush all caches, then check the theme’s Site Editor templates (block theme) or theme settings (classic theme).

Frequently asked questions

WordPress uses “front page” and “homepage” interchangeably in the dashboard. The Reading Settings screen says “Your homepage displays”, and the underlying option is page_on_front. The Customizer and Site Editor sometimes say “Front Page” and sometimes say “Home Page”. They refer to the same thing.

What this means in practice

Setting the WordPress homepage is one Reading Settings change for almost everyone, and the dozens of “alternative methods” floating around are mostly the same change exposed through different tools. The dashboard method works; the Customizer is the same control in a different UI; WP-CLI is for automation; database edits are for recovery only. Block themes add a Site Editor layer for the template, separate from the page selection. Pick the method that matches the use case and skip the rest.

For related reading, see our guides on migrating from Squarespace to WordPress, page speed optimisation, and our WordPress design and development service.