For Developers
One codebase. One language. No SPA.
WebProCMS runs on Laravel 13, Livewire 4, Alpine 3, Tailwind 4 and Flux 2 on PHP 8.4. State lives on the server and the browser gets HTML. There is no React build to babysit and no JSON API sitting between a front end and the database.
The person who writes the Eloquent query writes the UI, in the same file. Stack traces, dd() and Xdebug all work, because the code that renders the page runs in PHP on the server.
See how updates and hosting work →
What one stack buys you
Every layer is PHP and Blade, with a thin layer of Alpine for the parts that belong in the browser.
One language, end to end
Validation, authorization, types and business logic live once, on the server. There is no client-side copy to drift out of sync, because there is no client-side copy.
Reactive UI without a SPA
A Livewire component is a PHP class plus a Blade view. Live search, modals, tables, infinite scroll and validated forms are a wire: directive away, not a new toolchain.
No API layer to design
Nothing marshals JSON between a front end and the database. Livewire sends the change, re-runs the component and patches only the changed HTML back into the page.
Debuggable with PHP tools
Stack traces, dd(), Xdebug, the exception page and the query log all work. You are never bisecting a minified bundle to learn why a button did the wrong thing.
Alpine for the browser bits
Dropdowns, mobile menus, accordions and tabs stay client-side with no build step. The behavior sits next to the markup it controls.
No build pipeline on the server
Installs run node-free. A runtime CSS supplement covers editor-added classes, and updates arrive as pure-PHP packages: no git, no composer, no node on the server.
Extend, don’t fork
Custom work lives in trees the updater never touches, version-controlled in your own repo. Core updates keep flowing and your code stays yours.
app/CustomFeatures, resources/themes-custom and resources/design-library-custom are protected paths. A CMS update replaces core files and leaves them alone.
php artisan make:custom-feature gives you a full Laravel and Livewire module: models, migrations, routes and dashboard pages.
php artisan dev:init-repo sets up a git repo that tracks your three trees and nothing else, so client work never collides with a core release.
Each module declares its own release feed, GitHub Releases compatible. Every site you manage picks up the new version on its own.
Register custom rows, in-row items and x-dl.* primitives per install. They appear in the editor beside the shipped library.
From scaffold to every site you manage
1. Scaffold
php artisan make:custom-feature Inventory
One command creates app/CustomFeatures/Inventory as a full Laravel and Livewire module: models, migrations, routes and dashboard pages, ready to fill in.
2. Version
php artisan dev:init-repo
Sets up a git repo that tracks app/CustomFeatures, resources/themes-custom and resources/design-library-custom and nothing else. Branch, review and merge the way you already do, with core files kept out of your history.
3. Ship
gh release create v1.1.0 inventory.zip
Point the module at its release feed. Every site you manage that has the module installed picks up the new version from that feed, while the CMS itself keeps updating on its own signed channel.
Talk to the outside world
A REST API and signed webhooks for what you build, and a platform that handles the parts you would rather not.
REST API with tokens
Token-based authentication for external integrations, managed from the dashboard. Let another system read and write without handing anyone a login.
Signed webhooks
Push signed JSON to any endpoint when a form is submitted, content changes, a contact or subscriber is added, or an order comes in. Paste a Zapier, Make or n8n catch-hook URL and go.
Updates that respect your code
Releases are signed and delivered over the license channel. A pre-update snapshot and one-click rollback stand behind every apply, the maintenance window is only the changed files, and your custom trees are never overwritten.
Runs on any VPS-class host
PHP 8.4, proc_open and about 512 MB of memory. No queue worker, no node on the server, and a full-page response cache plus compiled content sidecars keep the database off the hot path.
Developer questions
Straight answers to the things developers ask first.
Talk to UsPro installs modules. Enterprise builds them.
Both plans bill monthly and cancel anytime. Core stays free for up to five activated sites.
Pro
Every premium feature, unlimited sites. For independent developers and small studios.
Enterprise
Source access and developer tooling for agencies running a fleet.