Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Wordpress Laravel Package

roots/wordpress

Composer-managed WordPress package from Roots. Installs WordPress in a clean, modern directory structure with environment-based configuration, making core updates and dependencies easy to manage in version-controlled projects.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Category correction (first-order finding): roots/wordpress is not a Laravel package. It is a Composer-packaged distribution of WordPress core, published by Roots, and consumed almost exclusively through the Bedrock stack. It ships no service provider, no facade, no Artisan commands, no Eloquent bindings, and no Laravel version constraints. Treat any request framed as "adopt this Laravel package" as a scoping error and re-baseline the decision as "do we adopt Composer-managed WordPress core?" The Laravel adjacency is indirect: Bedrock borrows Laravel-style .env config and directory conventions, and the companion Sage theme uses Blade and Illuminate components. A TPM should set expectations accordingly in the kickoff.

Architecture fit:

  • Fits a Bedrock-style layout where core lives at web/wp, plugins/themes at web/app, and wp-config.php is env-driven.
  • Requires a Composer installer supporting the wordpress-core package type (roots/wordpress-core-installer or composer/installers) plus an install-path override.
  • For a genuine Laravel application, the only sane fit is headless: WordPress in a separate container/Service, exposed via WP REST API or WPGraphQL. Do not attempt to embed core inside a Laravel app tree.
  • Value proposition is real but narrow: reproducible core versions in composer.lock, immutable deploys, no dashboard-driven core edits, and a single dependency workflow for PHP.

Integration feasibility:

  • High on greenfield Bedrock; moderate on brownfield WordPress. The work is mostly relocation of wp-content, docroot changes, and disabling FS_METHOD/core updates, not code changes.
  • Plugin compatibility is the main unknown: anything hardcoding ABSPATH or WP_CONTENT_DIR assumptions, or writing to core, will need remediation.
  • The package has no commercial vendor; integration support is community-only.

Technical risk:

  • Supply chain: you are depending on a third-party mirror of core. 199 stars and a reported 0 dependents understate real usage (Bedrock pulls it transitively), but the maintainer concentration risk is genuine. Mitigate with an internal Satis/Private Packagist mirror, pinned versions in composer.lock, and checksum comparison against wordpress.org tarballs.
  • Licensing: the packaging is MIT, but the packaged code is GPLv2-or-later. If your organization has GPL-avoidance policies, this needs legal sign-off before pilot. MIT on the wrapper is not a clean-room answer.
  • Security cadence shifts to you: disabling core auto-updates is the point of the package, which means every WordPress security release becomes an internal patch-and-deploy ticket with your SLA attached. This is the single largest operational risk.
  • Data hygiene: the stated last release of 2026-10-06 is a future date and should be verified against the actual tag list before any planning assumption is built on it. Signal quality on the metadata is low.

Key questions to resolve before commitment:

  1. Is the target stack Bedrock, or a Laravel app? (Determines whether this is a core dependency or a headless sidecar.)
  2. Who owns the WordPress security patch SLA, and what is the target window from upstream disclosure to production deploy?
  3. Do we have a private Composer mirror and artifact retention policy?
  4. Has legal reviewed GPLv2 redistribution under an MIT wrapper?
  5. Are there plugins in the current estate with hardcoded path or filesystem-write assumptions?

Integration Approach

Stack fit:

  • Bedrock-based WordPress: native fit. This is the intended consumption path.
  • Sage theme + Bedrock: coherent Roots end-to-end stack; Blade/Illuminate gives Laravel-familiar DX for theme developers.
  • Pure Laravel monolith: do not integrate as a library. Deploy WordPress as an independent service, consume via API, and share auth via a token or SSO bridge.
  • Trellis/Ansible provisioning: well-trodden; aligns with immutable-infrastructure goals.

Migration path (brownfield WordPress):

  1. Freeze plugin/theme changes on the source site; snapshot DB and uploads.
  2. Introduce Composer and Bedrock skeleton in a branch; composer require roots/wordpress:^6.x.
  3. Relocate wp-content to app/, map WP_CONTENT_DIR/WP_CONTENT_URL, convert wp-config.php constants to .env.
  4. Repoint the web server docroot to web/, set DISALLOW_FILE_MODS and AUTOMATIC_UPDATER_DISABLED to true.
  5. Establish CI: composer install --no-dev, config lint, smoke test, deploy artifact.
  6. Cut over behind DNS with a rollback image ready.

Compatibility checks:

  • PHP version pinned to the highest version supported by both core and the plugin set; Composer 2 required.
  • MySQL/MariaDB versions per current WordPress minimums; verify against managed-database offerings.
  • Object cache (Redis/Memcached) drop-in placement under app/.
  • Multisite adds complexity to path assumptions — validate separately.

Sequencing:

  1. Two-week spike on one low-traffic property to validate plugin compatibility and deploy pipeline.
  2. Legal/licensing sign-off in parallel, not after.
  3. Internal Composer mirror stood up before second site.
  4. Rollout in waves by criticality; retire dashboard-based core updates org-wide only after wave one is stable for a full patch cycle.

Operational Impact

Maintenance:

  • Version bumps track WordPress releases. Minor/security releases are frequent and irregular; expect several per quarter.
  • Automate discovery (composer outdated in CI, Renovate/Dependabot against composer.lock) but keep the merge human-gated with a smoke test.
  • Budget roughly 1–2 hours per patch cycle for a single site once the pipeline is mature; multiply by surface area and plugin count.

Support:

  • No vendor, no SLA. Channels are GitHub issues and the Roots Discourse community.
  • Escalation for core defects goes to WordPress core Trac, not Roots. Roots owns packaging only. Frame this clearly in any support model or runbook.
  • Internal ownership must be explicit: a named team owns core version currency, mirror availability, and the deploy pipeline.

Scaling:

  • Strong improvement over traditional WordPress: immutable container images, horizontally scalable stateless app tier, version parity across environments, deterministic builds.
  • Uploads and sessions must be externalized (S3/object storage, shared session store) — a prerequisite, not an afterthought.
  • Composer install times and artifact size are minor; cache the Composer layer in CI.

Failure modes to design against:

  • Upstream package unpublished or repository unavailable → mirror + lockfile is the mitigation.
  • Installer plugin type conflict or install-path misconfiguration → silent wrong docroot; assert path in CI.
  • Core version drift between environments → enforce artifact promotion, no per-environment composer update.
  • Patch lag creating CVE exposure → alerting on upstream security releases with an owner and an SLA clock.
  • Plugin auto-update partially enabled on one node → drift and inconsistent schema; enforce via config and audit.
  • Developer running manual core edits on a node → overwritten on next deploy; document explicitly and restrict filesystem permissions.

Ramp-up:

  • WordPress developer to Bedrock/Composer competency: roughly one to two sprints, dominated by Composer and env-config habits rather than WordPress knowledge.
  • Ops/DevOps to Trellis or equivalent: two to four sprints, or reuse existing container/platform tooling to avoid Trellis entirely.
  • Laravel-native developers adapt quickly to Sage/Blade but will be unproductive if they expect framework conventions from core — call this out in onboarding to prevent the "where is the service container" detour.
  • Add a short internal runbook covering patch cadence, mirror failover, and rollback; that artifact, not the package, is what makes the adoption durable.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib