WP Composer: ett community-drivet alternativ till WPackagist för WordPress via Composer
Om du bygger WordPress-projekt “på riktigt” (versionshantering, CI, reproducibla byggen) är chansen stor att du för länge sedan landade i Composer-flödet: core som dependency, plugins/teman som dependencies och en tydlig separation mellan kod och miljö. I över ett decennium har WPackagist i praktiken varit standardvägen för att få in WordPress.org-katalogens plugins och teman via Composer.
I mars 2026 köptes WPackagist upp av WP Engine, ett private equity-backat hostingbolag. När en så central bit av verktygskedjan hamnar under kontroll av ett enskilt bolag blir det snabbt en fråga om långsiktig tillgänglighet, transparens och styrning. Därför finns nu WP Composer: ett oberoende, community-finansierat och helt open source-baserat Composer-repository för WordPress-plugins och teman, byggt och underhållet av Roots.
Varför det här spelar roll i Composer-flödet för WordPress
WPackagist byggdes ursprungligen av Outlandish och drevs under många år. Mot slutet präglades projektet dock av bristande underhåll: långsamma uppdateringar, begränsad förvaltning och i praktiken inget meningsfullt community-inflytande. Uppköpet av WP Engine förstärker just de riskerna som många WordPress-utvecklare redan känt av.
När grundläggande utvecklar-infrastruktur ägs och styrs av en enda aktör flyttas beslut om tillgänglighet, prissättning och riktning från det öppna samtalet till styrelserum. Det blir dessutom oklart hur “open” en lösning faktiskt är när den publika koden inte längre speglar produkten som körs – exempelvis när WPackagists GitHub-repo inte längre reflekterar den live-site som Composer-klienter pratar med: https://github.com/outlandishideas/wpackagist.
Poängen med WP Composer är att ha ett alternativ som är transparent, community-finansierat och byggt av folk som levt med WordPress + Composer-flödet länge.
För en praktisk jämförelse på prestanda, metadata och skillnader i implementation finns en dedikerad jämförelsesida: https://wp-composer.com/wp-composer-vs-wpackagist.
Vad WP Composer erbjuder
WP Composer exponerar alla gratis plugins och teman från WordPress.org-katalogen som Composer-paket – med ett renare namnschema än det vi vant oss vid med wpackagist-plugin/<em> och wpackagist-theme/</em>.
Plugins installeras som wp-plugin/<em> och teman som wp-theme/</em>. Det gör dependencies enklare att läsa, mindre “brandade” och mer konsekventa.
{
"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"
}
}
Ett viktigt detaljval här är only-filtreringen som begränsar repositoryt till just wp-plugin/<em> och wp-theme/</em>, vilket minskar risken för krockar och gör intent tydligare.
Tänkt att användas ihop med Roots WordPress core-paket
WP Composer är även tänkt som den rekommenderade repositoryt att köra tillsammans med Roots WordPress core-paket: roots/wordpress, roots/wordpress-full och roots/wordpress-no-content. Det finns en samlingssida för dessa: https://wp-composer.com/roots-wordpress.
I ett typiskt Bedrock-upplägg används roots/wordpress för WordPress core och WP Composer som källa för plugins och teman. Bedrock: https://roots.io/bedrock/.
Migrera från WPackagist: tre kommandon (eller ett script)
Om du redan har ett projekt som pekar mot WPackagist är bytet ganska rakt på sak. Grundidén är: ta bort gamla wpackagist-<em> dependencies, byt repository-URL och installera om med de nya paketen (wp-plugin/</em>, wp-theme/*).
1) Ta bort dina wpackagist-paket
composer remove wpackagist-plugin/woocommerce wpackagist-theme/twentytwentyfive
2) Byt repository-konfiguration
composer config --unset repositories.wpackagist && composer config repositories.wp-composer composer https://repo.wp-composer.com
3) Installera samma paket med nya namn
composer require wp-plugin/woocommerce wp-theme/twentytwentyfive
Alternativ: kör migreringsscript som uppdaterar composer.json automatiskt
Vill du slippa handändringar finns ett script som uppdaterar din composer.json åt dig: https://github.com/roots/wp-composer/blob/main/scripts/migrate-from-wpackagist.sh. Du kan hämta och köra det så här:
curl -sO https://raw.githubusercontent.com/roots/wp-composer/main/scripts/migrate-from-wpackagist.sh && bash migrate-from-wpackagist.sh
GitHub Action för changelogs har bytt namn
Om du använder Roots GitHub Action för att tracka plugin-uppdateringar är den uppdaterad och omdöpt från “WPackagist Changelog Action” till WP Composer Changelog Action, med fullt stöd för wp-plugin/<em> och wp-theme/</em>: https://github.com/roots/wp-composer-changelog-action.
Prestanda: snabbare dependency resolution med Composer v2 metadata-url
Den stora tekniska vinsten i WP Composer är stöd för Composer v2:s metadata-url-protokoll. Det gör att Composer kan hämta metadata endast för de paket som faktiskt behövs för att lösa dina dependencies.
WPackagist använder i sammanhanget en äldre modell, provider-includes, där Composer tvingas ladda ner stora indexfiler med metadata för tusentals paket innan dependency resolution ens kan börja på allvar. Resultatet blir segare “cold resolves” (dvs. utan cache), särskilt i projekt med fler plugins.
Composer resolve-tider (cold resolve, lägre är bättre)
- 10 plugins: WP Composer 0,7s vs WPackagist 12,3s (≈ 17× snabbare)
- 20 plugins: WP Composer 1,1s vs WPackagist 19,0s (≈ 17× snabbare)
Metadata och caching: skillnader som märks i CI och vid noll cache
- Composer v2
metadata-url: WP Composer Ja, WPackagist Nej - CDN caching: WP Composer
public, max-age=300, WPackagistno-cache, private - Per-package-filer: WP Composer är immutable, content-addressed och kan cacheas “för evigt”; WPackagist är inte content-addressed
Benchmarksen är körda från en plats med Composer 2.7+ och resultaten kan variera beroende på region och nätverksförutsättningar. Själva benchmark-scriptet finns öppet här: https://github.com/roots/wp-composer/tree/main/benchmarks.
Helt open source – på riktigt
WP Composer är inte bara “gratis att använda”, utan projektet är byggt med full transparens: applikationskod, dokumentation och deployment-konfiguration finns öppet på GitHub: https://github.com/roots/wp-composer.
Det innebär också att vem som helst kan bidra, forka och drifta en egen instans om man vill.
Community-finansiering via GitHub Sponsors
Driften finansieras helt av communityt via GitHub Sponsors: https://github.com/sponsors/roots. Sponsring går direkt till infrastruktur, utveckling och underhåll av WP Composer samt Roots-ekosystemet i stort.
När man bygger WordPress med Composer blir repositoryt en del av själva byggkedjan. Att hålla den biten oberoende och fritt tillgänglig är i praktiken en investering i förutsägbara leveranser, stabil CI och ett mer resilient WordPress-ekosystem.
Snabb check: vad du faktiskt behöver ändra
Byt från wpackagist-plugin/<em> och wpackagist-theme/</em> till wp-plugin/<em> och wp-theme/</em>, uppdatera repository-URL till https://repo.wp-composer.com och installera om dependencies.
Sammanfattning
- WP Composer är ett oberoende, community-finansierat och open source-baserat Composer-repository för WordPress-plugins och teman: https://wp-composer.com.
- Paketnamnen är renare:
wp-plugin/<em>ochwp-theme/</em>istället för WPackagists prefix. - Stöd för Composer v2
metadata-urlger markant snabbare cold resolves (exempel: ~17× snabbare i givna benchmarks). - Migrering kan göras med tre Composer-kommandon eller via ett script.
- Koden (inkl. deployment) ligger öppet på GitHub och kan forkas/driftas av vem som helst.
Maja Lindberg
Serverless- och edge computing-utvecklare. Vercel och Cloudflare Workers är mina favoriter. Magin händer i molnets kant.
Alla inlägg