For years, WPackagist was the go-to Composer repository for WordPress plugins and themes. In March 2026, WPackagist was acquired by WP Engine, a private-equity backed company. Tooling this central to the WordPress Composer workflow shouldn't be owned by a single corporation — it should be independent and community-funded.
How they compare
| WP Composer | WPackagist | |
|---|---|---|
| Ownership | Independent, maintained by Roots | WP Engine (private equity) |
| Open source | Fully open source — contributions welcome | Unclear — GitHub repo no longer reflects live site |
| Funding | Community-funded via GitHub Sponsors | Corporate-funded |
| Package naming | wp-plugin/* wp-theme/* |
wpackagist-plugin/* wpackagist-theme/* |
| Package metadata | Includes description, authors, and homepage in Composer metadata | Missing — requested since 2020 |
| Governance | Open roadmap, community collaboration | Corporate decision-making |
Performance
WP Composer supports Composer v2's metadata-url protocol, which lets Composer fetch metadata for only the packages it needs. WPackagist still uses the older provider-includes approach, which forces Composer to download large index files containing metadata for thousands of packages before it can resolve your dependencies.
Composer resolve times
Cold resolve (no cache) — lower is better.
| Plugins | WP Composer | WPackagist | Speedup |
|---|---|---|---|
| 10 plugins | 0.7s | 12.3s | 17x faster |
| 20 plugins | 1.1s | 19.0s | 17x faster |
Metadata & caching
| WP Composer | WPackagist | |
|---|---|---|
| Composer v2 metadata-url | Yes | No |
| CDN caching | public, max-age=300 |
no-cache, private |
| Per-package files | Immutable, content-addressed, cached indefinitely | Not content-addressed |
Benchmarks run from a single location using Composer 2.7+. Results may vary by region and network conditions. Benchmark scripts are open source.
The case for independence
WPackagist was originally built and maintained by Outlandish, who operated the service for over a decade. In its later years, the project suffered from neglect — slow updates, limited maintenance, and no meaningful community input into its direction.
Its acquisition by WP Engine raises important questions. When infrastructure this foundational to the WordPress developer workflow is controlled by a single corporation, the community loses its voice. Decisions about availability, pricing, and direction are made in boardrooms, not in the open.
It's also unclear whether WPackagist remains truly open source. The GitHub repository no longer reflects the live website, making it difficult for the community to audit, contribute to, or fork the project.
Built by Roots, maintained since 2011
WP Composer is built by Roots, the team behind Bedrock, Sage, Trellis, and Acorn. Since 2011, Roots has been continuously improving and maintaining open source WordPress tooling. We pioneered the use of Composer in WordPress development and have a proven track record of long-term commitment to the ecosystem.
WP Composer is fully open source and designed for community collaboration. Every line of code is public, contributions are welcome, and the project's direction is shaped by the developers who use it.
The repository includes everything needed to run your own instance: the application code, documentation on how it all works, and the full Ansible setup for deploying to production. Anyone can fork it and build their own WordPress Composer repository.
Community-funded, community-driven
Unlike corporate-backed alternatives, WP Composer is funded entirely by the community through GitHub Sponsors. Your sponsorship directly supports the infrastructure, development, and maintenance of WP Composer and the broader Roots ecosystem.
Sponsoring Roots means investing in independent, community-funded WordPress tooling that serves developers — not shareholders.
Support independent WordPress tooling
Help us keep WP Composer independent and freely available for every WordPress developer.
Sponsor Roots on GitHubMigrating from WPackagist
Switching from WPackagist to WP Composer takes just a few commands:
Remove wpackagist packages:
Remove the wpackagist repository and add WP Composer:
Require packages with the new naming:
Or use the migration script to automatically update your composer.json:
curl -sO https://raw.githubusercontent.com/roots/wp-composer/main/scripts/migrate-from-wpackagist.sh && bash migrate-from-wpackagist.sh