A ready-to-use blog plugin for Strapi CMS. Install, configure, and start managing posts instantly—no manual setup required.

Latest version

v2.0.1

released May 12, 2026

npm install @webbycrown/webbyblog

WebbyBlog

npm version Strapi Market Strapi

A complete, production-ready blog solution for Strapi CMS. This plugin provides a comprehensive backend for managing blog functionality without requiring developers to manually create content types, routes, or controllers. Simply install, configure, and start publishing.

🎯 Plugin Goal

This plugin is designed to be a drop-in blog backend layer for Strapi:

  • Zero Manual Setup: No need to create content types, routes, or controllers manually
  • Ready-to-Use APIs: All blog endpoints are pre-built and documented
  • Admin Configuration: Manage all settings through the Strapi admin panel
  • Production Ready: Built with security, validation, and best practices in mind

📘 User Guide

📺 Watch & Learn the WebbyBlog Guide:

View WebbyBlog Guide

Direct link: https://www.webbycrown.com/guides/webbyblog-plugin-strapi-blog-guide/


📦 Installation

Install the plugin package:

npm i @webbycrown/webbyblog

The plugin is listed on Strapi Market — open that page to read details and install from the marketplace UI when you prefer.

Enable it in Strapi:

// config/plugins.js
module.exports = ({ env }) => ({
  'webbyblog': {
    enabled: true,
    resolve: '@webbycrown/webbyblog',
  },
});

Local Development

If you're developing locally, you can enable it from the local path:

// config/plugins.js
module.exports = ({ env }) => ({
  'webbyblog': {
    enabled: true,
    resolve: './src/plugins/webbyblog',
  },
});

⚙️ Initial Setup

  1. Enable the Plugin: Add the plugin configuration to config/plugins.js (see Installation above)

  2. Restart Strapi: Restart your Strapi server to load the plugin

  3. Access Admin Panel:

    • Go to Strapi Admin → Settings → WebbyBlog
    • Configure your settings if needed
  4. Start Creating Content:

    • Navigate to Content Manager
    • You'll see Blog Post, Blog Category, and Blog Tag content types
    • Start creating your blog content!

🌱 Seed Data

The plugin includes a seed script to populate your blog with demo data. This is useful for:

  • Testing the plugin functionality
  • Getting started quickly with sample content
  • Understanding the data structure

Running the Seed Script

To seed your blog with demo data, you can use either:

Using npm script (recommended):

npm run seed:blog

CLI (npx)

If the plugin is installed in your Strapi app, you can seed using the package CLI:

npx seed-blogdata -- --help
npx seed-blogdata -- --yes

Or directly with node:

node scripts/seed-blog.js

What Gets Seeded

The seed script creates:

Categories (5 categories):

  • Technology
  • Web Development
  • Design
  • Business
  • Lifestyle

Tags (10 tags):

  • JavaScript, React, Node.js, CSS, HTML
  • Tutorial, Tips, Best Practices
  • Beginner, Advanced

Sample Blog Posts:

  • Multiple blog posts with full content
  • Properly linked to categories and tags
  • Includes SEO meta fields
  • Sample content blocks

Notes

  • The script is idempotent - it won't create duplicates. If a category, tag, or post already exists (matched by name/slug), it will be skipped.
  • You can run the script multiple times safely.
  • The seed data includes realistic content that demonstrates all features of the plugin.

Seed Script Options

# Run with help
npm run seed:blog -- --help
# or
node scripts/seed-blog.js --help

# Run in non-interactive mode
npm run seed:blog -- --yes
# or
node scripts/seed-blog.js --yes

📚 Content Types

The plugin provides three main content types:

Blog Post

  • Title: Post title
  • Slug: Auto-generated URL-friendly identifier
  • Content: Rich text content
  • Excerpt: Short description
  • Featured Image: Main image for the post
  • Category: Post category (relation)
  • Tags: Post tags (relation)
  • Author: Post author (relation to user)
  • Published At: Publication date
  • Meta Fields: SEO meta title, description, keywords
  • Views: View counter

Blog Category

  • Name: Category name
  • Slug: Auto-generated URL-friendly identifier
  • Description: Category description
  • Posts: Related posts (relation)

Blog Tag

  • Name: Tag name (unique)
  • Slug: Auto-generated URL-friendly identifier
  • Description: Tag description
  • Posts: Related posts (relation)

🔌 API Endpoints

The plugin uses Strapi's standard content API structure. All content types are automatically available at their standard endpoints.

Blog Posts

  • GET /api/blog-posts - Get all posts (with filters, pagination, sorting)
  • GET /api/blog-posts/:id - Get post by ID
  • GET /api/blog-post/:slug - Get post by slug (custom route)
  • POST /api/blog-posts - Create post (requires authentication)
  • PUT /api/blog-posts/:id - Update post (requires authentication)
  • DELETE /api/blog-posts/:id - Delete post (requires authentication)

Blog Categories

  • GET /api/blog-categories - Get all categories (with filters, pagination, sorting)
  • GET /api/blog-categories/:id - Get category by ID
  • GET /api/blog-category/:slug - Get category by slug
  • POST /api/blog-categories - Create category (requires authentication)
  • PUT /api/blog-categories/:id - Update category (requires authentication)
  • DELETE /api/blog-categories/:id - Delete category (requires authentication)

Blog Tags

  • GET /api/blog-tags - Get all tags (with filters, pagination, sorting)
  • GET /api/blog-tags/:id - Get tag by ID
  • GET /api/blog-tag/:slug - Get tag by slug
  • POST /api/blog-tags - Create tag (requires authentication)
  • PUT /api/blog-tags/:id - Update tag (requires authentication)
  • DELETE /api/blog-tags/:id - Delete tag (requires authentication)

Query Parameters

All GET endpoints support Strapi's standard query parameters:

  • ?populate=* - Populate relations
  • ?filters[field][$eq]=value - Filter by field
  • ?sort=field:asc - Sort results
  • ?pagination[page]=1 - Pagination
  • ?pagination[pageSize]=10 - Page size

Example:

GET /api/blog-posts?populate=*&filters[category][slug][$eq]=tech&sort=publishedAt:desc

🛠️ Development

Build the Plugin

cd src/plugins/webbyblog
npm install
npm run build

Watch Mode (Development)

npm run watch

📌 Changelog

2.0.1

Added

  • Plugin settings: Overview tab with a short summary before configuration.

Changed

  • npm package keywords for Strapi Market discovery (strapi-market, strapi-marketplace).
  • README: npm / Strapi Market / Strapi 5.x badges; explicit Strapi Market listing link in Installation.

2.0.0 - Patch Release

Changed

  • [Strapi v5] Converted WebbyBlog to a source-based plugin structure (uses admin/src and server/src directly; removed dist-first packaging) for Strapi Marketplace compatibility.

1.0.0

  • Initial release: Blog Post / Blog Category / Blog Tag content types
  • Ready-to-use REST APIs (including slug-based lookup routes)
  • Admin settings page
  • Seed script for demo content

📝 License

MIT

👤 Author

WebbyCrown

Submit your content

Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.

Submit
Submit your content