Skip to content
Bedrock

Roots and WP Packages are independent open source projects, supported only by developers like you. We’ve been improving the WordPress developer experience since 2011, and your support keeps it independent.

Installing the Bedrock WordPress Boilerplate

View as Markdown:

What is Bedrock?

Bedrock is a WordPress boilerplate.

Why use Bedrock?

  • Better folder structure
  • Dependency management with Composer
  • Easy WordPress configuration with environment specific files
  • Environment variables with Dotenv
  • Autoloader for mu-plugins (use regular plugins as mu-plugins)

Requirements

Installing Bedrock with Composer

Create a new Bedrock project:

$ composer create-project roots/bedrock

Getting Started

  • Create a .env file with the following environment variables (see .env.example as an example):
    • Database variables
      • DB_NAME - Database name
      • DB_USER - Database user
      • DB_PASSWORD - Database password
      • DB_HOST - Database host
      • Optionally, you can define DATABASE_URL for using a DSN instead of using the variables above (e.g. mysql://user:[email protected]:3306/db_name)
    • WP_ENV - Set to environment (development, staging, production)
    • WP_HOME - Full URL to WordPress home (https://example.com)
    • WP_SITEURL - Full URL to WordPress including subdirectory (https://example.com/wp)
    • AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT
  • Add theme(s) in web/app/themes/ as you would for a normal WordPress site
  • Run the test suite with composer test (see Testing Bedrock with Pest)
  • Set the document root on your webserver to Bedrock's web folder: /path/to/site/web/
  • Access WordPress admin at https://example.com/wp/wp-admin/

Multisite

Bedrock is multisite network compatible, but needs the roots/multisite-url-fixer mu-plugin on subdomain installs to make sure admin URLs function properly. This plugin is not needed on subdirectory installs but will work well with them. From your Bedrock directory:

$ composer require roots/multisite-url-fixer

Last updated