LW Image
A WordPress-feltöltéseket WebP formátumba konvertálja a HelloImg API-val, még a méretváltozatok elkészülte előtt — így egyetlen API-hívás fedi az eredetit és az összes bélyegképet. Az eredeti képek megmaradnak és bármikor visszaállíthatók.
Áttekintés
| Szükséges WordPress | 6.6+ |
| Szükséges PHP | 8.0+ |
| Licenc | GPL-2.0-or-later |
| Azonosító | lw-img |
| Beállítás | lw_img_options |
| GitHub | lwplugins/lw-img |
A bővítményhez HelloImg API-kulcs kell. A konverzió a HelloImg szerverein történik, tehát a kulcs megadásáig semmi nem működik.
Gyors indulás
- Telepítsd és aktiváld a bővítményt
- Nyisd meg az LW Plugins → Image oldalt
- Illeszd be az API-kulcsot az General fülön, majd ments
- Nézd meg a Tester fület: ellenőrzi a WebP-támogatást, a cront, a tárhelyet és az API-kapcsolatot
- Tölts fel egy képet — már a feltöltéskor átalakul
Telepítés
Composerrel
composer require lwplugins/lw-imgA bővítmény a wp-content/plugins/lw-img/ mappába kerül.
Kézi telepítés ZIP-ből
- Nyisd meg a legutóbbi kiadást ,
és töltsd le a
lw-img-<verzió>.zipfájlt - A WordPressben nyisd meg a Bővítmények → Új hozzáadása → Bővítmény feltöltése oldalt
- Válaszd ki a ZIP-et, Telepítés most, majd Aktiválás
Vagy SSH-n — a parancs magától megkeresi az aktuális kiadást, így nem avul el:
wp plugin install "$(curl -s https://api.github.com/repos/lwplugins/lw-img/releases/latest \
| grep -oE 'https://[^"]+\.zip')" --activateA ZIP-et a Releases oldalról töltsd le, ne a zöld Code → Download ZIP
gombbal. Az utóbbi az egész repót adja — teszteket, fejlesztői eszközöket,
CI-beállításokat —, ráadásul lw-img-main/ néven csomagol ki, amit a
WordPress frissítéskor már nem ismer fel ugyanannak a bővítménynek.
Telepítés után
Az összes LW csomag egyetlen LW Plugins admin menüt használ. Amelyik előbb töltődik be, az hozza létre a menüt; ez a bővítmény egy Image almenüt tesz alá.
Beállítások
LW Plugins → Image, hét fül:
| Fül | Mire való |
|---|---|
| General | API-kulcs és kapcsolat-teszt, fiókadatok, az alapértelmezések, amiket minden feltöltés örököl |
| Stats | Megtakarítás előtte/utána sávval, a legnagyobb nyereségek, más optimalizálók ottfelejtett mappái |
| Upload | Főkapcsoló, a konverziós folyamat, optimalizálási szint, EXIF-kezelés, mintaszabályok |
| Bulk | A meglévő médiatár feldolgozása, haladásjelzéssel, sebességgel és becsült idővel |
| Backup | A mentések életciklusa, tárhely, megőrzési idő, visszaállítás |
| Tester | Környezet-ellenőrzés: tábla-motorok, WebP/AVIF-támogatás, cron, tárhely, API |
| Log | Az utolsó 200 esemény, szűrhetően, lapozva |
Optimalizálási szintek
Az Upload fülön állítható, futásonként felülírható a CLI-ből:
| Szint | Mikor |
|---|---|
lossless | Fotó vagy nyomdai forrás, ahol semmilyen látható veszteség nem fér bele |
normal | Az alapértelmezés — a legtöbb oldalnak ez a jó alku |
aggressive | Tartalmi képek, ahol a fájlméret fontosabb a finom részleteknél |
ultra | Bélyegképek és dekoratív képek |
Mintaszabályok
Helyettesítő karakteres minták a fájlnévre vagy az útvonalra, mindegyikhez egy művelettel: kihagyás, eredeti méret megtartása, kötelező szint vagy EXIF megtartása. Ugyanúgy érvényesek feltöltéskor és tömeges futtatáskor.
Amit soha nem alakít át
A WebP és az AVIF (már az), és az animált GIF (a konverzió elvinné az animációt). Más optimalizáló — ShortPixel, TinyPNG, Imagify — képeihez nem nyúl; aktív konkurens esetén eltüntethető figyelmeztetést jelenít meg.
WP-CLI
wp lw-img <parancs>status
Az optimalizálási állapotok darabszáma. Az ottfelejtett fájlok adatai a tárolt
vizsgálatból jönnek — újraolvasáshoz wp lw-img leftovers --rescan.
wp lw-img statusoptimize
Képek optimalizálása.
| Kapcsoló | Jelentés |
|---|---|
[<id>...] | Az optimalizálandó csatolmányok azonosítói |
--all | A médiatár minden még nem optimalizált képe |
--limit=<szám> | --all mellett ennyi kép után megáll |
--dry-run | Csak felsorolja, mit dolgozna fel |
--speed=<sebesség> | gentle, normal vagy fast; erre a futásra felülírja a mentett beállítást. Magas szerverterhelésnél mindegyik profil visszavesz |
--level=<szint> | lossless, normal, aggressive vagy ultra a mentett szint helyett |
--skip-redirect-check | Akkor is fut, ha a webszerver elnyeli az uploads 404-eket. Ilyenkor az átalakított képek régi URL-jei 404-et adnak átirányítás helyett — lásd a Tester fület |
wp lw-img optimize 123 456
wp lw-img optimize --all
wp lw-img optimize --all --speed=gentle
wp lw-img optimize 123 --level=lossless
wp lw-img optimize --all --limit=50 --dry-runTöbb worker is üríthet egyszerre ugyanabból a sorból: indítsd a
wp lw-img optimize --all parancsot párhuzamos shellekben, a Bulk fül élőben
követi. A képeket a workerek lefoglalják, így kettő sosem viszi ugyanazt.
restore
Képek visszaállítása a mentésből.
| Kapcsoló | Jelentés |
|---|---|
<id>... | A visszaállítandó csatolmányok azonosítói |
wp lw-img restore 123list
Csatolmányok listázása LW Image állapot szerint.
| Kapcsoló | Jelentés |
|---|---|
--status=<állapot> | optimized, skipped vagy failed |
[--limit=<szám>] | Sorok maximuma, alapértelmezés 100 |
[--format=<formátum>] | table (alap), csv, json, yaml, count |
wp lw-img list --status=skipped
wp lw-img list --status=failed --format=jsonrequeue
Kihagyott és/vagy hibára futott képek visszatétele a sorba.
| Kapcsoló | Jelentés |
|---|---|
[--failed] | Amelyeknél az utolsó próbálkozás hibára futott |
[--skipped] | Amelyeket kihagyott, például beállítás-változtatás után |
wp lw-img requeue --failed
wp lw-img requeue --failed --skippedleftovers
Kimutatja, milyen eredeti képeket hagytak a lemezen más optimalizálók —
a saját mentési mappáikat (ShortPixel, Imagify, EWWW) és a képek mellé rakott
eredetiket is (Swift Performance .swift-original, Smush .bak.<kit>).
Az LW Image ezeket csak megméri. Más bővítmény fájljait soha nem törli.
| Kapcsoló | Jelentés |
|---|---|
[--rescan] | A tárolt vizsgálat helyett újra végigjárja az uploads mappát |
[--format=<formátum>] | table (alap), csv, json, yaml, count |
wp lw-img leftovers
wp lw-img leftovers --rescan
wp lw-img leftovers --format=jsondoctor
A Tester fül környezet-ellenőrzései a terminálból: hiányzó WebP-támogatás, elnyelt uploads 404-ek, MyISAM táblák. SSH-n és monitorozásból is hasznos: kritikus hiba esetén nem nulla kilépési kóddal áll le.
| Kapcsoló | Jelentés |
|---|---|
[--format=<formátum>] | table (alap), csv, json, yaml, count |
wp lw-img doctor
wp lw-img doctor --format=jsonsmartcrop
Meglévő képek újravágása subject-aware módon.
A smart crop normál esetben csak új feltöltéskor fut, így egy visszaállítás, egy újraoptimalizálás vagy a bélyegképek újragenerálása elviszi a vágást, és az adminból nincs mód megismételni. Erre való ez a parancs.
A smartcrop_enabled kapcsolót szándékosan nem nézi — a parancs kiadása
maga a szándék. Az API-kulcsot viszont előre ellenőrzi, így hiányzó kulcs
esetén egyszer hibázik, nem pedig képenként és méretenként, csendben.
| Kapcsoló | Jelentés |
|---|---|
[<id>...] | Csatolmány-azonosítók. --all-lal nem kombinálható |
[--all] | A médiatár összes képe |
[--yes] | --all mellett kihagyja a megerősítő kérdést |
[--sizes=<név,név>] | Erre a futásra felülírja a mentett méretválasztást |
[--dry-run] | Felsorolja a tervezett munkát és az API-hívások számát; nem költ semmit |
wp lw-img smartcrop 123 456
wp lw-img smartcrop --all --yes
wp lw-img smartcrop --all --sizes=thumbnail,medium --dry-runA smart crop képenként és méretenként API-hívásba kerül. Teljes médiatárra
előbb futtasd --dry-run-nal, hogy lásd az összesített hívásszámot.
Hookok
| Szűrő | Mire való |
|---|---|
lw_img_should_convert | Képenként eldöntheted, hogy egyáltalán átalakuljon-e |
lw_img_optimize_request_args | A HelloImg API felé küldött kérés módosítása |
lw_img_competitor_plugins | Bővítheted azoknak az optimalizálóknak a listáját, amiknek a képeihez nem nyúl |
lw_img_site_host | Felülírja, milyen hosztot kap az API |
lw_img_dashboard_url | A fiók-hivatkozás máshová mutasson, mint az app.helloimg.io |
// Az /uploads/originals/ alatti képekhez soha ne nyúljon.
add_filter( 'lw_img_should_convert', function ( bool $convert, int $attachment_id ): bool {
$file = (string) get_attached_file( $attachment_id );
return str_contains( $file, '/uploads/originals/' ) ? false : $convert;
}, 10, 2 );Hibakeresés
Feltöltéskor semmi nem alakul át. Nézd meg az API-kulcsot a General
fülön, majd futtasd a wp lw-img doctor parancsot. A hiányzó kulcs és a
blokkolt kimenő kapcsolat is ott jelentkezik.
A régi kép-URL-ek 404-et adnak a konverzió után. Egyes szerverek maguk
válaszolnak az uploads kérésekre, és el sem jutnak a WordPressig, így a régi
URL-ről az átirányítás nem tud lefutni. A Tester fül ezt felismeri és meg is
nevezi; a --skip-redirect-check csak elnémítja az ellenőrzést, a szervert
nem javítja meg.
Egy tömeges futás félbeszakadt. Legtöbbször az API-kvóta fogyott el: a
futás szándékosan leáll, a függőben lévő képek pedig sorban maradnak, nem
kapnak hibás pecsétet. Töltsd fel a keretet, majd add ki újra a
wp lw-img optimize --all parancsot.
Kihagyott képeket mégis feldolgoznál. A wp lw-img requeue --skipped
visszateszi őket a sorba.