WordPress Dosya Yükleme Boyutu Sınırı Nasıl Artırılır?
Tema, eklenti veya görsel yüklerken boyut sınırına takılıyorsan: mevcut sınırı görme, artırma yöntemleri ve hiç uğraşmadan yüklemenin yolu.
Bir tema yüklemeye çalışıyorsun, "Yüklenen dosya boyutu sınırı aşıyor" diyor. Ya da hiçbir açıklama olmadan "Takip ettiğiniz bağlantının süresi doldu" hatası çıkıyor. İkisinin de sebebi aynı: sunucunun izin verdiği yükleme boyutu, dosyandan küçük.
Bu yazıda mevcut sınırı nasıl göreceğini, nasıl artıracağını ve hiç uğraşmadan yükleme yapmanın yolunu bulacaksın.
Mevcut sınırını nasıl görürsün?
WordPress panelinde Ortam → Yeni Ekle sayfasını aç. Yükleme kutusunun altında şuna benzer bir satır yazıyor:
"Azami yükleme dosya boyutu: 8 MB"
Daha ayrıntılı bilgi için Araçlar → Site Sağlığı → Bilgi → Sunucu bölümüne bak. Orada üç değer var ve üçü de önemli:
| Ayar | Ne yapar |
|---|---|
upload_max_filesize | Tek bir dosyanın azami boyutu |
post_max_size | Tek seferde gönderilebilecek toplam veri boyutu |
memory_limit | PHP'nin kullanabileceği bellek |
Kritik kural: Bu üç değer şu sırayla büyümeli:
upload_max_filesize ≤ post_max_size ≤ memory_limit
Sadece upload_max_filesize'ı 64M yapıp post_max_size'ı 8M bırakırsan hiçbir şey değişmez — WordPress ikisinin küçüğünü kullanıyor. En sık yapılan hata bu.
Bu ayarlar tam olarak ne işe yarıyor?
Rehberlerde hep aynı beş satır veriliyor ama ne yaptıkları anlatılmıyor. Tek tek açıklayalım — hangisini neden değiştirdiğini bilirsen, işe yaramadığında nereye bakacağını da bilirsin.
upload_max_filesize
Ne yapar: Tek bir dosyanın azami boyutunu belirler. 64M ise 64 MB'lık bir dosya yüklenir, 65 MB'lık yüklenmez.
- Varsayılan: Genellikle 2M
- Makul aralık: 32M – 256M
- Nereden değiştirilir: php.ini, .user.ini veya .htaccess. Koddan değiştirilemez —
wp-config.php'ye yazmanın faydası yok.
post_max_size
Ne yapar: Tarayıcıdan sunucuya tek seferde gönderilebilecek toplam veri boyutu. Sadece dosya değil; form alanları, başlıklar, her şey bu toplama dahil.
- Varsayılan: Genellikle 8M
- Olması gereken:
upload_max_filesize'dan büyük. Genelde iki katı iyi bir ölçü. - 0 yazarsan sınır tamamen kalkar — önerilmez, sunucuyu korumasız bırakır.
Neden ikisi birden gerekiyor? WordPress efektif sınır olarak ikisinin küçüğünü kullanıyor. upload_max_filesize 64M ama post_max_size 8M ise, gerçek sınırın 8M'dir. "Değiştirdim ama olmadı" şikayetlerinin çoğu bundan.
memory_limit
Ne yapar: Bir PHP betiğinin kullanabileceği azami bellek. Yükleme sırasında dosya bellekte işlendiği için bu değer düşükse yükleme yarıda kesilir.
- Varsayılan: Genellikle 128M
- Makul aralık: 256M – 512M
- -1 yazarsan sınırsız olur — paylaşımlı hostingde kullanma, tek hatalı eklenti sunucuyu tüketebilir.
- Bu değer diğerlerinden farklı olarak koddan da değiştirilebiliyor;
wp-config.phpyöntemi bu yüzden sadece bunu etkiliyor.
Sıralama şöyle olmalı: upload_max_filesize ≤ post_max_size ≤ memory_limit
max_execution_time
Ne yapar: Bir betiğin çalışabileceği azami süre (saniye). Süre dolduğunda işlem kesilir ve "maximum execution time exceeded" hatası çıkar.
- Varsayılan: 30 saniye
- Makul aralık: 120 – 300
- 0 yazarsan sınırsız olur — yükleme için gerekli değil, riskli.
Büyük dosya yavaş bağlantıdan yükleniyorsa 30 saniye yetmiyor. Bu yüzden boyut ayarlarıyla birlikte artırılıyor.
max_input_time
Ne yapar: Sunucunun gelen veriyi almak için bekleyeceği süre. max_execution_time işlemeyi, bu ise karşıdan alma aşamasını kapsıyor.
- Varsayılan: 60 saniye
- -1 ise
max_execution_timedeğeri kullanılır. - Makul aralık: 120 – 300
Yavaş internetten büyük dosya yüklerken asıl takılınan yer burasıdır — yükleme çubuğu ilerlerken aniden kesilirse bu değere bak.
max_file_uploads
Bu listede olmayan ama sık sorun çıkaran bir ayar.
Ne yapar: Tek seferde yüklenebilecek azami dosya sayısı.
- Varsayılan: 20
- 50 görsel seçip sadece 20'si yüklendiyse sebebi budur.
- Sadece sunucu seviyesinde değiştirilebiliyor; hosting desteğinden istemen gerekiyor.
php_value, php.ini, .user.ini — hangisi ne zaman?
Aynı ayarı üç farklı yere yazabiliyorsun ama hepsi her sunucuda çalışmıyor. Sebebi PHP'nin sunucuda nasıl çalıştığı.
.htaccess içindeki php_value ne demek?
php_value upload_max_filesize 64M satırındaki php_value, Apache'ye "bu PHP ayarını şu değere çek" demek.
Ama bu sadece PHP, Apache'nin bir modülü olarak çalışıyorsa geçerli. Modern hostinglerin çoğunda PHP ayrı bir süreç olarak (PHP-FPM) çalışıyor ve Apache'nin böyle bir yetkisi olmuyor. O durumda Apache bu satırı tanımıyor ve 500 Internal Server Error veriyor.
Yani .htaccess yöntemi çalışırsa çalışıyor, çalışmazsa siteyi kapatıyor. Arada bir durum yok.
LiteSpeed sunucular Apache'yi taklit ettiği için genelde kabul ediyor. Nginx ise .htaccess dosyasını hiç okumuyor — yazdıkların hiçbir şey yapmıyor, hata da vermiyor.
php.ini neden daha güvenli?
php.ini doğrudan PHP'nin kendi yapılandırma dosyası. Web sunucusunun (Apache, Nginx, LiteSpeed) ne olduğundan bağımsız çalışıyor ve yanlış yazılsa bile siteyi 500 hatasına düşürmüyor — en kötü ihtimalle ayar etkisiz kalıyor.
Bu yüzden önce php.ini, olmazsa .htaccess denenmeli. Çoğu rehber tersini söylüyor.
Peki .user.ini ne?
PHP-FPM ve CGI kurulumlarında, klasör bazlı ayar için kullanılan dosya. Kurulumun tipine göre ikisinden biri çalışıyor:
| PHP çalışma şekli | Çalışan yöntem |
|---|---|
| Apache modülü (mod_php) | .htaccess (php_value) · php.ini |
| PHP-FPM / FastCGI | .user.ini |
| CGI | php.ini |
| LiteSpeed | .htaccess · .user.ini |
Hangisi olduğunu bilmiyorsan ikisini de oluştur, zararı yok.
Önemli bir ayrıntı: .user.ini dosyasındaki değişiklikler anında etkili olmuyor — PHP bu dosyayı varsayılan olarak 5 dakika önbellekte tutuyor. "Değiştirdim, olmadı" demeden önce beş dakika bekle ve sayfayı yenile.
Hangi ayar nereden değiştirilebilir?
| Ayar | php.ini / .user.ini | .htaccess | Koddan (ini_set) |
|---|---|---|---|
| upload_max_filesize | ✓ | ✓ | ✗ |
| post_max_size | ✓ | ✓ | ✗ |
| memory_limit | ✓ | ✓ | ✓ |
| max_execution_time | ✓ | ✓ | ✓ |
| max_input_time | ✓ | ✓ | ✗ |
| max_file_uploads | Sunucu seviyesi | ✗ | ✗ |
Bu tablo şunu açıklıyor: bir eklenti "yükleme sınırını artır" diyorsa ve bunu koddan yapmaya çalışıyorsa, işe yaramaz — upload_max_filesize koddan değiştirilemiyor.
Sunucular neden sınır koyuyor?
Kötü niyetten değil, kaynak yönetiminden. Büyük dosya yüklemeleri sunucu belleğini ve işlemciyi zorluyor; paylaşımlı hostingde bir kullanıcının yüklediği devasa dosya diğerlerini etkileyebiliyor.
Bu yüzden paylaşımlı hostinglerde sınır genellikle 8-64 MB arasında tutuluyor. Sorun, satın aldığın temanın 80 MB olması.
Yöntem 1: Hosting panelinden artır (en kolay)
Çoğu hosting firması bunu panelden ayarlanabilir yapıyor. En temiz yol bu — dosya düzenlemeye gerek kalmıyor.
cPanel
- cPanel'e gir.
- MultiPHP INI Editor ya da Select PHP Version → Options bölümünü aç.
- Alan adını seç.
upload_max_filesizevepost_max_sizedeğerlerini yükselt (örneğin 64M ve 128M).memory_limitdeğerini de kontrol et (256M makul).- Kaydet.
Plesk
- Plesk'e gir, alan adını seç.
- PHP Ayarları bölümünü aç.
- Aynı üç değeri güncelle, uygula.
DirectAdmin
- PHP Ayarları ya da Select PHP Version bölümünü aç.
- Değerleri düzenle ve kaydet.
Değişiklikten sonra WordPress panelinde Ortam → Yeni Ekle sayfasını yenileyip yeni sınırı gör. Değişmediyse aşağıdaki yöntemleri dene.
Yöntem 2: php.ini dosyası
Panelde PHP ayarı bulunmuyorsa bu yolu dene.
Sitenin kök dizininde (public_html) php.ini adında bir dosya var mı bak. Yoksa oluştur ve içine şunu yaz:
upload_max_filesize = 64M
post_max_size = 128M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
Son iki satır da önemli: büyük dosya yüklemesi uzun sürdüğü için süre sınırına takılabiliyorsun.
Not: Bazı sunucularda dosyanın adı .user.ini olmalı. Biri çalışmazsa diğerini dene. Ayrıca bu dosyaların etkili olması birkaç dakika sürebiliyor.
Yöntem 3: .htaccess dosyası
Apache sunucularda çalışan bir yöntem. Kök dizindeki .htaccess dosyasını aç (gizli dosya olduğu için dosya yöneticisinde "gizli dosyaları göster" ayarını açman gerekiyor) ve en sonuna ekle:
php_value upload_max_filesize 64M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
Dikkat: Bu yöntem her sunucuda çalışmıyor. Sunucun Nginx ise .htaccess hiç okunmuyor. Bazı yapılandırmalarda ise bu satırlar 500 hatası veriyor — site açılmaz hale gelirse eklediğin satırları sil, site hemen düzelir.
Dosyayı düzenlemeden önce bir kopyasını al. 500 hatası çözümü.
Yöntem 4: wp-config.php (sadece bellek için)
wp-config.php dosyasına eklenen ayar sadece belleği artırıyor, yükleme boyutunu değiştirmiyor. Yine de bazı durumlarda gerekli:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Satırları /* That's all, stop editing! */ yorumunun üstüne ekle.
Hiçbiri işe yaramadıysa
Paylaşımlı hostinglerde bu değerler sunucu seviyesinde kilitli olabiliyor. O zaman ne yaparsan yap PHP dosyaları etkisiz kalıyor.
Hosting desteğine yaz. Şöyle bir mesaj yeterli:
"Merhaba, WordPress sitemde
upload_max_filesizedeğerini 64M,post_max_sizedeğerini 128M yapmak istiyorum. Panelden değiştirdim ama etkili olmadı. Sunucu tarafından ayarlayabilir misiniz?"
Çoğu firma bunu birkaç dakikada yapıyor.
Sınıra hiç takılmadan yükleme: FTP yöntemi
Aslında en pratik çözüm bu. Yükleme sınırı sadece tarayıcı üzerinden yapılan yüklemeler için geçerli. Dosyayı doğrudan sunucuya atarsan sınır devreye girmiyor.
Tema veya eklenti için
- Hosting dosya yöneticisi ya da FTP ile
public_html/wp-content/themes/klasörüne gir (eklenti içinplugins). - Zip dosyasını buraya yükle.
- Sağ tıkla → Çıkart (Extract).
- Zip dosyasını sil.
- WordPress panelinde Görünüm → Temalar sayfasına git; tema listede görünecek.
Adımların ayrıntısı ve karşılaşabileceğin hatalar: WordPress tema nasıl yüklenir.
Görseller için
Çok sayıda görseli FTP ile wp-content/uploads klasörüne yükleyebilirsin, ancak WordPress bunları medya kütüphanesinde otomatik göstermez. Bir "medya kütüphanesine ekle" eklentisi bu dosyaları tarayıp kütüphaneye kaydediyor.
Aynı sebepten çıkan diğer hatalar
"Takip ettiğiniz bağlantının süresi doldu"
Adı yanıltıcı; bağlantıyla ilgisi yok. Gönderdiğin veri post_max_size değerini aştığında WordPress güvenlik doğrulamasını yapamıyor ve bu genel mesajı gösteriyor. Tema yüklerken en sık karşılaşılan hata bu.
"Bunu yapmak istediğinize emin misiniz?"
Aynı sebep. Yine boyut sınırını gösteriyor.
Medya yüklerken "HTTP hatası"
Sebebi her zaman boyut değil. Diğer ihtimaller: bellek limiti, dosya adında Türkçe karakter ya da boşluk, güvenlik eklentisi engeli.
Sırayla dene: dosya adını sadeleştir (gunes-fotografi.jpg), belleği artır, güvenlik eklentisini geçici kapat.
Yedek geri yüklerken takılma
Yedekleme eklentileri büyük arşiv dosyalarıyla çalışıyor ve aynı sınıra takılıyor. Bu durumda yedeği FTP ile yükleyip eklentiye "sunucudaki dosyayı kullan" seçeneğiyle tanıtmak gerekiyor. Yedek alma rehberi.
Ne kadar artırmalı?
| Kullanım | Önerilen |
|---|---|
| Sadece görsel yükleme | 32M |
| Tema ve eklenti kurulumu | 64M |
| Video yükleme, büyük yedek geri yükleme | 128M – 256M |
Gereğinden fazla artırmanın faydası yok. Yüksek sınır, hatalı bir eklentinin sunucuyu zorlamasına da izin veriyor. 64M çoğu site için yeterli.
Not: Büyük görselleri olduğu gibi yüklemek doğru çözüm değil. 6 MB'lık bir fotoğrafı yüklemek yerine önce boyutunu küçültmek hem sunucu hem sayfa hızı açısından çok daha iyi. Görsel optimizasyonu için hızlandırma rehberimize bakabilirsin.
Sık sorulan sorular
WordPress yükleme sınırı nasıl öğrenilir?
Ortam → Yeni Ekle sayfasında "Azami yükleme dosya boyutu" satırında yazıyor. Ayrıntılı değerler için Araçlar → Site Sağlığı → Bilgi → Sunucu bölümüne bakabilirsin.
upload_max_filesize'ı artırdım ama değişmedi?
post_max_size değeri daha düşük kalmış olabilir — WordPress ikisinin küçüğünü kullanıyor. Ayrıca paylaşımlı hostinglerde bu değerler sunucu seviyesinde kilitli olabiliyor; o durumda hosting desteğinden istemen gerekiyor.
"Takip ettiğiniz bağlantının süresi doldu" hatası ne demek?
Yüklediğin dosya sunucunun izin verdiği boyutu aşıyor demek. Bağlantıyla ilgisi yok.
.htaccess'e satır ekledim, site 500 hatası verdi?
Sunucun bu yöntemi desteklemiyor. Eklediğin satırları sil, site hemen düzelir. Panelden ya da php.ini ile dene.
Yükleme sınırını çok yüksek yapmanın zararı var mı?
Gereksiz yüksek değerler sunucu kaynaklarını zorlayabiliyor. 64M çoğu site için yeterli; video yükleyeceksen 128M-256M makul.
Sınırı hiç değiştirmeden büyük tema yükleyebilir miyim?
Evet. Zip dosyasını FTP ya da hosting dosya yöneticisiyle doğrudan wp-content/themes klasörüne yükleyip çıkartman yeterli. Sınır sadece tarayıcı üzerinden yapılan yüklemeler için geçerli.
Sonuç
Yükleme sınırı sorununun üç çözümü var ve sırası şu: önce hosting panelinden dene, olmazsa php.ini oluştur, o da olmazsa hosting desteğine yaz.
Ama acelen varsa hiçbirini yapmana gerek yok: dosyayı FTP ile doğrudan sunucuya atmak sınırı tamamen atlıyor.
Karşılaştığın başka bir WordPress hatası varsa hatalar ve çözümleri rehberimize bakabilirsin.