Bedrock is a modern WordPress stack that helps you get started with the best development tools and project structure.
Much of the philosophy behind Bedrock is inspired by the Twelve-Factor App methodology including the WordPress specific version.
Use Trellis for additional features:
See a complete working example in the roots-example-project.com repo.
composer create-project roots/bedrock your-project-folder-name
.env.example
to .env
and update environment variables:DB_NAME
- Database nameDB_USER
- Database userDB_PASSWORD
- Database passwordDB_HOST
- Database hostWP_ENV
- Set to environment (development
, staging
, production
)WP_HOME
- Full URL to WordPress home (http://example.com)WP_SITEURL
- Full URL to WordPress including subdirectory (http://example.com/wp)AUTH_KEY
, SECURE_AUTH_KEY
, LOGGED_IN_KEY
, NONCE_KEY
, AUTH_SALT
, SECURE_AUTH_SALT
, LOGGED_IN_SALT
, NONCE_SALT
If you want to automatically generate the security keys (assuming you have wp-cli installed locally) you can use the very handy wp-cli-dotenv-command:
wp package install aaemnnosttv/wp-cli-dotenv-command
wp dotenv salts regenerate
Or, you can cut and paste from the Roots WordPress Salt Generator.
Add theme(s) in web/app/themes
as you would for a normal WordPress site.
Set your site vhost document root to /path/to/site/web/
(/path/to/site/current/web/
if using deploys)
Access WP admin at http://example.com/wp/wp-admin
There are two methods to deploy Bedrock sites out of the box:
Any other deployment method can be used as well with one requirement:
composer install
must be run as part of the deploy process.
Bedrock documentation is available at https://roots.io/bedrock/docs/.
Contributions are welcome from everyone. We have contributing guidelines to help you get started.
Keep track of development and community news.