# Why Capell

Capell is for Laravel teams who want a real CMS without moving content, routing, roles, or publishing into a separate world.

You keep Laravel models, queues, Blade, Composer, tests, and deployment. Capell provides the CMS layer most teams underestimate: editor workflows, page trees, multi-site setup, multi-language URLs, static delivery, media, redirects, permissions, SEO, and extension points.

## The short version

| If you are thinking about...   | Capell gives you...                                                                                  |
| ------------------------------ | ---------------------------------------------------------------------------------------------------- |
| Building a CMS on Filament     | The admin screens, publishing model, page hierarchy, media, roles, and cache pipeline already wired  |
| Using a flat-file CMS          | Laravel-native data, normal Eloquent relationships, queues, and database-backed workflows            |
| Custom-building page blocks    | ContentSections widgets, reusable content, package-discovered schemas, and theme-aware layout areas  |
| Making static pages interactive | Widget and Layout Builder interactions with lazy widget/fragment targets and safe public placeholders |
| Shipping a multilingual site   | Translatable titles, slugs, content, media alt text, navigation labels, canonical URLs, and hreflang |
| Making pages fast              | Static HTML generation with automatic, targeted invalidation when content or site settings change    |
| Letting editors publish safely | Drafts, previews, approvals, scheduled publishing-studio, and role-scoped access                     |

## Compared with custom Filament

Filament is a brilliant admin framework. Capell uses it because it is the right foundation. The difference is that Capell solves the CMS product, not just the UI shell.

| Problem            | Custom Filament build                                                                   | Capell                                                  |
| ------------------ | --------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| Page tree and URLs | Build nested pages, slug generation, redirects, breadcrumbs, and move handling          | Included                                                |
| Publishing         | Decide draft/publish states, previews, scheduling, queues, and cache invalidation       | Included                                                |
| Multi-site         | Add site scoping to every query, setting, permission, URL, sitemap, and cache key       | Included                                                |
| Multi-language     | Translate fields, slugs, media metadata, navigation, SEO, canonical and alternate links | Included                                                |
| Media              | Pick backend, wire fields, metadata, ownership, and editor UI                           | Included, with pluggable backend                        |
| SEO                | Add sitemap, Open Graph, Twitter cards, JSON-LD, redirects, robots, and checks          | Included through core/frontend and SEO Suite            |
| Upgrade path       | Every project invents conventions                                                       | Stable Capell extension points and first-party packages |

The senior-developer win is not that Capell hides Laravel. It is that Capell keeps the repeated CMS parts consistent, testable, and replaceable.

## Compared with Statamic

Statamic is a strong CMS, especially when flat-file content is the right model. Capell is a better fit when the site is already a Laravel product or needs application-style workflows.

| Need                    | Statamic-style approach                    | Capell approach                                             |
| ----------------------- | ------------------------------------------ | ----------------------------------------------------------- |
| Laravel app integration | Content often lives beside the app         | Content lives in the app database and uses Laravel services |
| Complex relationships   | Usually needs custom fieldtypes or add-ons | Normal Eloquent models and package relations                |
| Queued publishing       | Project-specific                           | Laravel queues plus Capell static generation                |
| Admin framework         | CMS-specific control panel                 | Filament resources, pages, widgets, and form-builder        |
| Package customization   | CMS add-on model                           | Composer packages with Capell extension points              |

If you mainly need an editorial website with flat files, Statamic can be excellent. If you need a CMS inside a Laravel system with database-backed workflows, Capell fits more naturally.

## Compared with building everything yourself

The danger in custom CMS work is not the first page editor. It is everything around it:

- moving a parent page and rebuilding child URLs;
- creating redirects when slugs change;
- previewing drafts without poisoning the public cache;
- scoping editors to one site inside a multi-site install;
- generating hreflang and canonical tags across languages;
- invalidating only affected pages after publishing;
- giving package authors clean places to add fields, settings, widgets, and render hooks.

Capell turns those into defaults. It can serve anonymous traffic from static HTML while the admin tracks which pages used each model and clears the affected files after edits.

Site-level changes get special handling too: when a title, theme, metadata, or media setting changes, cached URLs on that site's domains can be purged automatically, including the homepage.

## Where Capell is intentionally flexible

Capell does not force one theme, one media backend, or one content model.

| Customization | How you do it                                                    |
| ------------- | ---------------------------------------------------------------- |
| Page types    | Register page types and schemas                                  |
| Editor fields | Add schema extenders                                             |
| Frontend HTML | Use Blade, themes, render hooks, and widgets                     |
| Blocks        | Register ContentSections widgets and theme chrome areas          |
| Settings      | Add package settings schemas                                     |
| Media backend | Use the default Spatie MediaLibrary backend or switch to Curator |
| Cache rules   | Register dependencies and invalidation patterns                  |
| Import/export | Install Backup and extend its recovery/import behavior           |

Content Sections is not limited to a single editable page body. Themes can register named layout areas such as `header`, then render those areas from theme chrome while editors keep using ordinary containers and elements. That gives teams editor-managed headers, announcement bars, footers, or campaign strips without custom one-off fields or hidden main-flow containers.

Capell Interactions adds the next layer: editors can attach trigger buttons to widgets or Layout Builder blocks and open lazy widget or fragment targets as modals, slide-overs, inline reveals, or replacement regions. That is useful for video, calculators, form prompts, galleries, pricing comparisons, and optional content that should not weigh down the first page render. Read [Capell Interactions](capell-interactions.md) for the product view.

## Package Groups

Capell Foundation packages stay free for normal CMS needs such as visual building, blog content, navigation, tags, redirects, address fields, media backend swaps, and the default theme.

Premium packages are grouped by the value they unlock: FormBuilder, Publishing Pro, Operations, Growth, Search & SEO, and Themes. See [Package product groups](../packages/product-groups.md) for the current map.

## When not to choose Capell

Capell is probably not the best first choice if:

- you need a tiny brochure site with no editing workflow;
- you do not use Laravel;
- flat-file authoring is a hard requirement;
- you want a fully hosted no-code CMS.

For Laravel teams shipping content-heavy sites, portals, campaign hubs, multi-brand sites, or editor-managed products, Capell gives you a faster start and a cleaner long-term shape.