Posts vs Pages
By the end of this lesson you will know exactly when to create a post and when to create a page. You will also organise posts with categories and tags, schedule a post for later, and see how WordPress stores both in the same database table.
The simple rule
WordPress has two main kinds of content:
- Posts are dated, timely entries. Think of news, blog articles, exam updates or offers. New posts appear at the top of your blog list, and older ones move down.
- Pages are fixed, timeless content. Think of Home, About Us, Courses, Fees and Contact. They do not belong to a date.
A school notice board is a good picture. Daily notices ("Holiday on Friday", "Results declared") are posts. The school's address, rules and admission process, printed in the prospectus, are pages.
| Feature | Posts | Pages |
|---|---|---|
| Shown by date in a list | Yes | No |
| Categories and tags | Yes | No |
| In the RSS feed | Yes | No |
| Can have a parent (sub-pages) | No | Yes |
| Typical use | News, articles, updates | Home, About, Contact, Policies |
Creating your first post
Step 1: Go to Posts > Add New Post (or press Ctrl+K and type "add new post").
Step 2: Type a title, for example "Class 10 Board Exam Tips from Our Maths Teacher".
Step 3: Click below the title and write two short paragraphs.
Step 4: Open the Settings sidebar (the square icon at the top right) and click the Post tab. You will see Status, Publish date, Categories, Tags, Featured image and Excerpt.
Step 5: Click Publish, then Publish again to confirm. WordPress shows "Post published" with a View Post link.
Open the link. Your post shows its date and author, and it now appears at the top of your blog list.
Categories and tags
Posts can be grouped two ways:
- Categories are broad sections, and they can have sub-categories. Example: "Board Exams", with a child category "Class 10".
- Tags are small labels with no hierarchy. Example: "algebra", "time management", "Rohtak".
A library uses the same idea. Categories are the shelves (Science, History). Tags are the small subject words written inside each book.
Every post must have at least one category. If you do not choose one, WordPress uses the default category, which is called Uncategorized on a new site. Rename it under Posts > Categories to something useful such as "News".
Keep categories few, maybe five to ten. Too many thin categories confuse visitors and search engines.
Creating a page
Step 1: Go to Pages > Add New Page.
Step 2: Title it "Fees and Batches" and add a short table or list.
Step 3: In the Page tab of the sidebar, look for Parent (sometimes shown under "Page attributes"). Choose "Courses" if you want this page to sit under it.
Step 4: Click Publish.
With a parent, the address becomes nested, which tells visitors where they are:
https://brightfuture.in/courses/
https://brightfuture.in/courses/fees-and-batches/Status, scheduling and visibility
Both posts and pages have a status:
| Status | Meaning |
|---|---|
| Draft | Saved, not public |
| Pending Review | Waiting for an editor to approve (used by Contributors) |
| Scheduled | Will publish automatically at a future date and time |
| Published | Live for everyone |
| Private | Visible only to logged-in editors and admins |
To schedule a post, click the publish date in the sidebar and pick a future time, for example 1 March at 8:00 am, before a board exam. The button changes from Publish to Schedule. Make sure Settings > General > Timezone is set to your city (for India choose Kolkata), or the post will go live at the wrong hour.
You can also password protect a post or page. Visitors must type the password to read it. This is handy for a parents-only timetable, but it is not strong security, so never use it for private documents such as mark sheets.
Slugs and excerpts
The slug is the part of the address made from the title. WordPress turns "Class 10 Board Exam Tips from Our Maths Teacher!" into class-10-board-exam-tips-from-our-maths-teacher. You can shorten it in the sidebar to class-10-maths-tips. Short, readable slugs are easier to share on WhatsApp.
The excerpt is a short summary shown in blog lists and sometimes in search results. If you leave it empty, WordPress cuts the first part of your post automatically.
How WordPress stores posts and pages
Here is a surprise: posts and pages live in the same database table, wp_posts. A column called post_type tells them apart. You can see this in phpMyAdmin with a query like this:
SELECT ID, post_title, post_type, post_status
FROM wp_posts
WHERE post_type IN ('post', 'page')
ORDER BY ID;+----+-------------------------------------------------+-----------+-------------+ | ID | post_title | post_type | post_status | +----+-------------------------------------------------+-----------+-------------+ | 1 | Hello world! | post | publish | | 2 | Sample Page | page | publish | | 5 | Class 10 Board Exam Tips from Our Maths Teacher | post | publish | | 7 | Fees and Batches | page | draft | +----+-------------------------------------------------+-----------+-------------+
"Hello world!" and "Sample Page" are created by the installer. Your own IDs will differ. Later, you will create your own custom post types, such as "course", which live in the same table.
Developers often fetch posts with PHP. This snippet gets the three latest posts in the "Board Exams" category:
<?php
$latest = get_posts( [
'post_type' => 'post',
'category_name' => 'board-exams', // category slug
'numberposts' => 3,
] );
foreach ( $latest as $post ) {
echo esc_html( $post->post_title ) . "\n";
}Class 10 Board Exam Tips from Our Maths Teacher How to Plan Your Last 30 Days Before Boards Sample Paper Mistakes Students Make
esc_html() makes the title safe to print. You will meet it again in the developer lessons.
Common mistakes
- Making "Contact Us" a post. It then shows a date and appears in your blog list. Use a page.
- Writing news as pages. Pages do not appear in the blog list or feed, so readers never find them.
- Leaving "Uncategorized" on every post. Rename it and choose a real category each time.
- Changing a slug after sharing the link. Old links break. If you must change it, add a redirect.
- Scheduling with the wrong timezone. Set Kolkata before you schedule anything.
Key points
- Posts are dated and timely; pages are fixed and timeless.
- Posts use categories (hierarchical) and tags (flat); pages can have parent pages instead.
- Status can be Draft, Pending Review, Scheduled, Published or Private.
- Set the timezone before scheduling posts.
- The slug is the readable part of the URL; keep it short and do not change it after sharing.
- Posts and pages are both stored in
wp_posts, separated by thepost_typecolumn.
Exercise
For a coaching centre site, decide whether each item should be a post or a page: 1) "Our Teachers", 2) "JEE Main results announced", 3) "Refund policy", 4) "Diwali holiday notice", 5) "Batch timings". Then create one post in a new category "Notices" and schedule it for 9:00 am next Monday.
Show solution
Pages: Our Teachers, Refund policy, Batch timings (fixed information). Posts: JEE Main results announced, Diwali holiday notice (dated news).
To schedule: create the post, add the category "Notices" in the Post tab, click the publish date, choose next Monday 9:00 am and click Schedule. In the posts list, the status column now shows:
Diwali holiday notice: Scheduled for next Monday at 9:00 amQuick Quiz
1. Which content should be a page?
Pages are for fixed, timeless information such as policies.
2. What is the main difference between categories and tags?
Categories are hierarchical sections; tags are free labels with no hierarchy.
3. Where does WordPress store both posts and pages?
Both are rows in wp_posts; the post_type column says which is which.
4. Your scheduled post went live 5 hours 30 minutes late. What is the likely cause?
India is UTC+5:30, so set the timezone before scheduling.
Learn WordPress with a mentor
Free lessons get you started. Our WordPress & Website Building training adds real projects and code reviews from working developers.
- Project-based learning
- Mentor code reviews
- Free counselling call
