WordPress Uploads Qovluğunuz Niyə Bu Qədər Böyükdür
WordPress uploads qovluğunuz böyükdür, çünki WordPress heç vaxt şəkil başına yalnız bir fayl saxlamır. Hər yükləmə orijinalın yanında sabit sayda ölçüləndirilmiş surət yaradır.
Nəşr olundu
WordPress uploads qovluğunuz böyükdür, çünki WordPress heç vaxt şəkil başına yalnız bir fayl saxlamır. Hər yükləmə orijinalın yanında sabit sayda ölçüləndirilmiş surət yaradır — hər hansı bir tema və ya plagin əlavə etməmişdən əvvəl, tipik kamera ölçüsündə bir foto üçün yeddi ədəd. Heç nə zədələnməyib; siz sadəcə hər tək yükləmədə baş verən çoxalmanı görürsünüz. Həlli budur: heç vaxt təqdim etmədiyiniz ölçüləri yaratmağı dayandırın, sonra köhnə surətlərin diskdən silinməsi üçün yenidən yaradın.
Hesablamanı aparın
Bir 4000×3000 JPEG yükləyin və /wp-content/uploads/2026/07/ qovluğunun içinə baxın. Bir fayl tapmayacaqsınız. Bunları tapacaqsınız:
photo.jpg— orijinal, toxunulmamışphoto-scaled.jpg— WordPress-in orijinalın əvəzinə təqdim etdiyi 2560px surətphoto-150x150.jpg—thumbnailphoto-300x225.jpg—mediumphoto-768x576.jpg—medium_largephoto-1024x768.jpg—largephoto-1536x1152.jpg— 2×medium_largephoto-2048x1536.jpg— 2×large
Bu, təkcə nüvədən (core) orijinal üstəgəl yeddi törəmə deməkdir. 3 MB-lıq bir yükləmə, hər hansı bir plagin işə düşməmişdən əvvəl diskdə 5–6 MB tuta bilər. İndi öz dörd ölçüsünü qeydə alan bir tema və WooCommerce (daha üç ölçü) əlavə edin — və bir yükləmə on dörd və ya on beş fayla çevrilir. Bunu bir neçə min şəkillik kitabxanaya vurun, qovluğun ölçüsü artıq sirr olmaqdan çıxır.
Öz ölçüləriniz və qeydə alınmış ölçülər üçün dəqiq rəqəmi istəyirsinizsə, şəkil saxlama kalkulyatoru çoxalmanı sizin əvəzinizə hesablayır.
Niyə baş verir
Yüklədiyiniz zaman wp_generate_attachment_metadata() funksiyası wp_create_image_subsizes() funksiyasını çağırır, o da get_intermediate_image_sizes() tərəfindən qaytarılan hər ölçü üzərində dövr edir və orijinalın yaratmaq üçün kifayət qədər böyük olduğu hər biri üçün bir fayl yazır. Nüvə thumbnail, medium, medium_large, large, üstəgəl WP 5.3-də əlavə olunan 1536x1536 və 2048x2048 retina ölçülərini qeydə alır. add_image_size() çağıran istənilən tema və ya plagin həmin dövrə əlavə edir — daimi olaraq, gələcəkdəki hər yükləmə üçün.
-scaled faylı ayrı bir mexanizmdən gəlir: standart olaraq 2560px olan big_image_size_threshold filtri. Bundan enli olan hər şey təqdim edilən “tam” (full) şəkilə çevrilən ölçüləndirilmiş surət alır, orijinal isə diskdə qalır. Beləliklə, böyük bir yükləmə həm nəhəng orijinalı, həm də 2560px versiyasını saxlayır.
Verilmiş bir şəkil üçün sisteminizin dəqiq nə yaratdığını şəkil ölçüləri inspektoru ilə görə bilərsiniz.
Necə düzəltmək, ardıcıllıqla
1. Heç nəyə toxunmadan əvvəl ölçün. Təxmin etmək vaxt itkisidir. Saytın kök qovluğundan:
du -sh wp-content/uploads
find wp-content/uploads -type f \( -name '*.jpg' -o -name '*.webp' -o -name '*.png' \) | wc -l
du -ah wp-content/uploads | sort -rh | head -20
2. Təqdim etmədiyiniz ölçülərin qeydini ləğv edin. Əksər temalar heç vaxt 1536 və 2048 ölçülərini çıxarmır, çoxları isə heç vaxt medium_large istifadə etmir. Onları çıxarın:
// functions.php — bu saytın heç vaxt çıxarmadığı ölçüləri yaratmağı dayandır
add_action( 'init', function () {
remove_image_size( '1536x1536' );
remove_image_size( '2048x2048' );
} );
// Temanız 768px ölçüsündən istifadə etmirsə, medium_large-i də çıxar
add_filter( 'intermediate_image_sizes_advanced', function ( $sizes ) {
unset( $sizes['medium_large'] );
return $sizes;
} );
3. Köhnə surətləri silmək üçün yenidən yaradın. Qeydi ləğv etmək yalnız gələcək yaratmanı dayandırır — diskdə artıq mövcud olan fayllar siz yenidən yaratana qədər qalır:
wp media regenerate --yes
Son WP-CLI versiyaları iş gedişində artıq qeydə alınmamış ölçülərin fayllarını silir. Bunun əvəzinə Regenerate Thumbnails plaginindəsinizsə, onun “delete unregistered sizes” seçimini işarələyin — bu qutu işarələnmədən köhnə fayllar qalır.
4. Sahibsiz (orphaned) faylları axtarın. Temaları dəyişmək heç vaxt köhnə temanın qeydə aldığı ölçüləri təmizləmir. Yazıları silmək də onların törəmələrini həmişə silmir. 3-cü addımdan sonra du -sh hələ də kalkulyatorun proqnozundan xeyli yuxarıdırsa, sahibsiz fayllarınız var — heç bir əlavənin (attachment) istinad etmədiyi, diskdəki fayllar.
Nə etməmək lazımdır
“Yer qazanmaq” üçün scaled şəkilləri söndürməyin. -scaled faylı orijinalınızdan daha kiçikdir. big_image_size_threshold filtrini söndürmək heç nə silmir — sadəcə WordPress-in hər ziyarətçiyə tam, çox meqabaytlıq orijinalı təqdim etməsinə səbəb olur. Bu, saxlama təmizliyi deyil, bant genişliyi və keyfiyyət qərarıdır və adətən səhifə çəkisini daha da pisləşdirir. disable-scaled-images aləti bunun həqiqətən nə vaxt düzgün seçim olduğunu izah edir; uploads qovluğunuzu kiçiltmək onlardan biri deyil.
Faylları SFTP vasitəsilə birbaşa uploads qovluğundan silməyin. Hər əlavənin alt-ölçü siyahısı onun _wp_attachment_metadata sahəsində yaşayır. Faylları əllə silmək qırıq istinadlar buraxır və törəndiyi orijinalı silmisinizsə, yenidən yaratma bir ölçünü bərpa edə bilməz. Orijinalı silin — və həmin şəkil birdəfəlik yox olar.
Qovluğun kiçiləcəyini gözləyərək Settings → Media bölməsində thumbnail/medium/large-i 0-a qoymayın. Ölçünü sıfırlamaq gələcək yaratmanı dayandırır, lakin diskdə artıq mövcud olan heç nəyə toxunmur, üstəlik interfeys medium_large, 1536, 2048 və ya hər hansı tema/plagin ölçüsünə çata bilmir — onlar orada yoxdur.
Verilənlər bazasını günahlandırmayın. Ağır uploads qovluğu şəkil fayllarıdır, demək olar ki, heç vaxt verilənlər bazası deyil. Cədvəlləri optimallaşdırmaq rəqəmi dəyişməyəcək.
Hələ də ilişib qalmısınız?
Yenidən yaratdıqdan sonra qovluq hələ də gözləniləndən böyükdürsə, real şəkil ölçülərinizi və qeydə alınmış ölçülərinizi saxlama kalkulyatorundan keçirin və onun rəqəmini du -sh wp-content/uploads ilə müqayisə edin. Böyük fərq köhnə temadan və ya silinmiş yazılardan qalan sahibsiz faylları göstərir — nüvə deyil, daha çox yenidən yaratmağın düzəldəcəyi bir şey də deyil. Kiçik fərq isə hesabın sadəcə olduğu kimi olması deməkdir: yükləmə başına yeddidən çox fayl, dəqiq nəzərdə tutulduğu kimi işləyir.