1. Anasayfa
  2. Blog
  3. WordPress Kılavuzları

WordPress Resim Yükleme Hatası (Image Upload Error) Çözümü

WordPress Resim Yükleme Hatası (Image Upload Error) Çözümü

WordPress sitenize görsel eklemeye çalışırken muhtemelen en az bir kez “HTTP Hatası”, “Resim yüklenemedi” veya “Dosya Yüklenemedi” gibi uyarılarla karşılaşmışsınızdır. Sorunun kaynağını bulduktan sonra çözüm genellikle oldukça kolaydır. Bu rehberde WordPress resim yükleme hatasının tüm olası nedenlerini ve çözümlerini adım adım ele alacağız.

WordPress’te resim yükleme hataları genellikle dosya izinlerinin yanlış ayarlanmış olmasından kaynaklanır. Yanlış dosya izinleri, WordPress’in dosyaları okumasını veya yüklemesini engeller. Ayrıca sunucu kaynak sınırları, yanlış dosya formatı, tarayıcı önbelleği, eski WordPress sürümü, bozuk medya kütüphanesi, sunucu tarafındaki geçici teknik aksaklıklar ve eklenti-tema çakısmaları da bu sorunla karşılaşmanızın olası nedenlerindendir. Resim yükleme hatası genellikle aşağıdaki gibi hata uyarıları verir:

  • HTTP error (HTTP Hatası)
  • “Unable to create wp-content / uploads / 2016/02 directory. Can the parent directory be written by the server?”
  • “The uploaded file could not be moved to wp-content/uploads/2020/04.”
  • “Unable to create directory” and “uploaded file could not be moved”
  • ..exceeds the maximum upload size for this site.

1. Resim Yükleme Hatası: Temel Kontroller ve Hızlı Çözümler

Karmaşık çözümlere geçmeden önce, bazı basit kontroller yaparak sorunu çözebilirsiniz. Deneyimlerime göre, WordPress resim yükleme hatalarının yaklaşık %40’ı bu basit adımlarla çözülüyor. İşte önce denemeniz gereken şeyler:

  • Tarayıcınızı Yenileyin ve Tekrar Deneyin– Bazen sunucu geçici olarak yanıt vermeyebilir. Sayfayı yenileyin (F5 veya Ctrl+R), birkaç dakika bekleyin ve tekrar deneyin. Eğer hata kalıcı değilse, bu yöntem işe yarayabilir.
  • Farklı Bir Tarayıcı Kullanın– Tarayıcı önbelleği veya eklentileri sorun yaratıyor olabilir. Chrome kullanıyorsanız Firefox’u, Safari kullanıyorsanız Edge’i deneyin. Bu kontrol, sorunun tarayıcı kaynaklı olup olmadığını belirlemenize yardımcı olur.
  • Resim Formatını Kontrol Edin– Tek bir görüntü için yükleme sorunu yaşıyorsanız, bunun çözümü sizi zorlamayacaktır. Yapmanız gereken ise, görseli ortam dosyanıza yüklemeden önce yeniden adlandırmaktır. Dosyanızın uzantısının .jpg, .jpeg, .png veya desteklenen bir formatta olduğundan emin olun. HEIC, TIFF veya RAW formatları bazen sorun yaratabilir. Gerekirse resmi JPG formatına dönüştürün. Resim dosyasını adlandırırken geçersiz karakterler kullanmadığınızdan emin olun.
  • Görüntüyü Yüklemeden Önce Optimize Edin- Olması gerekenden daha büyük resimler yüklemeniz hatalarla karşılaşmanıza neden olabilir. Yapılması gereken ise içerik genişliğinden daha geniş bir resmi yüklemekten kaçınmaktır. İçerik genişliğini belirlemek için sitenizdeki herhangi bir blog gönderisini açın ve sağ tıklayıp açılan pencereden İncele’yi seçin. Sağ taraftan “content” sınıfının üzerine geldiğinizde içerik alanı vurgulanır. Vurgulanan bu kısımda içerik genişliğini görebileceğiniz bir kutucuk bulunur. Burada belirtilen genişliğin üzerinde görsel yüklememeye dikkat edin. Ayrıca görselleri sitenize yüklemeden önce Tinyjpg gibi bir araçla sıkıştırmayı ihmal etmeyin!
wordpress resim yukleme hatasi cozumu 1

2. PHP Sürümünü Değiştirme

WordPress resim yükleme sorununu PHP’nin en son sürümüne yükselterek veya önceki bir sürümüne düşürerek çözme yolunu deneyebilirsiniz. Bu işlemi yapmak için cPanel’e giriş yapın ve Select PHP Versiyon bölümüne tıklayın. Buradan PHP sürümünü yükseltebilir ya da önceki sürüme geçebilirsiniz (bkz: WordPress PHP Sürümünü Öğrenme ve Güncelleme)

wordpress resim yukleme hatasi cozumu .php surumu degistirme

3. PHP Bellek Limitini Artırma

WordPress resim yükleme hatalarının en yaygın nedenlerinden biri, PHP bellek limitinin yetersiz olmasıdır. PHP, WordPress’in çalıştığı programlama dilidir ve sunucunuz her işlem için belirli miktarda bellek ayırır. Büyük resimler yüklerken bu limit aşılabilir ve “Allowed memory size exhausted” gibi hatalar alabilirsiniz.

Şu anda ne kadar bellek limitiniz olduğunu öğrenmek için WordPress kontrol panelinizde Araçlar → Site Sağlığı → Bilgi bölümüne gidin ve “Sunucu” kısmına bakın. Eğer PHP bellek limiti 64MB veya daha azsa, bunu artırmanız gerekiyor. İdeal olarak 128MB veya 256MB olmalıdır. (bkz: WordPress Yetersiz Bellek Hatası Çözümü)

  • Bellek limitini arttırmak için FTP veya hosting kontrol panelinizle sitenizin kök dizinine gidin.
  • wp-config.php dosyasını bulun ve düzenlemek için açın.
  • “That’s all, stop editing!” yazısının hemen üstüne şu satırı ekleyin: define('WP_MEMORY_LIMIT', '256M');
  • Dosyayı kaydedin ve sitenize geri dönüp dosyayı tekrar yüklemeyi deneyin.

4. Dosya Yükleme ve Yürütme Süresi Limitlerini Artırma

PHP bellek limitinin yanı sıra, iki önemli sınır daha vardır: maksimum dosya yükleme boyutu ve maksimum yürütme süresi. Büyük resimler yüklerken veya sunucu yavaş çalışırken bu limitler de aşılabilir. Örneğin, sunucunuz maksimum 2MB dosya yüklemesine izin veriyorsa, 5MB’lık bir fotoğraf yükleyemezsiniz.

  • Apache sunucular kullanıyorsanız (çoğu paylaşımlı hosting bu tiptedir), .htaccess dosyasını düzenleyerek bu limitleri artırabilirsiniz. Aşağıdaki kodları .htaccess dosyanızın en üstüne ekleyin:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
  • Bazı hosting sağlayıcıları php.ini dosyasına erişim sağlar. Bu dosya daha kalıcı bir çözümdür. Eğer wp-content klasöründe veya kök dizinde php.ini dosyanız varsa, şu satırları ekleyin veya mevcut değerleri güncelleyin:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M
  • Değişiklikleri kaydettikten sonra sitenizi test edin. Eğer hâlâ sorun yaşıyorsanız, hosting sağlayıcınızla iletişime geçmeniz gerekebilir. Bazı sunucularda bu ayarlar ancak sunucu düzeyinde değiştirilebilir.

5. Dosya İzinlerini Düzeltme

Linux tabanlı sunucularda (çoğu web hosting böyledir), her dosya ve klasörün belirli izinleri vardır. WordPress’in resim yükleyebilmesi için wp-content/uploads klasörüne “yazma” yetkisi olmalıdır. Yanlış izinler, “Unable to create directory” veya “Permission denied” gibi hatalara yol açar. Herhangi bir sebeple (yeni bir eklenti-tema yükledikten sonra, site taşıdıktan ya da sunucu düzeyinde bir güncellemeden sonra) dosya izinleri değişmiş olabilir. Doğru dosya izinleri ile WordPress resim yükleme hatası büyük ihtimalle çözüme kavuşacaktır.

  • Öncelikle web sitenize FTP ile bağlanın (örneğin FileZilla).
  • Ardından sitenizin genellikle public_html olarak adlandırılan kök dizinini açın.
  • /wp-content/klasöre gidin ve buradan da tüm medya yüklemelerinizin bulunduğu uploads klasörünü bulun.
  • Uploads klasörüne sağ tıklayıp Dosya İzinleri (File permissions)’ni seçin.
  • Buradan izinleri 744 (sorun çözülmezse 755) olarak ayarlayın ve aşağıdaki görselde gördüğünüz bölümleri işaretleyip Ok butonuna tıklayın.
wordpress resim yukleme hatasi cozumu 3
  • Bir sonraki adımda, tekrar Uploads klasörüne sağ tıklayıp Dosya İzinleri‘ni seçin ve bu kez sayısal değeri 644 olarak ayarlayıp aşağıdaki görselde olduğu gibi gerekli alanları işaretleyin ve Ok butonuna tıklayın.
wordpress resim yukleme hatasi cozumu 3 1

İşlem tamamlandığında, WordPress yönetim paneline gidip resim, media ya da diğer adıyla ortam yükleme hatasının çözülüp çözülmediğini kontrol edebilirsiniz.

6. Eklenti ve Tema Çakışmalarını Tespit Etme

Bazen WordPress resim yükleme hatasının nedeni, eklentiler veya temanız arasındaki çakışmalardır. Özellikle güvenlik eklentileri, resim optimizasyon araçları veya önbellek eklentileri yükleme işlemini etkileyebilir. Bu tür sorunlar genellikle yeni bir eklenti yükledikten veya güncelledikten sonra ortaya çıkar.

  • Tüm Eklentileri Devre Dışı Bırakın– WordPress kontrol panelinde Eklentiler → Yüklü Eklentiler sayfasına gidin. Sayfanın üst kısmındaki “Eklenti” yazan onay kutusunu işaretleyin (tüm eklentileri seçer). Toplu İşlemler menüsünden “Devre Dışı Bırak” seçin ve Uygula’ya tıklayın.
  • Resim Yüklemeyi Test Edin– Artık tüm eklentiler devre dışı olduğuna göre, medya kütüphanesine gidin ve bir resim yüklemeyi deneyin. Eğer yükleme başarılı olursa, sorunun bir eklentiden kaynaklandığını anlamış olursunuz.
  • Eklentileri Tek Tek Aktif Edin– Şimdi eklentileri birer birer aktif ederek hangisinin soruna neden olduğunu bulun. Her eklentiyi aktif ettikten sonra resim yüklemeyi test edin. Sorun tekrar ortaya çıktığında, hangi eklentinin suçlu olduğunu bilirsiniz.
  • Temayı Değiştirin– Eğer eklentiler sorunsuzsa, temanız suçlu olabilir. Görünüm → Temalar bölümüne gidin ve varsayılan bir WordPress teması aktif edin. Resim yüklemeyi test edin.

Sorunu yaratan eklenti veya temayı bulduktan sonra, şu seçenekleriniz var: Güncelleme olup olmadığını kontrol edin, geliştiriciye sorun bildirin, alternatif bir eklenti veya tema arayın, ya da eklenti/tema ayarlarını gözden geçirin. Örneğin, bir güvenlik eklentisi dosya yükleme kurallarını çok katı ayarlamış olabilir.

7. WordPress Medya Kütüphanesini Onarma

Bazen WordPress’in medya kütüphanesi veritabanı bozulabilir. Bu, resim yükleme sırasında hatalara, yüklenen resimlerin görünmemesine veya medya kütüphanesinin açılmamasına yol açabilir. Neyse ki, WordPress’in yerleşik onarım araçları ve bazı eklentiler bu sorunu çözebilir.

  • Veritabanını Optimize Etme– WordPress veritabanınız zamanla şişer ve parçalanır. Bunu optimize etmek için WP-Optimize veya Advanced Database Cleaner gibi eklentileri kullanabilirsiniz. Bu araçlar gereksiz verileri temizler ve veritabanı tablolarını optimize eder.
    • Alternatif olarak, phpMyAdmin üzerinden de veritabanınızı optimize edebilirsiniz. Hosting kontrol panelinizden phpMyAdmin’e giriş yapın, WordPress veritabanınızı seçin, tüm tabloları işaretleyin ve “Tabloları optimize et” seçeneğini kullanın.
  • Medya Dosyalarını Yeniden Oluşturma– Regenerate Thumbnails eklentisi, tüm resim küçük resimlerini yeniden oluşturur. Bazen küçük resim boyutları bozulabilir ve bu da yükleme sorunlarına yol açabilir. Eklentiyi yükledikten sonra Araçlar → Regenerate Thumbnails bölümüne gidin ve “Regenerate All Thumbnails” butonuna tıklayın. Bu işlem, medya kütüphanenizin boyutuna bağlı olarak biraz zaman alabilir.

8. Görüntü Kitaplığını Değiştirme

  • Wordpress HTTP hatası alıyorsanız, görüntü düzenleyici kitaplığını değiştirmek bu sorunu çözebilir. Aşağıdaki kodu temanızın functions.php dosyasına ekleyin:
function change_image_editor_to_gd($editors) {
$gd_editor = 'WP_Image_Editor_GD';
$editors = array_diff($editors, array($gd_editor));
array_unshift($editors, $gd_editor);
return $editors;
}
add_filter('wp_image_editors', 'change_image_editor_to_gd');
  • Bu kod ile HTTP hatası düzelmediyse kodu silin ve bu kez aşağıdaki kodu .htaccess dosyanıza ekleyip dosyayı kaydedin.

SetEnv MAGICK_THREAD_LIMIT 1

9. Mod_Security Kaldırma

  • WordPress resim yüklerken HTTP hatası veya diğer hataları görüyorsanız, aşağıdaki kodu .htaccess dosyanıza ekleyerek mod security özelliğini devre dışı bırakmayı deneyebilirsiniz.
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off 
</IfModule>
  • Kodu ekledikten sonra tarayıcı önbelleğini temizleyin ve tekrar resim yüklemeye çalışın. Sorun çözülmeze kodu silin ve diğer yöntemlere geçin.

10. Sunucu ve Hosting Sorunlarını Çözme

Tüm yukarıdaki yöntemleri denediyseniz ve sorun hâlâ devam ediyorsa, büyük ihtimalle sunucu tarafında bir problem var demektir. Bu durumda hosting sağlayıcınızla iletişime geçmeniz gerekebilir. Ama önce bazı şeyleri kendiniz kontrol edebilirsiniz:

  • Disk Alanınızı Kontrol Edin– Hosting paketinizin disk kotası dolmuş olabilir. Kontrol panelinizden (cPanel, Plesk vb.) disk kullanımınıza bakın. Eğer %95’in üzerindeyse, eski dosyaları temizleyin veya paketinizi yükseltin.
  • Sunucu Günlüklerini İnceleyin– cPanel’de “Error Log” veya “Hata Günlükleri” bölümüne bakın. Resim yükleme sırasında oluşan PHP hataları burada görünür. “Permission denied” veya “Failed to open stream” gibi mesajlar görüyorsanız, bu ipuçları sorunu çözmenize yardımcı olur.
  • CDN veya Güvenlik Duvarı Ayarlarını Gözden Geçirin– Cloudflare gibi bir CDN veya güvenlik duvarı kullanıyorsanız, bu hizmetler POST isteklerini engelleyebilir. Cloudflare kontrol panelinde “Security” bölümüne gidin ve WordPress yönetici paneli için güvenlik seviyesini düşürün veya IP adresinizi beyaz listeye ekleyin.
  • Mod_Security Kurallarını Kontrol Edin– Bazı sunucularda Mod_Security aktiftir ve agresif kurallar resim yüklemesini engelleyebilir. Hosting sağlayıcınızdan Mod_Security’yi geçici olarak devre dışı bırakmalarını veya WordPress için kuralları gevşetmelerini isteyin.

Eğer yukarıdaki hiçbir çözüm işe yaramazsa, hosting desteğinizle iletişime geçin ve durumu açıklayın. Denediğiniz çözümleri de belirtin ki tekrar aynı şeyleri önermelerine gerek kalmasın. İyi bir hosting desteği, sunucu loglarına bakarak sorunu çözebilir.

Editör Notu: İçeriğimiz okuyucu desteğiyle finanse edilmektedir. Bu, bağlantılarımızdan bazılarına tıkladığınızda komisyon kazanabileceğimiz anlamına gelir.

Burada sadece teorik bilgiler değil, gerçek deneyimlere dayanan pratik çözümler var. Burada yol arkadaşı olacağız. Karmaşık konuları birlikte çözecek, teknik detayları birlikte aşacağız...

Yazarın Profili