Tips & Tricks
Here's a collection of little tips & tricks to help you on your way.
CLI
4 guides
-
Converting from Single to Multi-Site
Convert a single-site Statamic project to multi-site with php please multisite, or walk through the manual conversion steps.
-
Excluding the Control Panel from Maintenance Mode
Keep the Control Panel reachable while Laravel maintenance mode is on — add CP routes to the allow list.
-
How to Enable Statamic Pro
A fresh Statamic install starts in Solo edition mode. Here's how to enable Pro mode and unlock every feature Statamic has.
-
Importing Existing Content
Import content from another CMS into Statamic — built-in tools, converters, and manual approaches for every situation.
Database
4 guides
-
Building your own Entries Repository
Statamic's data layer is driver-driven. Build a custom Eloquent repository when flat files are not enough.
-
Storing Content in a Database
Outgrown flat-file content? Move entries, collections, and assets into a database with Statamic's Eloquent driver.
-
Storing Users in a Database
Move users from flat files to a database when your user count grows and filesystem storage stops scaling.
-
Storing Users Somewhere Custom
Build a custom user repository when file or Eloquent storage does not fit how your users need to work.
Development
30 guides
-
Building your own Entries Repository
Statamic's data layer is driver-driven. Build a custom Eloquent repository when flat files are not enough.
-
Configuring update scripts on older installations
Update scripts were introduced for Statamic 3.1. Learn about update scripts and how to configure them on older Statamic installations.
-
Content Security Policy
Lock down scripts, styles, and frames with a Content Security Policy — plus what Statamic needs whitelisted.
-
Converting from Single to Multi-Site
Convert a single-site Statamic project to multi-site with php please multisite, or walk through the manual conversion steps.
-
Creating Users by Hand
Create CP users by adding YAML files to the users directory — Statamic encrypts the password on first load.
-
Disabling Control Panel Authentication
Disable the CP login, forgot-password, and registration pages when you are rolling your own authentication.
-
Enforce trailing slashes in URLs
Keep trailing slashes on URLs for SEO when migrating from another CMS — one helper call in AppServiceProvider.
-
Excluding the Control Panel from Maintenance Mode
Keep the Control Panel reachable while Laravel maintenance mode is on — add CP routes to the allow list.
-
Git Workflow
A good workflow revolving around git to manage your deployments is a key factor in a pain-free and efficient project.
-
How to change your timezone to UTC
Statamic 6 improves timezone handling. Switch your app timezone back to UTC and let Statamic handle display conversion.
-
How to Enable Statamic Pro
A fresh Statamic install starts in Solo edition mode. Here's how to enable Pro mode and unlock every feature Statamic has.
-
Importing Existing Content
Import content from another CMS into Statamic — built-in tools, converters, and manual approaches for every situation.
-
List of Reserved Words
Reserved field handles and variable names that collide with Statamic tags — avoid these in your blueprints.
-
Load templates dynamically based on the URL
Map URLs to view files with two route rules — prototype frontend layouts without setting up collections first.
-
Manually Resetting a User Password
Stuck in a login loop? Reset a password by editing the user YAML file — Statamic hashes it automatically.
-
Optimizing Assets
Slow asset browser on S3 or Spaces? Cache listing metadata so the CP does not hit the API every time.
-
Overriding Exception Rendering
Statamic 404, 403, and 401 exceptions bypass Laravel's renderer. Use renderUsing() to customize how they are displayed.
-
Pushing related entries to an Algolia index
Transform entry data before indexing to Algolia, including pushing related entries alongside each record in the index.
-
Recursive Nav Examples
Recursive nav examples for trees, footers, and sidebars — for when the nav tag makes your brain hurt a little.
-
Setting Default Columns on Listing Tables
Set default columns and sort order on CP listing tables by editing preference YAML — no UI required.
-
Storing Content in a Database
Outgrown flat-file content? Move entries, collections, and assets into a database with Statamic's Eloquent driver.
-
Storing Laravel Users in Files
Store Laravel app users as Statamic YAML files when your project needs both frameworks sharing the same user format.
-
Storing Users in a Database
Move users from flat files to a database when your user count grows and filesystem storage stops scaling.
-
Timezones
UTC storage, display timezones, and the config that ties them together — every developer's least favorite topic.
-
Using an Independent Authentication Guard
Separate Laravel app users from Statamic CP users with independent guards and providers in config/auth.php.
-
Using Digital Ocean Spaces for an Asset Container
Point an asset container at DigitalOcean Spaces using the S3 driver — install the adapter, add credentials, and you are set.
-
Using Statamic Alongside Laravel Nightwatch
Nightwatch on Statamic burns through your event quota fast. Filter noisy events and keep monitoring costs under control.
-
Using Statamic Alongside Laravel Nova
Nova is an admin panel designed to manage your Eloquent models and other things. It can work hand in hand with Statamic.
-
Working with Taxonomies by Hand
Create and manage taxonomies and terms by hand in YAML when the Control Panel is not your vibe.
-
Zero Downtime Deployments
How zero-downtime deploy tools structure releases, and which Statamic paths should live outside the release folder.
DevOps
1 guides
Laravel
9 guides
-
Building your own Entries Repository
Statamic's data layer is driver-driven. Build a custom Eloquent repository when flat files are not enough.
-
Disabling Control Panel Authentication
Disable the CP login, forgot-password, and registration pages when you are rolling your own authentication.
-
Overriding Exception Rendering
Statamic 404, 403, and 401 exceptions bypass Laravel's renderer. Use renderUsing() to customize how they are displayed.
-
Storing Content in a Database
Outgrown flat-file content? Move entries, collections, and assets into a database with Statamic's Eloquent driver.
-
Storing Laravel Users in Files
Store Laravel app users as Statamic YAML files when your project needs both frameworks sharing the same user format.
-
Storing Users in a Database
Move users from flat files to a database when your user count grows and filesystem storage stops scaling.
-
Using an Independent Authentication Guard
Separate Laravel app users from Statamic CP users with independent guards and providers in config/auth.php.
-
Using Statamic Alongside Laravel Nightwatch
Nightwatch on Statamic burns through your event quota fast. Filter noisy events and keep monitoring costs under control.
-
Using Statamic Alongside Laravel Nova
Nova is an admin panel designed to manage your Eloquent models and other things. It can work hand in hand with Statamic.
Localization
6 guides
-
Converting from Single to Multi-Site
Convert a single-site Statamic project to multi-site with php please multisite, or walk through the manual conversion steps.
-
How to change your timezone to UTC
Statamic 6 improves timezone handling. Switch your app timezone back to UTC and let Statamic handle display conversion.
-
Localizing Entries
Entries, blueprints, and folder structure when localizing content across multiple Statamic sites.
-
Localizing Globals
Configure which sites use a global set, and which fields are localizable vs. shared across locales.
-
Localizing Navigation
How navigation trees are organized per site in a multi-site setup — folders, YAML, and tree files.
-
Timezones
UTC storage, display timezones, and the config that ties them together — every developer's least favorite topic.
Performance
3 guides
-
Optimizing Assets
Slow asset browser on S3 or Spaces? Cache listing metadata so the CP does not hit the API every time.
-
Storing Users in a Database
Move users from flat files to a database when your user count grows and filesystem storage stops scaling.
-
Using Statamic Alongside Laravel Nightwatch
Nightwatch on Statamic burns through your event quota fast. Filter noisy events and keep monitoring costs under control.
Privacy & GDPR
1 guides
Troubleshooting
2 guides