Skip to content
  1. Blog

Introducing WP Composer as a WPackagist Replacement

Ben Word Ben Word

For over a decade, WPackagist was the default way to install WordPress plugins and themes via Composer.

In March 2026, WPackagist was acquired by WP Engine, a private equity-backed hosting company. Infrastructure this central to the WordPress Composer workflow shouldn’t be controlled by a single corporation. So we built an alternative.

WP Composer is an independent, community-funded, fully open source Composer repository for WordPress plugins and themes, built and maintained by Roots.

Why this matters

WPackagist was originally built by Outlandish, who maintained it for years. In its later period, the project suffered from neglect. Slow updates, limited maintenance, and no meaningful community input. Its acquisition by WP Engine only deepened those concerns.

When foundational developer tooling is controlled by a single corporation, the community loses its voice. Decisions about availability, pricing, and direction get made in boardrooms, not in the open. It’s also unclear whether WPackagist remains truly open source — their GitHub repository no longer reflects the live site.

We think there should be an alternative that’s transparent, community-funded, and built by people who’ve been doing this for a long time.

See our full comparison of WP Composer vs WPackagist for details on performance, metadata, and how they differ.

What WP Composer provides

Every free plugin and theme from the WordPress.org directory, installable via Composer with clean package naming:

{
  "repositories": [
    {
      "name": "wp-composer",
      "type": "composer",
      "url": "https://repo.wp-composer.com",
      "only": ["wp-plugin/*", "wp-theme/*"]
    }
  ],
  "require": {
    "wp-plugin/woocommerce": "^10.0",
    "wp-theme/twentytwentyfive": "^1.0"
  }
}

Plugins use wp-plugin/*, themes use wp-theme/*. No more wpackagist-plugin and wpackagist-theme prefixes.

WP Composer is also the recommended repository for use alongside our WordPress core packages — roots/wordpress, roots/wordpress-full, and roots/wordpress-no-content. A typical Bedrock project uses roots/wordpress for core and WP Composer for plugins and themes.

Migrating from WPackagist

Switching takes a few commands:

1. Remove your wpackagist packages:

composer remove wpackagist-plugin/woocommerce wpackagist-theme/twentytwentyfive

2. Swap the repository:

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-plugin/woocommerce wp-theme/twentytwentyfive

Or run the migration script to update your composer.json automatically:

curl -sO https://raw.githubusercontent.com/roots/wp-composer/main/scripts/migrate-from-wpackagist.sh && bash migrate-from-wpackagist.sh

If you use our GitHub Action for tracking plugin updates, we’ve also renamed WPackagist Changelog Action to WP Composer Changelog Action with full support for the new wp-plugin/* and wp-theme/* naming format.

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.

PluginsWP ComposerWPackagistSpeedup
10 plugins0.7s12.3s17x faster
20 plugins1.1s19.0s17x faster

Metadata & caching

WP ComposerWPackagist
Composer v2 metadata-urlYesNo
CDN cachingpublic, max-age=300no-cache, private
Per-package filesImmutable, content-addressed, cached indefinitelyNot 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.

Fully open source

The entire project’s application code, documentation, and deployment configuration is open source on GitHub. Contributions are welcome. Anyone can fork it and run their own instance.

Community-funded

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.

If you rely on Composer for WordPress development, consider sponsoring Roots to keep this tooling independent and freely available.

Discuss this post on Roots Discourse

About the author

Ben Word

Ben Word has been creating WordPress sites since 2004. He loves dogs, climbing, and yoga, and is passionate about helping people build awesome things on the web.

Subscribe for updates

Join over 8,000 subscribers on our newsletter to get the latest Roots updates and tips on building better WordPress sites

Looking for WordPress plugin recommendations, the newest modern WordPress projects, and general web development tips and articles?

One last step! Check your email for a verification link.