ValPress vs Statamic
Overview
Statamic and ValPress are both Laravel-based content platforms, but they solve different problems for different audiences. Statamic is a mature, schema-first CMS with a polished Control Panel, flat-file storage by default, and a large addon ecosystem. ValPress is a full Laravel application with WordPress-inspired CMS hooks — plugins, themes, custom post types, and a relational database model that feels familiar if you have worked with WordPress.
This page helps developers and site owners understand where each platform excels, where they diverge, and which fits a given project.
Why It Matters
Choosing between Statamic and ValPress is not a question of which is "more Laravel" — both are. The decision hinges on:
- Content model — flat-file collections and blueprints (Statamic) versus database posts, CPTs, and postmeta (ValPress).
- Extension style — Composer addons with Laravel events (Statamic) versus directory-based plugins on a full Laravel application with CMS hooks and the same Laravel primitives (events, queues, jobs, mail, scheduling).
- Editor and admin experience — Statamic's SPA Control Panel versus ValPress's Bootstrap admin with a built-in block editor.
- Cost and licensing — Statamic Pro is a per-site commercial license; ValPress core and official Marketplace products are GPLv3.
- Ecosystem maturity — Statamic has years of addons and agency adoption; ValPress is earlier-stage with a growing Marketplace.
How It Works
Both platforms run on Laravel and separate content, presentation, and extensions. The integration model differs sharply.
Statamic ValPress
──────── ────────
Composer addons public/plugins/ + public/themes/
AddonServiceProvider plugin.php + functions.php
Laravel events Laravel events, queues, jobs
+ add_action / add_filter
Collections + Blueprints posts + post_types + postmeta
Flat files (default) MySQL / PostgreSQL / SQLite
Antlers or Blade Blade
Control Panel (SPA) Admin dashboard (Bootstrap)
Statamic extends through declarative addon registration and typed Laravel events. ValPress is a complete Laravel application — use events, listeners, jobs, queues, policies, and the service container as you would in any Laravel project — and also exposes a global hook registry and template tags for CMS integration points that mirror WordPress conventions.
Usage
At a glance
| Area | Statamic | ValPress |
|---|---|---|
| Foundation | Laravel package / skeleton app | Full Laravel application |
| PHP version | 8.2+ | 8.2+ |
| Templating | Antlers (default) or Blade | Blade |
| Content storage | Flat files by default; Eloquent driver optional | Relational database (WP-like schema) |
| Content unit | Entry in a Collection | Post (typed by CPT) |
| Schema | Blueprint YAML | CPT registration + postmeta |
| Extensions | Composer addons | Plugins and themes in public/ |
| Extensibility | Laravel events, tags, fieldtypes | Laravel events, queues, jobs, DI + CMS hooks |
| Admin UI | Control Panel (modern SPA) | Bootstrap admin + block editor |
| Headless | REST + GraphQL (Pro) | Not built into core; extend via plugins |
| Updates | Composer / Statamic updater | Update Center with staged verify/apply |
| Marketplace | Mature addon store at statamic.com | ValPress Marketplace (growing, curated) |
| Production license | Core free (solo); Pro ~$349/site one-time | GPLv3 core; GPLv3 Marketplace extensions |
Verify Statamic pricing on statamic.com/pricing before publishing commercial decisions — terms change.
For non-technical readers
| Question | Statamic | ValPress |
|---|---|---|
| Who manages content? | Editors use a polished Control Panel with structured fields defined in blueprints. | Editors use an admin dashboard with posts, pages, media, menus, and a block-based editor. |
| Where does content live? | Mostly files on disk (easy to version in Git) unless you enable the database driver. | In a database, like WordPress — familiar for most hosts and backups. |
| Can I add features without coding? | Through purchased or free addons from a large catalog. | Through plugins and themes from the ValPress Marketplace or ZIP upload. |
| What does it cost? | Free for solo use; multi-user and headless features require Pro (paid per site). | Core is open source (GPLv3); paid plugins/themes are sold on the Marketplace. |
| Is it like WordPress? | No — different concepts (collections, blueprints, Antlers). | Yes — deliberately similar (plugins, themes, hooks, post types). |
What feels familiar (if you know Statamic)
ValPress will feel different in most areas. The overlap is Laravel underneath and a CMS admin for non-developers:
- Laravel routing, middleware, configuration, events, queues, and jobs — both run on Laravel; ValPress exposes the complete application stack, not a slimmed-down runtime.
- Blade templating — ValPress uses Blade exclusively; Statamic also supports Blade alongside Antlers.
- Structured content — Statamic blueprints map conceptually to ValPress CPTs + custom fields (via postmeta or plugins), though the APIs differ.
- Addon/plugin commerce — both have official marketplaces for extensions.
What is different (and why developers choose ValPress)
| Difference | What it means in practice |
|---|---|
| WordPress-style CMS hooks | Statamic uses Laravel events and Antlers tags — no global apply_filters chain. ValPress adds add_action, add_filter, the_content, and template tags on top of standard Laravel extension APIs — not instead of them. |
| Database-first content | ValPress stores posts in MySQL/PostgreSQL with a WordPress-aligned schema. Statamic defaults to flat files — better for Git workflows, different for traditional hosting. |
| Plugin directory model | ValPress plugins are folders under public/plugins/ with a plugin.php entry point. Statamic addons are Composer packages with service providers. |
| GPLv3 extension ecosystem | ValPress Marketplace requires GPLv3 for listed products. Statamic addons can use mixed licensing models. |
| Update Center pipeline | ValPress 0.6 adds staged verify/apply with test-database simulation, snapshots, and extension validation. Statamic follows Composer-based update patterns. |
| Lower per-site license cost | ValPress has no per-site Pro license. Statamic Pro is a significant per-site cost for multi-user production sites. |
| WordPress migration path | ValPress's data model and hooks ease conceptual migration from WordPress. Statamic requires a content-model redesign. |
When Statamic may be the better fit
Statamic remains the stronger choice when you need:
- A polished, modern Control Panel for editors out of the box.
- Flat-file content versioned in Git with simple multi-environment deploys.
- Blueprint-driven structured content for marketing sites, documentation, or product content without custom tables.
- Headless delivery — REST and GraphQL on Pro for decoupled frontends.
- A mature addon ecosystem with hundreds of ready-made integrations.
- Agency workflows built around Statamic's established patterns and community.
When ValPress is the better fit
ValPress is aimed at teams who want Laravel and WordPress-like ergonomics. It is especially compelling when:
- Your team knows WordPress hooks and CPTs and wants that model on Laravel without learning Antlers or blueprints.
- You are migrating from WordPress conceptually — posts, postmeta, options, and template tags align.
- You build or sell plugins and themes and want the ValPress Marketplace rather than competing in Statamic's established addon market.
- You prefer database-backed content with familiar backup and hosting patterns.
- You need Blade-only templating without adopting Antlers.
- GPLv3 copyleft aligns with your extension distribution strategy.
Code Examples
Extending behaviour
Statamic — Laravel event listener in an addon:
// Addon ServiceProvider
use Statamic\Events\EntrySaving;
Event::listen(EntrySaving::class, function (EntrySaving $event) {
// Modify or validate entry before save
});
ValPress — Laravel primitives and CMS hooks (use whichever fits the integration point):
// plugin.php — CMS content filter (WordPress-style hook)
add_filter('the_content', function (string $content): string {
return $content . '<p class="text-muted small">Enhanced by My Plugin</p>';
});
// src/Listeners/NotifyOnPublish.php — standard Laravel event listener
use Illuminate\Support\Facades\Event;
Event::listen(ArticlePublished::class, function (ArticlePublished $event) {
NotifyEditorsJob::dispatch($event->post);
});
// app/Jobs/NotifyEditorsJob.php — queue-backed work
use Illuminate\Contracts\Queue\ShouldQueue;
class NotifyEditorsJob implements ShouldQueue
{
public function __construct(public Post $post) {}
public function handle(): void
{
// Send mail, call APIs, etc.
}
}
Templating
Statamic Antlers:
{{ collection:blog }}
<article>
<h2>{{ title }}</h2>
{{ content | markdown }}
</article>
{{ /collection:blog }}
ValPress Blade:
@foreach($posts as $post)
<article>
<h2>{{ $post->post_title }}</h2>
<div>{!! apply_filters('the_content', $post->post_content) !!}</div>
</article>
@endforeach
Advanced Usage
Concept mapping
| Statamic | ValPress |
|---|---|
| Collection | Custom post type |
| Blueprint | CPT settings + postmeta / plugin fields |
| Entry | Post |
| Taxonomy | Categories and tags (custom taxonomies API not in ValPress core) |
| Global set | options table / get_option() |
| Antlers tag | Template tag or Blade helper |
| Addon | Plugin or theme |
Building extensions
Statamic developers moving to ValPress should expect to rewrite addons as plugins — there is no drop-in compatibility. Plan for plugin.php, hooks, Blade views, and optional src/ classes with the Plugins\{StudlySlug} namespace. See Plugins and Plugin Update Validation.
Best Practices
- Match the content model to the platform. Do not force flat-file mental models onto ValPress's database schema, or vice versa.
- Evaluate total cost of ownership. Include Statamic Pro licensing, addon purchases, and agency rates versus ValPress hosting and Marketplace extensions.
- Consider your team's prior experience. WordPress backgrounds favour ValPress; Statamic/Laravel agency backgrounds favour Statamic.
- Verify headless requirements early. ValPress does not ship core REST/GraphQL; Statamic Pro does.
Common Mistakes
- Assuming Laravel sameness means API sameness. Extension models are fundamentally different.
- Expecting Statamic Control Panel polish from ValPress 1.x. ValPress admin is functional Bootstrap, not a SPA CP.
- Ignoring Statamic Pro licensing for multi-editor production sites.
- Choosing ValPress for Git-native flat-file workflows without planning a database backup and migration strategy.
Summary
Statamic and ValPress both build on Laravel but target different developer mental models. Statamic excels at structured, schema-first content with a mature Control Panel, flat-file defaults, and a large addon store — at a per-site commercial license for Pro features. ValPress excels at full Laravel application development with WordPress-familiar CMS hooks, plugins, themes, and database-backed content — plus a growing GPLv3 Marketplace and a transparent Update Center.
If your priority is editor UX, flat-file Git workflows, and blueprint-driven sites, Statamic is the pragmatic choice. If your priority is WordPress-like extensibility on Laravel, extension authorship in a new ecosystem, and database-centric CMS patterns, ValPress is worth adopting. See also ValPress vs WordPress, ValPress vs October CMS, and ValPress vs Winter CMS.