Recently Updated: 16 min read

Static Front Page and Posts Page: Two URL Risk

Static Front Page and Posts Page: Two URL Risk

If WordPress shows the same list of posts on your front page and on your blog page, one dropdown on the Reading screen is almost certainly empty. The static front page option needs two Pages, and each one has a different job. An owner turning a blog into a business site, or an agency that has just inherited an install, can settle the question by reading three sentences of the official documentation and opening two URLs.

How the setting is built

The WordPress documentation page Settings Reading screen (Opens in a new tab) says the front page settings work only if you have one or more Pages defined. Under "A static page (select below)" you find two dropdowns. "Homepage" picks the Page shown as the front page, and "Posts page" picks the Page that will hold your posts. The documentation says the Home page and the Posts page cannot be the same. Labels are quoted in English; a localized dashboard may word them differently.

What each empty dropdown causes

DropdownJobResult when left empty
"Homepage"Chooses the front pageThe blog shows posts on both the front page and the Posts page you specify
"Posts page"Chooses where posts are listedPosts are reachable only through other navigation such as category, calendar or archive links

The same documentation page warns that static front page plugins and other plugins that control or restrict how posts are displayed may affect how these features work. A correct configuration on the screen still needs a check against the real pages.

Symptoms and what they point to

Practical suggestion: start from what you see on the site and work back to the setting.

SymptomPossible cause according to the documentationTest
The same post list on the front page and on /blog"Homepage" left empty while "Posts page" is chosenOpen both dropdowns on the Reading screen
No blog page in the menu, posts only through categories"Posts page" left emptyCheck the "Posts page" dropdown
Intro text written on the posts page does not showThe assigned template is ignored; index.php or home.php controls displayInspect the theme's template files
The blog section breaks after adding a front page templateThe template may be named home.phpLook at the file name

The documentation does not claim that each symptom has only one cause. Themes and plugins can add their own behavior, which is why the last column is a test and not a verdict.

Quick triage: from symptom to fix

Practical suggestion: work through these in order.

  1. Same list on two URLs: confirm the "Homepage" dropdown is filled.
  2. Posts reachable only through archives: fill the "Posts page" dropdown.
  3. Intro text missing on the posts page: look at how index.php and home.php behave in the theme, not at the page template.
  4. Blog section broken: check whether the front page template is called home.php.
  5. Everything correct but the symptom persists: disable plugins one by one, because the documentation warns they can affect these features.

Change one thing at a time and reopen both URLs after each step. The decision of which design to choose comes first: if the front page should be a stream of new articles, "Your latest posts" already does the job and no second Page is needed.

Treat the check as recurring. A theme update, a page builder change or a new SEO plugin can alter output even when the setting stays the same. Rerun the six verification steps after each major update and note the date in the site's maintenance log, so that a later reappearance of the duplicate list can be traced to the change that caused it.

What the setting changes and what it leaves alone

Loading the Reading screen with too much meaning leads people to touch the wrong thing. Sorting documented behavior from silence keeps the work focused.

TopicStatus in the documentationConsequence
Which Page is the front pageSet by the "Homepage" dropdownThe setting controls it
Which Page lists postsSet by the "Posts page" dropdownThe setting controls it
URL format of the posts pageNot describedCheck the Page's own URL and the permalink settings
Canonical tag outputNot describedTheme and SEO plugin decide
Effect on search rankingsNo statementDo not promise any
Plugin interactionWarning that plugins may affect these featuresTest the real output after every change

Two URLs in analytics

While the same list lives on two URLs, analytics reports split traffic and blur which URL is the real entry page. Practical suggestion: after the fix, track the front page and the posts page as separate rows and write the date of the change into your reporting notes. A shift in traffic distribution can then be attributed to the setting or to a seasonal pattern instead of guessed at.

The home.php naming trap

The documentation says that if you create a static home page template file, you should not name it home.php, otherwise you will have problems when you try to view the blog or posts section of your site. It suggests any other name, with myhome.php as the example.

The reason appears in another sentence on the same page: for the Page chosen as Posts page, any assigned template is ignored, and the theme's index.php, or home.php if it exists, controls the display of posts. WordPress looks for home.php when it lists posts, so a front page template carrying that name competes with the post list.

Practical notes for theme work

  • Keep custom templates in a child theme so a parent theme update does not overwrite them.
  • After renaming a template, reassign it to the front page, save, and reopen both URLs.
  • The documentation contains no code sample; it gives only the file name warning.

Block themes are not discussed on the Reading page. If your theme is block based, confirm in the theme's own documentation how the site editor templates handle the posts page. WordPress documentation and interface labels change between versions, so check the current page before you act.

Two worked examples

Example scenario: a pilates studio

A pilates studio installed WordPress as a blog, so the front page lists recent posts and visitors cannot tell which classes it offers. The owner writes a "Classes" Page with class types, the weekly schedule and contact details, then creates "Journal" for the posts. On the Reading screen "A static page" is chosen, Classes goes into "Homepage" and Journal into "Posts page". The sentence typed into Journal does not appear, which matches the documentation: the assigned template is ignored. The owner moves that sentence to a block placed with the theme's tools, adds Journal to the menu, redirects the old blog URL and confirms in the sitemap that both Pages appear once.

Example scenario: an amateur sports club

A sports club uses an old theme where announcements fill the front page and membership details sit deep in the menu. The committee wants newcomers to see what the club offers first. It builds "Club" as the static Page and "News" as the posts page, then adds a section on the Club page that pulls in the latest announcements. That section is content placed on the page, not a substitute for the Reading setting. Visitors meet the club, still see fresh news, and the News page carries the full archive.

Duplicate content: choosing the right fix

A post list on two URLs is duplicate content. Google's documentation on consolidating duplicate URLs (Opens in a new tab) names four reasons to specify a canonical: to say which URL people should see in search results, to consolidate signals for similar or duplicate pages, to simplify metric tracking, and to avoid spending crawl time on duplicates.

The same page ranks the methods. A redirect is a strong signal that the target should become canonical, a rel canonical annotation is also strong, and a sitemap entry is weak. It adds that the methods can be combined, that none is required, and that Google can choose a canonical on its own.

Which method suits this particular fault

SituationPractical suggestionReason
"Homepage" empty, posts on two URLsFix the setting firstThe cause is configuration; a canonical would only mask it
Old blog URL now belongs to a different pageRedirect it to the new Posts page URLA redirect is a strong signal and also moves the visitor
Front page and posts page both crawlableEach page canonicalizes to its own URLEach URL represents its own content
Corrected URLs still missing from the sitemapList only the final URLsURLs in a sitemap are suggested as canonicals

Practical suggestion: fix first, verify second. If you use a canonical tag to hide a broken setting, nobody notices when the setting breaks again. For canonical mistakes in general see canonical tag issues, audit and fixes.

Giving each page its own identity

With two pages in place, their titles, descriptions and main headings should differ; otherwise two distinct URLs look alike in results. The Reading documentation does not mention titles, so this comes from your theme and SEO plugin. Remember that the posts page ignores its assigned template, so manage its title from the SEO plugin's page field.

ElementFront pagePosts page
TitleBrand and main serviceName and topic of the blog
Meta descriptionWhat the business doesWhich topics the blog covers
Main headingValue propositionBlog name
Internal linksServices, contact, featured postsCategories, newest posts

Converting a live blog-front-page site

An empty install is easy. The hard case is a site that has served as a blog home for years, because the change rewires which URL does what. The documentation does not cover the SEO effects of such a switch, so the six-step conversion list is practical suggestion.

  1. Prepare the new front page as a draft with real content before it goes live.
  2. Create a separate Page for posts and give it a clear name.
  3. On the Reading screen set both dropdowns in a single save, using two different Pages.
  4. Check what happened to paginated URLs of the old front page, since the post list now lives elsewhere.
  5. Decide what to do with links from other sites to the old front page. They now reach the business page; if that is not what you want, redirect.
  6. Update menus, footers and widgets so they point to the new posts page.

A static front page no longer shows new posts automatically. Discovery of new articles now relies on the posts page, categories and related-post links. Practical suggestion: link from the front page to the posts page and to a few featured articles on purpose. The pagination of listing pages is covered in SEO pagination for category pages.

Because the documentation says posts are reachable only through category, calendar or archive links when no Posts page is chosen, picking the Page does not replace a menu entry. Use these questions after the change.

  • Does the main menu contain a clear link to the posts page, and does its text match the Page's real name?
  • Does the front page link to the posts page at least once in a visible spot?
  • Can a reader get from a single article back to the posts page or a category?
  • Does the footer still point at the old blog URL?
  • Does the mobile menu carry the same links?

Practical suggestion: run these checks once on a phone and once on a desktop. Some themes manage the mobile menu through a separate setting, so a link added to the main menu may be missing there.

Verification after saving

StepActionExpected result
1Open the front page in a private windowThe static Page you selected
2Open the posts page in a private windowA post list that differs from the front page
3Read the canonical tag in each page sourceEach points to its own URL
4Click the page 2 link on the posts pageA unique URL with different posts
5Open the sitemapFront page and posts page each appear once
6Look for the intro text you added to the posts pageIf absent, the theme ignores the page content

Search results lag

Which URL Google shows does not change at the moment you save. The documentation gives no timeframe. Practical suggestion: use the URL Inspection tool in Search Console to compare Google's selected canonical with the one you expect.

Handing the change to a staging site first

A setting that changes the role of the front page deserves a trial run away from the live site. Practical suggestion: change it on a staging copy, run the verification steps, then repeat on production. Keep the staging copy out of search results; fixing a staging site indexed by Google explains what to do when it slips through.

  • Do not assume a setting made on staging reached production. Open the Reading screen on the live site and confirm both dropdowns.
  • Redirect the old blog URL and update menus on the same day as the switch.
  • Purge the page cache after saving; a cached page can hide the new output.

Quick fixes that create new faults

The shortcut table lists tempting reactions to the fault and why each one creates a new problem. None of the rows is a WordPress rule; they follow from the logic in the duplicate content section.

ShortcutProblemBetter route
Noindex the posts pageThe main blog list leaves the indexFix the empty dropdown instead
Redirect the posts page to the front pageContradicts the rule that both cannot be the same Page and closes the blog pathKeep two Pages
Canonical from the front page to the blogTies a business page to a post listSelf-referencing canonicals
Switch back to "Your latest posts"Solves the duplicate but loses the front page you wantedFill both dropdowns
Fake a static front page with a pluginThe documentation warns plugins affect these featuresUse the core setting

Auditing an inherited install

Practical suggestion: when you take over an install, treat the Reading screen as the first page of the handover audit and record what you find.

  1. Assuming the front page is intentional. A latest-posts front page may be a default nobody revisited. Ask what the front page is supposed to do before changing it.
  2. Fixing the symptom only. Adding a canonical or a noindex to hide a duplicate list leaves the empty dropdown in place.
  3. Ignoring the menu. A correct setting with no menu link still hides the blog from visitors.
  4. Skipping the private-window test. Cached or admin-only output can make a broken setup look fine.
  5. Forgetting analytics. Without a dated note, a later change in traffic distribution cannot be traced to the fix.

A handover note should list the two dropdown values, the date they were verified, the template file names in use, and the plugins that touch post display. With that note, the next person does not need to rediscover the home.php warning or the empty dropdown from scratch.

Documented behaviors of the posts page at a glance

The WordPress Reading screen documentation spells out what happens in each of these states. The table pairs every state with the check that confirms it on your own site.

StateResult according to WordPress documentationCheck to run
No Home page selectedPosts appear on both the front page and the Posts pageCompare the two addresses side by side
No Posts page selectedPosts are reachable only through category, calendar or archive linksConfirm the blog link exists in the menu
Posts page is password protectedVisitors are not asked for the passwordReview what protection you expected
A template is assigned to the Posts pageThe template is ignored; index.php, or home.php if it exists, controls displayInspect the theme files
One Page chosen for both rolesThe Home page and Posts page cannot be the samePick two different Pages

A misreading to avoid: canonical as an order

Google describes its canonical methods as signals that stack, and none is mandatory. If you specify nothing, Google chooses the version it considers best. The documentation also recommends a self-referencing canonical on the canonical page and internal links that point to the canonical address. A canonical tag cannot repair an empty dropdown on the Reading screen, because the fault lies in the setting itself.

Practical suggestion: fill both dropdowns first, then audit internal links and canonical tags against the new structure.

Questions to answer before saving

  • Which Page is the front page, and which Page holds the posts?
  • Does the theme have a template that the Posts page would silently ignore?
  • Do menu links point to the canonical addresses?
  • Does any plugin alter how the posts display?

Audit checklist

  • Is a separate Page chosen for "Homepage"?
  • Is a different Page chosen for "Posts page"?
  • Does the front page template avoid the home.php name?
  • Do you know that a template assigned to the posts page is ignored?
  • Were both URLs opened in a private window?
  • Does every canonical point to its own page?
  • Does the old blog URL redirect to the new posts page?
  • Were menus and footers updated?
  • Do the front page and posts page appear once each in the sitemap?
  • Were plugins that affect post display tested? The wider order of settings is in the WordPress SEO settings checklist.

Frequently Asked Questions

How many Pages does a static front page need?

Two. One goes into the "Homepage" dropdown and another into "Posts page". The WordPress documentation says they cannot be the same Page.

Will my blog disappear if I skip the posts page?

It is not deleted. Per the documentation, posts are then reachable only through other navigation such as category, calendar or archive links, so visitors may struggle to find them.

The front page and blog show the same posts. Can a canonical tag fix that?

Fix the setting first. The documentation says an empty "Homepage" makes posts appear on both the front page and the posts page. A canonical is a strong signal but leaves the configuration fault in place.

What should I name my front page template?

The documentation says not to name it home.php and suggests another name, such as myhome.php.

Why does the text I typed on the posts page not appear?

The documentation says a template assigned to the posts page is ignored and that index.php or home.php controls how posts display. Whether the page's own content appears depends on the theme.

Does a static front page rank better?

The documentation makes no such claim. It lets you write your own content for the front page; ranking expectations should not be tied to the setting.

Conclusion

The static front page setting needs two filled dropdowns and two different Pages. An empty "Homepage" duplicates the post list, an empty "Posts page" leaves posts reachable only through archives, and a template named home.php can break the blog section. Open both URLs in a private window, confirm canonicals and the sitemap, and treat the check as recurring.

Once the front page and the blog have separate jobs, our content writing service can help you fill both with strong articles.

0 Comments

No comments yet for this article.

Post a comment

Please log in to leave a comment. Login