
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 feed, while pages are timeless, standalone content such as About, Contact, or Services. Posts are organized with categories and tags and usually show an author and publish date; pages are organized in a parent-child hierarchy and are typically added to your navigation menu. Both are edited with the same block editor, but WordPress treats them very differently behind the scenes.
Choosing the right one matters more than it seems. Put your services in a post and it will slowly sink down your blog archive; publish news as a page and it will never reach your subscribers. This guide explains how posts and pages differ, how each one is structured, when to use which, and how to convert between them if you picked the wrong one.
What Are WordPress Posts?
Posts are the content type WordPress was originally built for: blog entries. Every post has a publish date, and WordPress displays posts in reverse chronological order, so your newest content appears first.
Typical examples of posts include:
- Blog articles and tutorials
- News announcements and company updates
- Product reviews and case studies
- Event recaps and podcast episode notes
You'll find posts under Posts in your dashboard, and you create a new one from Posts > Add New Post.
What Are WordPress Pages?
Pages are for content that doesn't depend on a date and doesn't belong in a stream of updates. They're the permanent fixtures of your website.
Typical examples of pages include:
- Home, About, and Contact
- Services, Pricing, and Portfolio
- Privacy Policy and Terms of Service
- Landing pages for campaigns
You'll find pages under Pages in your dashboard, and you create one from Pages > Add New Page.
Key Differences Between Posts and Pages
Here's a closer look at how the two content types differ.
1. Time Sensitivity
Posts are date-driven. Their publish date is part of their identity, often displayed on the front end and sometimes included in the URL. Pages are timeless; the date exists in the database but themes rarely display it.
2. Organization: Taxonomies vs. Hierarchy
Posts are organized with categories and tags. Categories group posts into broad topics, while tags describe specific details. Visitors can browse all posts in a category or tag through automatically generated archive pages.
Pages don't support categories or tags by default. Instead, they're hierarchical: a page can have a parent page. For example, you might create a "Services" page with child pages "Web Design" and "SEO," which gives you URLs like example.com/services/web-design/. You set the parent in the page's settings sidebar under Parent.
3. Where They Appear
Posts automatically appear in several places:
- Your blog homepage or posts page
- Category, tag, author, and date archives
- Your RSS feed at
/feed/ - Blocks like Latest Posts and Query Loop
Pages don't appear in any of those automatically. You have to link to them yourself, usually through your navigation menu, footer, or links in your content.
4. RSS Feeds and Subscribers
Because posts are included in your RSS feed, they reach people who subscribe via feed readers or email newsletter services that pull from your feed. Pages are left out of the feed, which is what you want for static content like your privacy policy.
5. Author and Date Display
Most themes display the author name, publish date, and sometimes comment count on posts. Pages usually hide this metadata because it isn't relevant to content like a Contact page.
6. Comments
Comments are typically enabled on posts, encouraging discussion. Pages usually have comments turned off, though you can enable them per page under the Discussion panel in the editor sidebar.
7. Templates
Pages have long supported custom templates, such as "Full Width" or "Landing Page," which you can choose from the Template option in the editor sidebar. In modern block themes, posts can also use custom templates, and both are fully editable in the Site Editor. Still, themes tend to give pages more layout options.
8. Post Formats and Sticky Posts
Posts can be marked as sticky, which pins them to the top of your blog page. Some themes also support post formats like Aside, Gallery, or Quote. Pages don't have either feature.
9. Menu Order
Pages have an Order attribute that controls their sort order in page lists. Posts are always sorted by date by default.
Quick Comparison
- Dated: Posts yes; pages effectively no.
- Categories and tags: Posts yes; pages no.
- Parent-child hierarchy: Posts no; pages yes.
- Included in RSS feed: Posts yes; pages no.
- Shown in archives: Posts yes; pages no.
- Comments by default: Posts usually on; pages usually off.
- Sticky option: Posts yes; pages no.
- Custom templates: Both, though pages traditionally have more options.
What Posts and Pages Have in Common
Despite their differences, posts and pages share a lot:
- The same editor: Both use the block editor with the same blocks and patterns.
- Featured images: Both can have a featured image if your theme supports it.
- Revisions: Both keep revision history, so you can restore earlier versions.
- Statuses: Both can be drafts, pending review, scheduled, private, or password-protected.
- Custom URLs: Both let you edit their slug.
- SEO settings: SEO plugins like Yoast SEO and Rank Math add the same meta fields to both.
Under the hood, they're even stored in the same database table. Every post and page lives in wp_posts, with a post_type column set to post or page. That's also why WordPress can support custom post types like WooCommerce products or portfolio items: they're simply more values in that same column.
When Should You Use a Post?
Use a post when the content:
- Is part of an ongoing series of updates, articles, or news
- Benefits from being grouped into categories or tagged by topic
- Should reach RSS and email subscribers
- Would naturally have a date that readers care about
- Invites discussion in the comments
A useful test: if you'd be happy for this content to slowly move down a list as newer content arrives, it's a post.
When Should You Use a Page?
Use a page when the content:
- Describes your business, products, or services
- Should stay easy to find in your main navigation
- Won't lose relevance with time
- Needs a special layout, such as a landing page
- Fits into a structured hierarchy of sections
If the content would feel odd with a publish date on it, it's probably a page.
Special Cases
Your homepage: If you set a static homepage under Settings > Reading, you choose a page for it. Your posts then appear on a separate posts page.
Evergreen guides: Long, timeless guides could be either. Posts get more exposure through your feed and archives; pages stay prominent in your menu. Many sites publish guides as posts and link to the most important ones from a Resources page.
Portfolios, products, and events: These often work best as custom post types, which combine features of both. Plugins like WooCommerce and The Events Calendar register their own.
Working with Posts and Pages as a Developer
If you're writing theme or plugin code, you can check the current content type with conditional tags:
if ( is_singular( 'post' ) ) {
// A single blog post.
} elseif ( is_page() ) {
// A single page.
}
To query posts or pages, use WP_Query and set post_type:
$sajjad_pages = new WP_Query(
array(
'post_type' => 'page',
'post_parent' => get_the_ID(),
'orderby' => 'menu_order',
'order' => 'ASC',
'posts_per_page' => -1,
)
);
if ( $sajjad_pages->have_posts() ) {
echo '<ul class="child-pages">';
while ( $sajjad_pages->have_posts() ) {
$sajjad_pages->the_post();
printf(
'<li><a href="%s">%s</a></li>',
esc_url( get_permalink() ),
esc_html( get_the_title() )
);
}
echo '</ul>';
wp_reset_postdata();
}
This snippet lists the child pages of the current page, a common pattern for section landing pages. In block themes, you can achieve something similar without code using a Query Loop block or the Page List block.
Want tags on pages? You can register the existing post_tag taxonomy for pages in your child theme's functions.php or a small plugin:
function sajjad_add_tags_to_pages() {
register_taxonomy_for_object_type( 'post_tag', 'page' );
}
add_action( 'init', 'sajjad_add_tags_to_pages' );
How to Convert a Post to a Page (or Vice Versa)
WordPress doesn't include a built-in switch, but you have options:
-
Use a plugin: Post Type Switcher adds a dropdown to the editor that lets you change a post into a page or any other public post type.
-
Copy and paste: For one or two items, copy the blocks from the old content into a new post or page, publish it, then delete the original. Use the editor's Copy all blocks option from the three-dot menu.
-
Use WP-CLI: Update the post type directly, after taking a backup:
wp post update 42 --post_type=page
Whichever method you use, the URL will likely change, especially if your post permalinks include a date or category. Set up a 301 redirect from the old URL to the new one with a plugin like Redirection so you don't lose traffic or backlinks. Also review any categories and tags, since pages won't keep them by default.
FAQ: Posts vs. Pages in WordPress
Posts are dated entries that appear in your blog feed, archives, and RSS feed, while pages are timeless standalone content like About or Contact that you add to your menu.
Neither is inherently better. Search engines rank content based on quality and relevance, not whether it's a post or a page. Choose the type that fits the content, then optimize it well.
Not by default. You can add them with a small code snippet using register_taxonomy_for_object_type, or with a plugin, but parent-child hierarchy is usually the better way to organize pages.
Yes. Both the Navigation block and Appearance > Menus let you link to individual posts, pages, categories, and custom links.
That's expected. Only posts appear on the blog page and in archives. Pages must be linked manually from menus or content.
There's no practical built-in limit. Sites with many thousands of posts and pages run on WordPress, though very large sites benefit from good hosting and caching.
- Plugin: Use Post Type Switcher to change the type from the editor.
- Manual: Copy the blocks into a new page and delete the old post.
- WP-CLI: Run wp post update with the post_type argument.
Conclusion
Posts and pages look almost identical in the editor, but they serve different purposes. Posts are for timely, categorized content that flows through your blog, archives, and RSS feed. Pages are for permanent content that anchors your site's structure and navigation.
When you're unsure, ask yourself whether the content has a date that matters and belongs in a stream of updates. If it does, make it a post; if it doesn't, make it a page. Getting this right from the start keeps your site organized for visitors and makes your content easier to maintain as it grows.


