
Statamic is a CMS built on Laravel that stores content in files instead of a database. This allows the entire site to be versioned with Git, simplifies deployment, and gives you full control over your data structure.
In its current version, 5.70.0, the system supports Laravel 10/11 and PHP 8.1+. The development team is also working on version 6, which is already available for alpha testing.
Statamic positions itself as a "flat-first" CMS. This means it prioritizes file-based storage but offers the option to connect a traditional database when needed.
The system first appeared in 2012. Version 3 (2020) was a turning point—Statamic became a Composer package that can be installed into any Laravel project. This opened the door for integration with existing applications.
The team is led by Jack McDade (design, UX) and Jason Varga (architecture, code). Both are active members of the Laravel community with experience contributing to the Laravel Core.
Important: Statamic is not a static site generator. It is a full-featured, dynamic CMS that can generate static files if required.
Content is stored in YAML Front Matter + Markdown files. Here's an example of an entry's structure:
# content/collections/articles/my-post.md
---
title: 'My Article'
author: john-doe
date: 2024-12-15
featured_image: images/hero.jpg
---
Article text in Markdown format.
This provides three key advantages: full versioning with Git, simple deployment without database migrations, and easy transfer between environments.
Statamic is a Composer package: statamic/cms. It leverages the full power of Laravel, including Eloquent (optional), Blade, Artisan, queues, caching, and authorization.
# Install into a new project
composer create-project statamic/statamic my-site
# Or into an existing Laravel project
composer require statamic/cms
php artisan statamic:install
Instead of SQL queries, Statamic uses the Stache—a cached index of the file system. On the first request, the system scans the files and builds an index in memory. Subsequent requests work with this cache.
For large projects (100,000+ entries), it's recommended to switch to the Eloquent Driver, which stores data in a database while preserving the same API.
The Statamic Control Panel is one of the best on the market in terms of UX. It adapts to your content structure, so you only see what you need.
Main elements:
A Blueprint is a content schema. It defines which fields are available for editing. Statamic provides 40+ fieldtypes out of the box.
# resources/blueprints/collections/articles/article.yaml
sections:
main:
fields:
- handle: title
field:
type: text
required: true
- handle: content
field:
type: bard
sets:
text:
fields:
- handle: text
field:
type: textarea
image:
fields:
- handle: image
field:
type: assets
max_files: 1
Bard is a special fieldtype. It's a block-based editor similar to Notion or Gutenberg but with full structural control. Each block is a set of fields that you define yourself.
Antlers is Statamic's native templating language. It integrates seamlessly with HTML without requiring special syntax.
{{# Display a collection of articles #}}
{{ collection:articles limit="5" }}
<article>
<h2>{{ title }}</h2>
<time>{{ date format="F j, Y" }}</time>
{{ content }}
</article>
{{ /collection:articles }}
{{# Conditionals #}}
{{ if featured_image }}
{{ glide:featured_image width="800" height="400" }}
{{ /if }}
Alternatively, you can use Blade—Laravel's standard templating engine.
Statamic Pro supports an unlimited number of sites in a single installation. Each site can have its own domain, language, and URL structure.
// config/statamic/sites.php
'sites' => [
'ua' => [
'name' => 'Україна',
'locale' => 'uk_UA',
'url' => 'https://example.ua/',
],
'en' => [
'name' => 'English',
'locale' => 'en_US',
'url' => 'https://example.com/',
],
],
Content is linked via an origin—the original entry from which localized versions inherit.
| Characteristic | Statamic | WordPress | Craft CMS |
|---|---|---|---|
| Framework | Laravel | Custom | Yii |
| Storage | Flat-file / DB | MySQL | MySQL / PostgreSQL |
| Templates | Antlers / Blade | PHP | Twig |
| Git-friendly | ✓ Fully | ✗ Code only | Partially |
| Cost | $0–$275 | $0 | $0–$399 |
| Plugins | ~300 | 60,000+ | ~1,500 |
| Learning Curve | Medium | Low | Medium |
Ideal for:
Not the best choice for:
# Create a new project
composer create-project statamic/statamic my-site
cd my-site
# Create an administrator user
php please make:user
# Start the dev server
php artisan serve
The control panel is available at /cp.
my-site/
├── content/
│ ├── collections/ # Collection content
│ ├── globals/ # Global data
│ └── navigation/ # Menus
├── resources/
│ ├── blueprints/ # Content schemas
│ ├── fieldsets/ # Reusable field groups
│ └── views/ # Templates
├── public/
│ └── assets/ # Media files
└── config/
└── statamic/ # CMS configuration
php please make:collection articles
This will create:
content/collections/articles/ — a directory for entries.resources/blueprints/collections/articles/ — the schema.content/collections/articles.yaml.For Developers:
For Content Managers:
For Businesses:
Ecosystem:
Technical:
Business:
Tip: For projects with 50,000+ entries, use the Eloquent Driver instead of the flat-file approach.
| Plan | Cost | Users | Features |
|---|---|---|---|
| Core (Solo) | Free | 1 | Basic functionality |
| Pro | $275 + $65/year | Unlimited | Roles, revisions, API, multisite |
| Platform | from $7/month/site | Unlimited | For agencies, automation |
| Enterprise | Custom | Unlimited | SLA, priority support |
Trial Mode: Pro features are available for free on local domains (localhost, *.test, *.local). A license is only required for production.
Non-profit: A 20% discount is available for non-profit organizations and educational institutions.
Statamic occupies a niche between simple site builders (WordPress, Squarespace) and "pure" Laravel development. It is a mature product with an active team and a clear vision.
The system is particularly attractive for agencies and Laravel developers who want to speed up the development of content-driven sites without losing control over the code. The Git-based workflow and flat-file architecture solve common problems with environment synchronization.
The main question before choosing is: is your project complex enough to justify the learning curve? For a simple blog, WordPress is still easier. For a custom corporate site with multiple languages and a specific content structure, Statamic provides tools that other systems lack.