Když je instalace WordPress starší než les a její obsah je aktualizován s určitou pravidelností, jako je tomu v případě tohoto, který právě čtete, hromadění obrázků se může stát velkým problémem, nikdy lépe řečeno.
Dlouhodobé hromadění obrázků má z dlouhodobého hlediska následky.
Inody nebo inody
Tyto neznámé. Inode je jakýkoli soubor nebo složka na serveru. Patří sem obrázky, e-maily, protokoly, skripty, styly atd. Všechno se počítá jako 1, bez ohledu na to, co.
Naprostá většina hostitelů, přestože inzerují "neomezený prostor", má vždy omezený počet inodů. I když existují i velmi štědré, LucusHostje například omezuje na více než dostatečné množství jeden milionale u ostatních hostitelů je tato částka může klesnout značně.
Možná jednoho dne budete muset migrovat a nemůžete, pokud se nezbavíte obrovského množství těchto inodů, byl jsem z tohoto důvodu vykopnut z hostingu.
Plýtvání zdroji
Umisťování hor nepoužívaných obrázků plýtvá místem na disku, které by mohlo být využito pro něco potřebného, a také přispívá k tomu, že není tak lehký, jak by měl být.
Je také velmi pravděpodobné, že pokud jste je léta zanedbávali, mnohé z nich nejsou optimalizované nebo se z jakéhokoli důvodu (například změna šablony nebo zbytky zásuvných modulů) rozbily a přidaly další věčné požadavky a větší spotřebu prostředků.
Důležité je mít plán
A před plánem, nedávné zálohování celého blogu, včetně databáze. To dělejte vždy.
Cílem je snížit počet snímků na dva. Původní nahraný obrázek (dostatečně velký a v šabloně, která umožňuje jeho zobrazení kdekoli) a miniaturu.
Kromě toho, že musíme mít plán, musíme vědět, jak určit, které snímky se používají a kterých se můžeme bez problémů zbavit. K tomu je nezbytné vědět, co je vytváří.
První a nejdůležitější věcí je projít všechny používané velikosti a zjistit, kde se která generuje. V mnoha případech se vytvářejí ze šablony z kódu, který je obvykle v souboru functions.php a obvykle vypadá více či méně takto (záleží na každé šabloně a nemusí tam vůbec být nebo nemusí vůbec existovat, jako v případě GeneratePress).
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 223, 137, true );
add_image_size( 'schema-featured', 680, 350, true ); // Featured.
add_image_size( 'schema-featured2', 1360, 700, true ); // Featured x 2.
add_image_size( 'schema-related', 211, 150, true ); // Related.
add_image_size( 'schema-related2', 422, 300, true ); // Related x 2.
add_image_size( 'schema-widgetthumb', 70, 60, true ); // Widget.
add_image_size( 'schema-widgetthumb2', 140, 120, true ); // Widget x 2.
add_image_size( 'schema-widgetfull', 300, 200, true ); // Sidebar full width.
add_image_size( 'schema-slider', 772, 350, false ); // Slider.
add_image_size( 'schema-slider2', 1544, 700, false ); // Slider x 2.
Tento příklad je z souboru functions.php šablony Schéma šablona, kterou jsem použil dříve ten, který používám nyní.
Zde to bylo snadné, stačilo změnit true na false (nebo řádek odstranit), aby se při nahrávání nové velikosti nevytvářela. Také vám řekla, k čemu se používá. Před "omezením" velikosti se ujistěte, že nebudete používat funkci, pro kterou je generována.
To se týká pouze nově nahraných obrázků, nikoli již nahraných. O tom, jak se jich zbavit, si povíme později.
Všimněte si, že některé vaše pluginy a widgety mohou vytvářet kopie i v jiných velikostech pro konkrétní použití. Musíte se podívat do dokumentace ke každému z nich a sledovat cestu obrázků, abyste zjistili jejich zdroj a cíl.
Než se pustím do dalšího vysvětlování, předpokládám, že už víte, odkud jednotlivé obrázky pocházejí, a že víte, že se bez toho, který jste se rozhodli odstranit, obejdete
Miniatury, které vytváří WordPress
To je obvykle ta nejhubenější část. Stále se jim říká miniatury, ale jde o to, že se vytvářejí i jiné, mnohem tlustší velikosti.
Od verze 5.3 generuje WordPress sedm dalších obrázků pro každý obrázek, který nahrajete prostřednictvím knihovny médií a/nebo vizuálního editoru. Takže při každém nahrání obrázku jich osm přibude.
Pokud přidáte další možné šablony, pluginy a widgety, může jich být až 12 nebo více.
Ty vytváří WordPress:
Miniatura (150x150px)
Střední velikost (300x300px)
Velká velikost (1024x1024px)
Středně velký 768px
2x Středně velký 1536px
2x velký 2048px
Zmenšený 2560px
Z prvních tří můžeme vynechat 300px a 1024px a zmenšit miniaturu ze 150x150px na 100x100px. Chcete-li to provést, přejděte do Nastavení/Média, změňte velikosti a u těch, které nechcete generovat, nastavte hodnotu 0 (nula).
V mém případě se nyní v knihovně médií zobrazí miniatura 100x100. Snížením počtu a velikosti jsme již ušetřili několik set, možná tisíc obrázků a kus Kb nebo Mb.
Pro ostatní čtyři můžeme "odregistrovat" vytvoření každého z nich zvlášť přidáním těchto fragmentů do souboru functions.php naší šablony nebo prostřednictvím pluginu Zásuvný modul Code Snippets.
Deaktivovat 768px na šířku, proporcionální
function shapeSpace_disable_medium_large_images($sizes) {
unset($sizes['medium_large']); // disable 768px size images
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_medium_large_images');
Deaktivovat 1536px na šířku, proporcionální
function shapeSpace_disable_2x_medium_large_images($sizes) {
unset($sizes['1536x1536']); // disable 2x medium-large size
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_medium_large_images');
Deaktivovat šířku 2048px, proporcionální
function shapeSpace_disable_2x_large_images($sizes) {
unset($sizes['2048x2048']); // disable 2x large size
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_large_images');
Zakázat zmenšený obrázek (2560px)
add_filter('big_image_size_threshold', '__return_false');
Pokud dáváte přednost použití jediného kódu pro všechny vygenerované velikosti, které chcete zakázat, včetně těch dalších možných velikostí, můžete tento kód vytáhnout a odstranit řádky pro ty, které chcete zachovat nebo ovládat z nastavení médií WordPressu jako v případě prvních tří.
Zakázat všechny velikosti
// Deshabilitar los tamaños de imagen generados function shapeSpace_disable_image_sizes($sizes) { unset($sizes['thumbnail']); // disable thumbnail size unset($sizes['medium']); // disable medium size unset($sizes['large']); // disable large size unset($sizes['medium_large']); // disable medium-large size unset($sizes['1536x1536']); // disable 2x medium-large size unset($sizes['2048x2048']); // disable 2x large size return $sizes; } add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes'); // Deshabilitar el tamaño de la imagen escalada add_filter('big_image_size_threshold', '__return_false'); // Deshabilitar otros tamaños de imagen function shapeSpace_disable_other_image_sizes() { remove_image_size('post-thumbnail'); // Deshabilita imágenes agregadas con set_post_thumbnail_size () remove_image_size('another-size'); // Deshabilita cualquier otro tamaño de imagen agregado } add_action('init', 'shapeSpace_disable_other_image_sizes');
Zdroj: blog Jeffa Starra. Jak zakázat WordPress automaticky generované obrázky - Kompletní průvodce. Doporučuji zkopírovat kód z tohoto příspěvku, vřele doporučuji, pro případ, že by zde bylo něco vloženo špatně.
Jeff Starr je také tvůrcem několika různých zásuvných modulů a jeden z nich dělá totéž (Nezkoušel jsem to) v případě, že patříte k těm, kteří si raději nekomplikují život.
Načtěme zbylé obrázky
Dobře, předpokládá se, že jsme již zakázali vytváření všech těch dodatečných velikostí, které nepotřebujeme, aby byly vytvořeny při nahrávání obrázku.
Nyní nahrajeme zkušební obrázek a ověříme, že se tyto dodatečné velikosti nevytvářejí. V mém případě to vypadá takto:
jak ale odstranit všechny nahrané obrázky, které nyní zůstaly nevyužité?
Existují přinejmenším dvě nepříliš složité možnosti.
Ručně. Trochu zdlouhavější a časově náročnější. Můžete je vyhledat ve správci souborů v panelu Cpanel nebo v klientovi FTP podle jedinečných řetězců názvů souborů, například 300x300, 768x, 1536x atd., a odstranit je.
Pokud máte hodně obrázků, můžete použít zásuvný modul Regenerovat miniatury plugin, který stále dobře plní svou funkci.
Tento zásuvný modul, klasický od Alexe Millse, regeneruje náhledy nahraných obrázků. Můžete to udělat postupně z knihovny médií nebo najednou, pokud jich není příliš mnoho.
Po instalaci a aktivaci se po otevření v nabídce "Nástroje/Přegenerovat náhledy" zobrazí toto:
Tam uvidíte seznam téměř všech velikostí, které WordPress používá, ale protože jsme již "odregistrovali" vytvoření většiny z nich, je vhodné otestovat s jedním testovacím obrázkem tak, že zaškrtnete také možnost"Odstranit soubory miniatur starých velikostí bez registrace..."
Pokud vše proběhlo v pořádku při testu jednoho obrázku, můžete nyní hromadně přegenerovat miniatury všech příloh XXXX (první tlačítko). Tím se odstraní všechny nadbytečné velikosti najednou.
Nedávno jsem to udělal a vzpomínám si, že hromadná regenerace selhala, asi proto, že tam bylo tolik obrázků (více než 20 000) a proces byl v některých bodech přerušen, takže jsem se rozhodl to udělat v blocích po 200 obrázcích z knihovny médií.
Po dokončení úkolu můžete zásuvný modul odinstalovat.
Dobrým nápadem, když už jste si jisti, že jste získali dostatek místa, je využít toho k tomu vytvořit optimalizované kopie obrázků .jpg ve formátu .webp formát zdarma s pluginem Vyrovnávací paměť Litespeed pokud váš hosting běží pod Litespeed.