---
url: >-
  https://docs.corbitaltech.dev/products/blog-module-for-whatsmarks-saas/usage.md
description: >-
  Step-by-step usage guide for the Blog Module in WhatsMark SaaS. Create posts,
  manage categories and tags, configure SEO, and publish to the public blog.
---

# Using the Blog Module

The Blog Module gives you a full publishing workflow inside WhatsMark SaaS — create posts, manage categories and tags, configure SEO metadata, and publish content with featured images and scheduled release dates.

\[\[toc]]

## Accessing the Blog Module

Navigate to **Blog** from the admin sidebar.

The Blog section includes:

* **Posts** — create and manage published, scheduled, and draft blog entries
* **Categories** — organize posts by topic
* **Tags** — label posts for search and discovery

![Blog Posts List](./images/blog-posts-list.png)

## Posts List Overview

The **Posts** page shows all blog posts with key details at a glance.

| Column | Description |
| --- | --- |
| **#** | Row number |
| **Image** | Featured image thumbnail |
| **Title** | The post headline |
| **Categories** | Assigned category badges |
| **Status** | Draft, Scheduled, or Published |
| **Featured** | Whether the post is marked as featured |
| **Published** | Publish date and time |

### Filters and Search

* **Search** — find posts by title
* **Status** — filter by Draft, Scheduled, or Published
* **Featured** — filter featured or non-featured posts
* **Category** — filter posts by a specific category

The table supports sorting on Title, Status, Featured, Views, Published date, and Created date.

## Creating a New Blog Post

Click **New Post** from the posts list to open the post editor.

![Create New Post](./images/blog-create-post.png)

### Post Fields

| Field | Required | Description |
| --- | --- | --- |
| **Title** | Yes | The post headline; max 191 characters |
| **Slug** | Yes | Auto-generated from the title; editable with real-time uniqueness validation |
| **Excerpt** | No | Short summary shown on listing pages; max 500 characters. Falls back to the post title in meta if left blank |
| **Content** | Yes | The article body written in the rich editor; must contain visible text |
| **Featured Image** | Yes | Upload the main image for the post (JPG, JPEG, PNG, WebP, GIF — max 4 MB) |

### SEO Fields

| Field | Required | Description |
| --- | --- | --- |
| **Meta Title** | No | Custom search engine title; falls back to the post title if left blank (max 191 characters) |
| **Meta Description** | No | Custom search snippet; falls back to the excerpt if left blank (max 500 characters) |

### Status and Publishing

| Status | Description |
| --- | --- |
| **Draft** | Saves the post without publishing it; clears the publish date |
| **Scheduled** | Set a future publish date and time; the post goes live automatically when that time is reached |
| **Published** | Makes the post live immediately; sets the publish date to now if not already specified |

::: tip Timezone Note
Scheduled datetimes are converted to UTC automatically using your system timezone (configured under Settings). A post whose scheduled time has already passed will appear as published on the frontend immediately — it does not wait for the next scheduler run.
:::

### Featured Flag

Toggle **Featured** to pin a post above regular posts on the public blog listing. You can also toggle the featured state directly from the posts list without opening the editor.

## Categories

Use the **Categories** page to organize posts by topic.

![Blog Categories](./images/blog-categories.png)

Click **New Category** and fill in the form:

| Field | Required | Description |
| --- | --- | --- |
| **Name** | Yes | The category display name |
| **Slug** | No | Auto-generated from the name; editable |
| **Description** | No | Optional description for the category |

* Assign multiple categories to each post
* The categories list shows name, slug, post count, and created date
* A category that has posts assigned cannot be deleted — reassign or delete the posts first

## Tags

Use the **Tags** page to add keyword labels to posts.

![Blog Tags](./images/blog-tags.png)

Click **New Tag** and fill in the form:

| Field | Required | Description |
| --- | --- | --- |
| **Name** | Yes | The tag display name |
| **Slug** | No | Auto-generated from the name; editable |

* Assign multiple tags to each post
* New tags can be created inline while editing a post — type the tag name and it saves on form submit
* The tags list shows name, slug, post count, and created date

## SEO Metadata

Configure search metadata directly in the post editor.

![SEO Tab](./images/blog-seo-tab.png)

| Field | Max Length | Fallback |
| --- | --- | --- |
| **Meta Title** | 191 characters | Post title |
| **Meta Description** | 500 characters | Post excerpt |

Leave either field blank to use the automatic fallback value.

## Featured Images

Upload a featured image for each post. It appears on blog listing cards and single post pages.

* Accepted formats: JPG, JPEG, PNG, WebP, GIF
* Maximum file size: 4 MB
* Images are stored under `blog/` on the public disk with UUID-based filenames

## Scheduled Publishing

To schedule a post:

1. Set the status to **Scheduled**
2. Pick the publish date and time
3. Save the post

The datetime is stored in UTC using your system timezone. If the scheduled time has already passed when a visitor loads the public blog, the post will appear as published — the scheduler does not need to run first.

## Public Blog

The public blog is available at `/blog` and visible to all site visitors.

![Public Blog](./images/blog-public-listing.png)

The listing page includes:

* A **title** and **subtitle** at the top (configured in Blog Settings)
* A **search bar** to filter posts by keyword
* **Category tabs** — click any category to filter; **All** shows every post
* Post cards with featured image, author name, publish date, excerpt, and category tags
* A **FEATURED POST** badge on marked posts; featured posts always appear first

Posts paginate at 6 per page. A **Blog** link is automatically added to the public site header.

## Blog Settings

Configure the public blog page title and subtitle under **Website Settings → Blog Settings**.

![Blog Settings](./images/blog-settings.png)

| Field | Description |
| --- | --- |
| **Blog Page Title** | Main heading shown at the top of the public blog listing |
| **Blog Page Subtitle** | Subheading shown below the title |

Click **Save Changes** to apply.

Default values:

* **Title:** *Stay ahead with WhatsMark*
* **Subtitle:** *Explore practical WhatsApp marketing ideas, automation guides, and product updates for faster customer growth.*

***

**Next:** Review all available capabilities in [Features](./features) or check the [FAQ](./faq) for common questions.
