WP Composer: független, nyílt forrású Composer repository WordPress bővítményekhez és sablonokhoz (WPackagist helyett)
A WordPress-es Composer workflow évek óta ugyanarra a pillérre támaszkodott: WPackagist. Sokunknál ez volt a „default” megoldás arra, hogy a WordPress.org könyvtár ingyenes bővítményeit és sablonjait ugyanúgy tudjuk verziózni és telepíteni, mint bármilyen más PHP csomagot.
2026 márciusában azonban a WPackagist a WP Engine tulajdonába került. És itt nem csak egy tulajdonosváltásról van szó: ha egy ennyire központi fejlesztői infrastruktúra egyetlen cég kontrollja alá kerül, az hosszú távon kockázatot jelent átláthatóságban, irányításban és fenntarthatóságban is. Erre a helyzetre született válaszként a WP Composer.
Mi az a WP Composer, és miért érdekes fejlesztőként?
A WP Composer (https://wp-composer.com) egy független, közösség által finanszírozott, teljesen nyílt forrású Composer repository WordPress bővítményekhez és sablonokhoz. A Roots csapata építi és üzemelteti, és a célja nagyon egyértelmű: legyen egy transzparens, vállalati kontrolltól független alternatíva, ami technikailag is korszerűbb, mint amit eddig megszoktunk.
A háttérhez hozzátartozik, hogy a WPackagistot eredetileg az Outlandish készítette, és hosszú ideig ők tartották karban. Az utolsó időszakban viszont egyre inkább érződött a projekt elhanyagolása: lassabb frissítések, korlátozott karbantartás, és kevés érdemi közösségi beleszólás. A felvásárlás ezekre a kérdőjelekre még rátett egy lapáttal.
További kellemetlen bizonytalanság, hogy nem teljesen egyértelmű, a WPackagist mennyire tekinthető ma „igazán” nyílt forrásúnak: a GitHubon elérhető repository (https://github.com/outlandishideas/wpackagist) már nem tükrözi egyértelműen az élő szolgáltatás állapotát.
Mit ad a WP Composer a gyakorlatban?
A WP Composer célzottan a WordPress.org könyvtár ingyenes bővítményeit és sablonjait teszi elérhetővé Composerből, tisztább csomagnévkiosztással.
A csomagok elnevezése egyszerű:
- Bővítmények:
wp-plugin/* - Sablonok:
wp-theme/*
Ezzel eltűnik az eddig sok helyen megszokott wpackagist-plugin/<em> és wpackagist-theme/</em> prefixelés, és a composer.json is átláthatóbb lesz.
{
"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"
}
}
Fontos, hogy a WP Composer kifejezetten jól illeszkedik a Roots WordPress core csomagjai mellé is. Itt három csomag jön képbe:
roots/wordpress(https://wp-composer.com/roots-wordpress)roots/wordpress-fullroots/wordpress-no-content
Egy tipikus Bedrock (https://roots.io/bedrock/) projekt például a WordPress core-t roots/wordpress-szel kezeli, míg bővítményekhez és sablonokhoz a WP Composer repository-t használja.
Átállás WPackagistról: a minimális lépések (parancsokkal)
Ha meglévő projektben WPackagistot használsz, az átállás lényegében három lépés. A logika: először kiszeded a régi prefixű csomagokat, utána repo csere, végül felveszed az új néven a csomagokat.
1) WPackagist csomagok eltávolítása
composer remove wpackagist-plugin/woocommerce wpackagist-theme/twentytwentyfive
2) Repository csere a Composer configban
composer config --unset repositories.wpackagist && composer config repositories.wp-composer composer https://repo.wp-composer.com
3) Csomagok felvétele az új wp-plugin/<em> és wp-theme/</em> névvel
composer require wp-plugin/woocommerce wp-theme/twentytwentyfive
Ha nem kézzel szerkesztenéd és vadásznád végig a composer.json-t, van egy automata migrációs script is, ami frissíti a beállításokat:
curl -sO https://raw.githubusercontent.com/roots/wp-composer/main/scripts/migrate-from-wpackagist.sh && bash migrate-from-wpackagist.sh
Aki GitHub Actionnel követi a bővítményfrissítéseket és changelogokat, annak is van jó hír: a korábbi WPackagist Changelog Action átnevezve és frissítve elérhető WP Composer Changelog Action néven, és natívan támogatja az új wp-plugin/<em> és wp-theme/</em> csomagneveket: https://github.com/roots/wp-composer-changelog-action
Teljesítmény: miért gyorsabb a WP Composer?
A WP Composer a Composer v2 egyik modern megoldására, a metadata-url protokollra támaszkodik. Ennek a lényege, hogy a Composer csak azokhoz a csomagokhoz kér le metadatát, amik ténylegesen kellenek a feloldáshoz.
Ezzel szemben a WPackagist sokáig a régebbi provider-includes megközelítést használta, ami dependency feloldás előtt nagy index fájlokat töltet le a Composerrel – olyanokat is, amelyek rengeteg, a projekted szempontjából irreleváns csomag metadatáját tartalmazzák. A végeredmény: hideg cache-szel lassabb resolve idők, és felesleges adatforgalom.
Composer resolve idők (cold resolve, cache nélkül)
Az alábbi számoknál a kisebb érték a jobb:
- 10 bővítmény: WP Composer 0.7s, WPackagist 12.3s (kb. 17× gyorsulás)
- 20 bővítmény: WP Composer 1.1s, WPackagist 19.0s (kb. 17× gyorsulás)
Metadata és cache-elés különbségek
- Composer v2
metadata-url: WP Composer: igen, WPackagist: nem - CDN cache header: WP Composer:
public, max-age=300, WPackagist:no-cache, private - Csomagonkénti fájlok: WP Composer: immutable, content-addressed (tartalom alapú azonosítás), és gyakorlatilag korlátlan ideig cache-elhető; WPackagist: nem content-addressed
A mérések egyetlen földrajzi helyről futottak Composer 2.7+ verzióval, tehát régió és hálózati körülmények alapján eltérés előfordulhat. A benchmark scriptek publikusak: https://github.com/roots/wp-composer/tree/main/benchmarks
Nyílt forráskód végig, nem csak „papíron”
A WP Composer teljes kódbázisa, dokumentációja és deployment konfigurációja nyílt forrású és elérhető GitHubon: https://github.com/roots/wp-composer. Ez nem csak annyit jelent, hogy bele lehet nézni, hanem azt is, hogy bárki forkolhatja, és akár saját példányt is futtathat.
Közösségi finanszírozás: mitől marad független?
A WP Composer üzemeltetése és fejlesztése közösségi finanszírozással megy, GitHub Sponsorson keresztül: https://github.com/sponsors/roots. A támogatás közvetlenül az infrastruktúrát, a fejlesztést és a karbantartást finanszírozza – nem csak a WP Composerét, hanem tágabban a Roots ökoszisztémáét is.
Ha a WordPress-es projektjeidben a Composer a mindennapi eszköztárad része (core, bővítmények, sablonok verziózása, CI/CD), akkor ez a fajta független, transzparens infrastruktúra nagyon gyorsan „kritikus szolgáltatássá” válik – érdemes ennek megfelelően kezelni.
Hasznos linkek egy helyen
WP Composer: https://wp-composer.com Repo URL (Composer): https://repo.wp-composer.com Összehasonlítás: https://wp-composer.com/wp-composer-vs-wpackagist Migrációs script: https://github.com/roots/wp-composer/blob/main/scripts/migrate-from-wpackagist.sh WP Composer Changelog Action: https://github.com/roots/wp-composer-changelog-action Forráskód: https://github.com/roots/wp-composer Roots/wordpress: https://wp-composer.com/roots-wordpress Bedrock: https://roots.io/bedrock/
Összefoglalás
A WP Composer egy modern, gyors és átlátható Composer repository WordPress bővítményekhez és sablonokhoz, tiszta wp-plugin/<em> és wp-theme/</em> csomagnevekkel. A Composer v2 metadata-url támogatás miatt a dependency feloldás érezhetően gyorsabb lehet, és a teljes projekt nyílt forrású, közösségi finanszírozású működésre épül. WPackagistról átállni pár parancs, vagy egy automata script kérdése – Bedrock/Roots környezetben pedig kifejezetten kézenfekvő választás.
Szabó Péter
Full-stack fejlesztő, JavaScript és Vue.js rajongó. Cikkeimet a gyakorlati problémamegoldás inspirálja. Ha nem kódolok, akkor biztosan podcastot hallgatok.
Összes bejegyzés