Nenaudojamų paveikslėlių valymas
Užsakyti1. Įdiegimas ir licencijos aktyvavimas
Įdiekite ir aktyvuokite įskiepį per WordPress įskiepių valdymą. Papildomų įskiepių nereikia – WooCommerce ir WPML palaikomi, bet neprivalomi.
Administravimo meniu atsiras skiltis Medijos valymas.
Eikite į Medijos valymas > Licencija, įveskite gautą licencijos raktą ir spauskite „Aktyvuoti licenciją“. Tai būtina norint gauti atnaujinimus.
Prieš pirmą masinį trynimą būtinai pasidarykite pilną svetainės ir duomenų bazės atsarginę kopiją.
2. Rekomenduojama eiga pirmą kartą
Nustatymuose įsitikinkite, kad įjungta šiukšliadėžė (numatytai įjungta).
Paleiskite skenavimą.
Peržiūrėkite grupę „Nenaudojami“ ir keliems failams paspauskite „Gilus patikrinimas“, kad įsitikintumėte rezultatų teisingumu.
Pradėkite nuo nedidelės porcijos (20–50 failų) ir patikrinkite svetainę.
Tada trinkite likusius.
3. Skenavimas
Medijos valymas > 1. Skenavimas > „Pradėti skenavimą“
Skenavimas vyksta etapais: medijos biblioteka, įrašai, papildomi laukai, nustatymai, kategorijos, vartotojų laukai, komentarai, WPML vertimai, viešų puslapių HTML,
uploadskatalogo failai ir galutinė analizė.Kiekviena AJAX užklausa dirba tik kelias sekundes (numatyta 15 s), todėl serverio resursai neišnaudojami. Progreso juosta rodo etapą ir apdorotų eilučių kiekį.
Skenavimą galima nutraukti, o uždarius naršyklę ir grįžus – jis tęsiamas nuo tos vietos, kur buvo sustota.
Didelėse parduotuvėse pirmas skenavimas gali užtrukti nuo kelių minučių iki kelių dešimčių minučių.
4. Rezultatai
Medijos valymas > 2. Rezultatai – rezultatai suskirstyti į skirtukus:
Nenaudojami – yra medijos bibliotekoje, nepriskirti jokiam įrašui ir niekur nerasti. Saugu trinti.
Galimai naudojami – rasta netiesioginė nuoroda (pvz., skaitinė reikšmė neaiškiame lauke) arba failas įkeltas visai neseniai. Trinti tik patikrinus.
Failai be įrašo bibliotekoje – failas guli serveryje, bet medijos bibliotekoje jo nėra ir niekur nenaudojamas.
Likusios miniatiūros – dydžių variantai (
foto-300x200.jpg), kurių WordPress nebežino.Įrašai be failo – bibliotekoje yra įrašas, bet failo serveryje nėra; trinamas tik tuščias įrašas.
Naudojami ir Apsaugoti – netrinami.
Stulpelyje „Kur rasta“ matote konkrečias vietas su nuorodomis į įrašo redagavimą arba į puslapį.
5. Gilus patikrinimas
Kiekvienos eilutės mygtukas „Gilus patikrinimas“ (arba „Gilus patikrinimas pažymėtiems“) atlieka tiesioginę paiešką duomenų bazėje:
pagal failo pavadinimą be plėtinio – todėl randa ir visas miniatiūras (
foto-300x200.jpg,foto-scaled.jpg);pagal
wp-image-IDir"id":ID;lentelėse
posts,postmeta,options,termmeta,usermeta,comments.
Radus nuorodą, statusas iškart pakeičiamas į „naudojamas“ ir failo trinti nebeleidžiama.
6. Trynimas
„Ištrinti pažymėtus“ – trinami tik pažymėti varnele.
„Ištrinti visus šiame sąraše“ – trinami visi filtrą atitinkantys failai, net jei jų tūkstančiai.
Trynimas vyksta porcijomis (numatyta 20 failų vienu kartu) su progreso juosta. Kartu su paveikslėliu ištrinamos visos jo miniatiūros,
-scaledversija, originalas ir redagavimo atsarginės kopijos.
7. Darbas fone
Mygtukai „Skenuoti fone“ ir „Trinti fone“ paleidžia darbą serveryje – naršyklę galima uždaryti, kompiuterį išjungti.
Pagrindinis variklis – neblokuojanti užklausa: kiekvienas ciklas (numatyta 20 s) baigdamas pasikviečia kitą. WP-Cron veikia kaip apsauga, o kiekvienas administravimo puslapio atidarymas patikrina, ar darbas nesustojo.
Vienu metu vykdomas tik vienas darbas – naudojamas užraktas duomenų bazės lygmenyje.
Jei svetainėje nustatyta
DISABLE_WP_CRON, rekomenduojama serveryje turėti sisteminį cron, kviečiantįwp-cron.phpkas 5 min.
8. Šiukšliadėžė
Medijos valymas > 3. Šiukšliadėžė
Kiekvienas ištrintas paveikslėlis su visomis miniatiūromis pirma perkeliamas į
wp-content/uploads/cump-quarantine/, o medijos bibliotekos įrašas išsaugomas atkūrimui.Matote peržiūrą (failas atiduodamas tik teises turinčiam vartotojui), kodėl failas buvo ištrintas, jo dydį, trynimo datą ir kada bus pašalintas visam laikui.
Veiksmai: Atkurti (grąžina ir failus, ir medijos įrašą su tuo pačiu ID), Trinti visam laikui, masinis atkūrimas ir Ištuštinti šiukšliadėžę.
Praėjus nustatytam dienų skaičiui (numatyta 30) šiukšliadėžė išsivalo automatiškai.
9. Žurnalas
Medijos valymas > 4. Žurnalas – visa trynimų istorija, atlaisvinta vieta ir CSV eksportas. Senesni nei nustatyta įrašai (numatyta 90 d.) šalinami automatiškai; 0 išjungia valymą. Įrašai, kurių failai dar guli šiukšliadėžėje, nešalinami niekada.
10. Automatinis valymas trinant įrašą ar prekę
Numatytai išjungta. Įjungus, galutinai ištrynus prekę ar įrašą ištrinami ir jo paveikslėliai (perkėlus į šiukšlinę niekas netrinama).
Apimtis pasirenkama: tik per tą įrašą įkelti failai; papildomai pagrindinė nuotrauka ir WooCommerce prekės galerija (rekomenduojama); arba viskas, kas rasta turinyje ir laukuose.
Prieš trinant kiekvienas paveikslėlis patikrinamas, ar jo nenaudoja kitas įrašas, laukas ar nustatymas.
Galima apriboti konkrečiais įrašų tipais, pvz.
product, product_variation.
11. Tvarkaraštis
Pasirinkite Kasdien / Kas savaitę / Kas mėnesį ir valandą (rekomenduojama naktis). Skenavimas vykdomas fone tomis pačiomis porcijomis.
Atskirai įjungiamas automatinis trynimas – nurodykite, kurias grupes trinti. Failai keliauja į šiukšliadėžę, todėl juos dar galima atkurti.
Rekomenduojama kartu įjungti ataskaitą el. paštu: joje nurodoma, kiek ko rasta, kiek pašalinta ir kiek vietos atlaisvinta.
12. „Niekada netrinti“ sąrašas
Nustatymuose galima nurodyti failus, kurių jokia programa nerastų (adresas įklijuotas į el. laiškų šabloną ar išorinę svetainę). Palaikomi formatai:
123– medijos įrašo ID;logotipas.png– tikslus failo pavadinimas;logo-*.png– pavadinimo šablonas;2019/brand/*– visas katalogas su pakatalogiais.
Greičiausias būdas papildyti – mygtukas „Apsaugoti“ rezultatų lentelėje. Svetainės logotipas, favicon, WooCommerce vietaženklis ir antraštės paveikslėlis apsaugoti automatiškai.
13. Statusas medijos bibliotekoje
Medija > Biblioteka (sąrašo rodinys) atsiranda stulpelis „Panaudojimas“ ir filtras, leidžiantis parodyti, pavyzdžiui, tik nenaudojamus failus. Duomenys imami iš paskutinio skenavimo. Stulpelį galima išjungti nustatymuose.
14. WP-CLI
Labai didelėms svetainėms patogiau dirbti komandine eilute:
wp media-cleaner scanwp media-cleaner statuswp media-cleaner list --status=unused --limit=50wp media-cleaner delete --status=unused --dry-runwp media-cleaner delete --status=orphan_thumbwp media-cleaner restore 42
15. Kaip veikia atpažinimas
Kiekvienam paveikslėliui registruojami trys nuorodų tipai: pagal ID (wp-image-123, [gallery ids="1,2,3"], Gutenberg blokų "id":123, _thumbnail_id, prekės galerija), pagal normalizuotą pavadinimą (foto-300x200.jpg ir foto-scaled.jpg suvedami į foto.jpg) ir pagal tikslų pavadinimą (kad senos miniatiūros būtų atpažintos kaip nereikalingos).
Sprendimai priimami saugia kryptimi: kilus bent menkiausiai abejonei failas žymimas kaip naudojamas arba „galimai naudojamas“, o ne siūlomas trinti.
Žinomi apribojimai
Jei du skirtingų katalogų failai turi tą patį pavadinimą, vieno panaudojimas apsaugo abu – sąmoningas pasirinkimas saugumo naudai.
Jei paveikslėlis įterpiamas tik JavaScript kodu iš išorinio šaltinio, jo aptikti neįmanoma.
Viešų puslapių tikrinimas neveiks, jei svetainė uždaryta slaptažodžiu (HTTP auth) arba „coming soon“ režimu.
Sauga ir duomenys
Trinami tik failai, esantys
uploadskataloge (tikrinama perrealpath), o prieš trinant kiekvieno failo statusas patikrinamas iš naujo.Šiukšlinėje esančiam įrašui priskirti paveikslėliai netrinami – įrašą dar galima atkurti.
Karantino katalogas apsaugotas
.htaccess, o peržiūros paveikslėlį atiduoda tik teises turintis vartotojas.Visi veiksmai reikalauja
manage_optionsteisės ir nonce patikros.Įskiepis naudoja tik nuosavas duomenų bazės lenteles ir nieko nerašo į
wp_options. Įjungus atitinkamą nustatymą, pašalinus įskiepį visos lentelės ištrinamos. Tinklo (multisite) atveju apeinamos visos tinklo svetainės.