A modern, lightweight content management system built with pure PHP. No frameworks, no bloat β just powerful features and clean code.
- β‘ Blazing Fast β Sub-50ms page loads, ~400KB total install size
- π¨ Visual Block Editor β 21+ block types with drag-and-drop and live frontend editing
- π Built-in SEO β Meta tags, Open Graph, JSON-LD schema, XML sitemap (no plugins needed)
- π Extensible β WordPress-compatible hooks with 90+ actions and filters
- π± Responsive Admin β Modern interface with customizable themes
- π‘οΈ Secure β CSRF protection, XSS filtering, secure sessions
- PHP 8.0 or higher
- MySQL 5.7 or higher
- Apache/Nginx with mod_rewrite enabled
- Upload the
voidforgefolder to your web server - Create a MySQL database
- Visit your site URL in a browser
- Follow the installation wizard
- Log in to the admin panel at
/admin
- Home Page Redesign β Clean light mode design with gradient accents, updated feature grid, comparison table
- Comments Overhaul β Modern card design, time-ago timestamps, reply indicators, beautiful empty states
- Media Library Fixes β Folder assignment bug fixed, quick delete buttons on hover
- Comment Form Fixes β Correct submission URL, success/error messages, page template support
Comprehensive search engine optimization built into every page:
- Meta Tags β Custom title, description, and keywords per page
- Open Graph β Facebook and social media sharing optimization
- Twitter Cards β Optimized Twitter/X sharing with image support
- JSON-LD Schema β Structured data for rich search results (WebSite, Organization, Article, BreadcrumbList)
- XML Sitemap β Automatic Google-compatible sitemap at
/sitemap.xml - Robots.txt β Customizable robots.txt at
/robots.txt - SEO Analysis β Real-time scoring (0-100) with actionable suggestions
- Google Preview β Live preview of search result appearance in editor
- Debug Tools β Add
?seo_debug=1to any page URL to inspect SEO output (admin only)
A powerful block-based content editor with 21 block types, now available as a bundled plugin:
- Text: Paragraph, Heading, List, Quote, Code, Table
- Media: Image, Gallery, Video
- Layout: Columns, Spacer, Separator, Button, Accordion, Alert, Card
- Content: Testimonial, Icon Box, Social Links, HTML, Embed
Features include drag-and-drop reordering, inline settings panel, undo/redo (50 levels), and media library integration.
Each block supports multiple style variants through the settings panel:
- Button: Primary, Secondary, Outline, Ghost
- Alert: Info, Success, Warning, Error
- Card: Default, Bordered, Flat
- Testimonial: Default, Bordered, Filled, Minimal
- Accordion: Default, Bordered, Minimal
- Icon Box: Default, Boxed, Bordered
- Social Links: Default, Filled, Outline
Frontend visual editing with real-time preview:
- Edit content directly on the live site
- Drag and drop blocks with visual indicators
- Inline text editing with rich text toolbar
- Device preview (desktop, tablet, mobile)
- Typography controls (size, weight, line height, spacing)
- Color controls (text, background, links)
- Border and shadow styling
- Background options (solid, gradient, image)
- Entrance animations and hover effects
- Transform controls (rotate, scale, translate, skew)
- Responsive visibility toggles
- Page-level settings (content width, padding, margin)
- Custom Post Types: Create unlimited content types with custom fields, icons, and URLs
- Custom Fields: 16+ field types including repeaters and groups
- Taxonomies: Categories, tags, and custom taxonomies
- Menu Builder: Visual drag-and-drop menu management
- Post Revisions: Automatic history with compare and restore
- Media Library: Grid/list views, folders, drag-and-drop uploads
- Comments: Threaded comments with moderation and guest support
- Bulk Actions: Multi-select for trash, publish, draft, taxonomy assignment
- Quick Edit: Inline editing with AJAX save
- Scheduled Publishing: Publish posts at a future date/time
- Modern admin interface with dark sidebar
- Customizable color schemes and fonts
- Login screen editor with 80+ settings and 12 presets
- Live CSS editor for admin and frontend
- Role-based users (Admin, Editor, Subscriber)
- 80+ admin icons
- Plugin System: WordPress-style hooks and filters (90+ available)
- Theme System: Simple PHP templates with full data access
- REST API: Full CRUD with API key authentication
- Shortcodes:
[tag]syntax for dynamic content - Auto Updates: One-click updates with automatic backups
voidforge/
βββ admin/ # Admin panel pages and assets
β βββ seo-settings.php # SEO configuration (5 tabs)
β βββ seo-test.php # SEO diagnostic tool
β βββ includes/
β βββ seo-metabox.php # Post editor SEO section
βββ includes/ # Core PHP classes
β βββ seo.php # SEO class (meta, sitemap, schema)
β βββ *.php # Core classes (Post, Media, User, Plugin, etc.)
βββ themes/ # Theme files
β βββ flavor/ # Default theme
βββ plugins/ # Plugin files
β βββ anvil/ # Bundled Anvil block editor plugin
β βββ includes/ # Block editor classes and 21 block types
β βββ assets/
β β βββ css/
β β β βββ anvil-live.css # Editor UI styles
β β β βββ anvil-frontend.css # Frontend block styles
β β βββ js/ # Editor JavaScript modules
β βββ admin/ # Editor UI templates
βββ uploads/ # Media uploads
βββ docs/ # HTML documentation
Database and site settings are in includes/config.php:
define('DB_HOST', 'localhost');
define('DB_NAME', 'your_database');
define('DB_USER', 'your_username');
define('DB_PASS', 'your_password');
define('DB_PREFIX', 'vf_');
define('SITE_URL', 'https://yoursite.com');Themes live in /themes/your-theme/ and require:
theme.jsonβ Theme metadatastyle.cssβ Theme stylesindex.phpβ Main templateheader.php/footer.phpβ Layout partials
Basic template example:
<?php get_header(); ?>
<main>
<?php if (have_posts()): ?>
<?php foreach (get_posts() as $post): ?>
<article>
<h2><?php echo esc($post['title']); ?></h2>
<?php echo the_content(); ?>
</article>
<?php endforeach; ?>
<?php endif; ?>
</main>
<?php get_footer(); ?>See /docs/theme-development.html for the complete guide.
Plugins live in /plugins/your-plugin/ with a main PHP file:
<?php
/**
* Plugin Name: My Plugin
* Description: What it does
* Version: 1.0.0
*/
// Hook into initialization
add_action('init', function() {
// Your code here
});
// Modify content
add_filter('the_content', function($content) {
return $content . '<p>Added by plugin!</p>';
});
// Register a shortcode
add_shortcode('hello', function($atts) {
$name = $atts['name'] ?? 'World';
return "<p>Hello, {$name}!</p>";
});See /docs/plugin-development.html for the complete guide.
API endpoints are available at /api/v1/:
GET /postsβ List postsGET /posts/{id}β Get single postPOST /postsβ Create postPUT /posts/{id}β Update postDELETE /posts/{id}β Delete post
Same pattern for /pages, /media, /users, /taxonomies.
Authentication via API key header:
X-API-Key: your-api-key
Manage API keys at Admin β Settings β API Keys.
See /docs/rest-api.html for the complete reference.
- Go to Admin β Updates
- Upload the new version ZIP
- Click Install Update
VoidForge will backup your installation, extract new files, preserve your config/uploads/customizations, and run migrations.
- Backup your installation
- Replace all files except:
includes/config.phpuploads/directory- Custom themes and plugins
- Visit the admin panel to run migrations
/docs/plugin-development.htmlβ Complete plugin development guide/docs/theme-development.htmlβ Theme creation guide/docs/rest-api.htmlβ REST API reference
MIT License β see LICENSE file for details.
VoidForge CMS β Modern Content Management