WP Composer vs WPackagist

Why an independent, community-funded Composer repository matters for the WordPress ecosystem.

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 GitHub

Migrating from WPackagist

Switching from WPackagist to WP Composer takes just a few commands:

1

Remove wpackagist packages:

composer remove wpackagist-theme/twentytwentyfive
2

Remove the wpackagist repository and add WP Composer:

composer config --unset repositories.wpackagist && composer config repositories.wp-composer composer https://repo.wp-composer.com
3

Require packages with the new naming:

composer require wp-theme/twentytwentyfive

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

WP Composer is community-funded open source. Support our work by sponsoring us on GitHub.

Sponsors

Carrot Kinsta WordPress.com Itineris