BlueCMS is a powerful, open-source multi-user blogging platform built with PHP & MySQL.
Each registered user gets their own blog with a custom domain, themes, and full content management.
Developed by 6arshid
- Every registered user gets their own blog at
/blog/username - Custom domain parking (Pro feature)
- Blog team management β invite editors & admins
- User version system: Basic (free) / Pro (paid)
- Rich WYSIWYG editor (Quill.js)
- Posts with title, content, thumbnail, category, tags
- Multilingual category support
- Post status: Published / Draft
- Import from WordPress XML (WXR) or BlueCMS XML
- Export to WordPress XML or BlueCMS XML
- 3 professional themes: Minimal, Responsive Pro, Professional
- Dark mode toggle
- Custom primary color picker with live preview
- Drag & drop layout block builder (7 blocks)
- Custom avatar, cover photo, and bio
- Comment system (guest + logged-in users)
- Reply threads (nested comments)
- Post reactions: π π β€οΈ π₯ π π’ (Telegram-style animation)
- Email subscriptions with double opt-in
- WordPress-compatible hook API (
add_action,add_filter,apply_filters) - Upload plugins as .zip files
- Built-in plugins:
- AI Content Generator β ChatGPT, Claude, DeepSeek, Gemini
- RSS Importer β Import from any RSS/Atom feed
- All queries use prepared statements (zero SQL injection)
- CSRF protection on all forms
- Secure file uploads (MIME type validation)
- Session fixation protection
- Rate limiting on comments & subscriptions
- Stripe payment integration (subscriptions)
- Advertisement system (banner + text ads)
- User-managed ads on their own blogs
- Custom domain parking with DNS verification
- Per-domain Google reCAPTCHA v2 keys
- NS record management
- Full user management (add, edit, suspend, upgrade)
- Global advertisement management
- Language management with flag images
- Plugin manager
- Stripe & SMTP & reCAPTCHA settings
- PHP 8.0+ (with
mysqli,curl,zip,mbstring,fileinfo) - MySQL 5.7+ or MariaDB 10.3+
- Apache with
mod_rewriteenabled
git clone https://github.com/6arshid/bluecms-php.git
cd bluecms-phpEdit config.php:
define('DB_HOST', 'localhost');
define('DB_USER', 'your_db_user');
define('DB_PASS', 'your_db_password');
define('DB_NAME', 'bluecms');
define('SITE_URL', 'http://yourdomain.com/bluecms');mysql -u root -p -e "CREATE DATABASE bluecms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"Then open in browser:
http://localhost/bluecms/setup.php
URL: http://localhost/bluecms/admin/
Email: admin@admin.com
Password: admin123!!
β οΈ Change the admin password immediately after first login!
Deletesetup.phpafter setup is complete!
bluecms/
βββ config.php # Configuration & helpers
βββ setup.php # Installation wizard
βββ migrate.sql # DB migration for upgrades
β
βββ admin/ # Admin panel
β βββ plugins/ # Plugin manager
β βββ pages/ # Users, posts, settings, etc.
β
βββ dashboard/ # User dashboard
β βββ posts/ # Post CRUD
β βββ categories/ # Category management
β βββ team.php # Blog team management
β βββ subscribers.php # Email subscriber management
β βββ theme.php # Theme & dark mode selector
β βββ import.php # XML import
β βββ export.php # XML export
β
βββ blog/ # Public blog frontend
β βββ view.php # Blog index + single post
β βββ archive.php # Date & tag archive
β βββ sidebar.php # Sidebar widget
β
βββ includes/ # Shared widgets
β βββ comments.php # Comment system
β βββ reactions.php # Emoji reactions
β βββ subscribe_form.php # Email subscription widget
β
βββ api/ # AJAX endpoints
β βββ react.php # Reactions API
β βββ comment.php # Comment submit API
β βββ delete_comment.php # Comment delete API
β
βββ plugins/ # Plugin directory
β βββ ai-content-generator/ # AI post generation
β βββ rss-importer/ # RSS feed importer
β
βββ assets/
βββ themes/ # Theme CSS files
βββ minimal.css
βββ responsive.css
βββ professional.css
βββ dark.css
plugins/
βββ my-plugin/
βββ plugin.json # Plugin metadata (required)
βββ plugin.php # Main plugin file (auto-loaded when active)
βββ settings.php # Settings page (optional)
βββ README.md # Documentation (optional)
{
"name": "My Plugin",
"slug": "my-plugin",
"version": "1.0.0",
"description": "What this plugin does",
"author": "Your Name",
"author_url": "https://github.com/yourname",
"min_bluecms": "1.0.0",
"settings_page": "settings.php"
}// Actions
add_action('dashboard_post_create_sidebar', 'my_function');
add_action('dashboard_post_edit_sidebar', 'my_function');
add_action('dashboard_tools_page', 'my_function');
// Filters
add_filter('post_content', 'my_content_filter');
// Plugin settings
getPluginSetting('my-plugin', 'api_key');
setPluginSetting('my-plugin', 'api_key', 'sk-...');BlueCMS plugins use the same hook API as WordPress:
add_action()/do_action()add_filter()/apply_filters()add_shortcode()
WordPress plugins cannot run directly in BlueCMS (different database structure), but plugin code can be ported with minimal changes.
| Table | Description |
|---|---|
users |
User accounts + blog settings |
posts |
Blog posts |
categories |
Post categories |
category_translations |
Multilingual category names |
tags / post_tags |
Tag system |
comments |
Post comments (threaded) |
post_reactions |
Emoji reactions per post |
post_views_log |
Daily view tracking |
blog_views_log |
Daily blog visit tracking |
blog_team |
Multi-admin team members |
email_subscriptions |
Blog email subscribers |
email_campaigns |
Sent email campaigns |
parked_domains |
Custom domain management |
advertisements |
Admin-managed ads |
user_ads |
User-managed ads |
languages |
Multilingual support |
payments |
Stripe payment records |
plugins |
Installed plugins |
plugin_settings |
Plugin configuration |
site_settings |
Global site configuration |
If you're upgrading from a previous BlueCMS installation, run the migration:
mysql -u root -p bluecms < migrate.sqlOr run setup.php β it automatically applies all migrations.
MIT License β free for personal and commercial use.
6arshid
GitHub: https://github.com/6arshid
Repository: https://github.com/6arshid/bluecms-php
Made with β€οΈ by 6arshid