roots/wordpress-core-installer
Composer installer for WordPress core that lets you install WordPress into a custom directory, such as Bedrock's web/wp, instead of the default wordpress folder. Keeps core separate from themes and plugins for cleaner, more maintainable sites.
Architecture fit
roots/wordpress-core-installer is a Composer plugin that changes where WordPress core is installed (typically outside vendor/, e.g. web/wp) so WordPress can act as a first-class dependency rather than a manually downloaded tarball. It is purpose-built for the Roots/Bedrock layout.wp-content lifecycle. Embedding WP inside Laravel’s HTTP kernel is an anti-pattern; treating WP as a separate headless content service is the viable pattern.Integration feasibility
roots/wordpress), set wordpress-install-dir and webroot-dir in composer.json extra config, and allow the plugin under Composer 2.2+ config.allow-plugins./wp-admin, /wp-json, /wp-content; separation from Laravel’s public/index.php; environment/config duplication (Bedrock’s env-driven wp-config vs Laravel .env); CI artifacts and deploy permissions.Technical risk
composer/installers or other custom installers if both claim wordpress-core; path collisions are a common failure mode.Key questions
allow-plugins policy applies in CI and production?wp-content (themes/plugins/uploads) versioned and deployed?Stack fit
Migration path
Compatibility
allow-plugins configured; PHP 8.x aligned with both Laravel and WordPress support matrices.web/wp plus wp-content.Sequencing
roots/wordpress-core-installer, configure allow-plugins, pin WP core in composer.lock.wp-content versioning and deployment strategy.Maintenance
Support
Scaling
Failure modes
allow-plugins) and install fails or silently skips path customization.vendor/ or the wrong webroot, causing 404s and broken admin.wp-content unversioned or undeployed, producing environment drift.Ramp-up
wp-config, and Bedrock env conventions.wp-content deployment, and rollback. Given the low opportunity score and narrow adoption, treat this as a tactical enabler only if WordPress is already mandated—not as a strategic Laravel integration bet.How can I help you explore Laravel packages today?