Default blog page URL
April 2, 2025 · AI Conversations
—
### ✅ **If you haven’t changed any settings:**
– Your blog posts will appear on the **home page**, and the URL is:
https://yourdomain.com/
—
### ✅ **If you set a static front page and assigned a separate blog page:**
1. Go to **Settings → Reading** in your WordPress dashboard.
2. Under **“Your homepage displays”**, if you selected:
– **A static page**
– **Homepage** → some page (e.g., “Home”)
– **Posts page** → some page (e.g., “Blog”)
Then your blog URL will be the permalink of the page assigned as the **Posts page**, e.g.:
https://yourdomain.com/blog/
✅ You can check it by:
– Going to **Pages → All Pages**
– Looking for the one marked as “— Posts Page” in the list
– Clicking “View” on that page
—
Let me know if you're using a custom permalink structure or have a multilingual setup like WPML — I can tailor the answer better.
—
### 🔍 **Template hierarchy for the Blog (Posts) page:**
When you set a **Posts page** (e.g., "Blog"), WordPress uses the following template hierarchy:
1. **`home.php`**
→ If your theme has this file, it will be used for the Posts page.
2. **If `home.php` doesn’t exist:**
→ WordPress will fall back to:
**`index.php`**
—
### 💡 Special notes:
– Even though it's a *Page*, the assigned **Posts page does not use `page.php`**.
– `home.php` is **not** the front page unless the front page is set to display posts.
– If you want to customize the layout of your blog listing (like looping through posts differently), create or edit `home.php`.
—
### 🛠 Example: Want a custom layout?
Create a `home.php` in your theme folder and use the WordPress Loop:
<?php get_header(); ?>
<main>
<h1>Blog Posts</h1>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p><?php the_excerpt(); ?></p>
</article>
<?php endwhile; endif; ?>
</main>
<?php get_footer(); ?>
—
If you're using a page builder like Elementor, Divi, or a theme like Avada or Astra, let me know — the behavior can be different.
—
### 🚫 By default:
WordPress does **not** use `archive.php` for the **Posts Page** (the page set under **Settings → Reading → Posts page**). It uses:
– `home.php` (if it exists)
– Falls back to `index.php`
—
### ✅ **But you *can* use `archive.php` for your blog posts** by doing one of the following:
—
### **Option 1: Don’t assign a “Posts page” in Settings**
Instead, **leave “Posts page” blank** in:
**Settings → Reading**
– Homepage: Your chosen page
– Posts page: **(Leave unassigned)**
Then, access your blog posts at:
https://yourdomain.com/category/news/ ← (or any post category)
These pages will now use `archive.php` or even `archive-{post_type}.php` if it exists.
—
### **Option 2: Use a custom post type**
If you're using a custom post type (e.g. `news`), then:
– `archive-news.php` or
– `archive.php`
…will be used by default.
—
### 💡 Hacky workaround (not recommended):
If you *must* assign a "Posts page" but still want to force `archive.php`, you could:
1. **Create a custom query in a page template** to mimic `archive.php`.
2. Or, **redirect** the Posts page to a category archive or post type archive.
—
### ✅ Best practice:
Use `home.php` for the blog listing, and structure it like your `archive.php` if you want consistency.
—
Let me know your setup:
– Are you using the default “post” type or a custom one?
– Using any theme framework like Astra, Divi, etc.?
I can give you a more precise way to force `archive.php` in your case.