WordPress Yükleme Limiti Nasıl Artırılır (Her Hosting)
Mevcut WordPress yükleme limitinizi kontrol edin, sonra hostinginize uygun yerde artırın: php.ini, .user.ini, .htaccess, cPanel, Nginx veya Cloudflare.
WordPress’te yükleme limitini artırmak için iki PHP ayarını, upload_max_filesize ve post_max_size değerlerini, hostinginizin gerçekten okuduğu yapılandırma dosyasında yükseltin. Bu dosya kontrol ettiğiniz bir sunucuda php.ini, PHP-FPM veya FastCGI çalıştıran çoğu paylaşımlı hostingte .user.ini, yalnızca Apache PHP’yi modül olarak çalıştırdığında .htaccess ya da cPanel’de MultiPHP INI Editor’dür. Sunucunuz Nginx çalıştırıyorsa client_max_body_size değerini de artırın. wp-config.php dosyasını düzenlemek yükleme limitini değiştirmez.
WordPress maksimum yükleme boyutu aracı, tek bir hedef boyutu php.ini (veya .user.ini), .htaccess ve wp-config.php için uyumlu değerlere çevirir; böylece elle yazmak yerine yapıştırabilirsiniz.
Adım 1: Mevcut yükleme limitinizi kontrol edin
Bir şeyi değiştirmeden önce limitin şu an ne olduğunu ve onu hangi ayarın belirlediğini öğrenin.
- Ortam > Yeni Ekle. Yükleme ekranı en büyük yükleme dosyası boyutunu gösterir. Artırmaya çalıştığınız sayı budur.
- Araçlar > Site Sağlığı > Bilgi. Ortam işleme bölümünü genişletin. Site Sağlığı belgeleri orada gösterilenleri listeler: izin verilen post verisinin en büyük boyutu, yüklenen dosyanın en büyük boyutu ve bu ikisinden küçük olan geçerli en büyük dosya boyutu. Sunucu bölümü daha fazla PHP değeri gösterir.


WordPress limitini wp_max_upload_size() içinde hesaplar; bu fonksiyon PHP’den upload_max_filesize ve post_max_size değerlerini okur ve küçük olanı kullanır. Biri 64M, diğeri 8M ise limitiniz 8M’dir.
Adım 2: Hangi ayarların önemli olduğunu bilin
| Ayar | Neyi sınırlar | PHP varsayılanı | Nerede değiştirilebilir |
|---|---|---|---|
upload_max_filesize | Yüklenen en büyük tek dosya | 2M | php.ini, .user.ini, .htaccess, httpd.conf |
post_max_size | Dosya dahil POST isteğinin tamamı | 8M | php.ini, .user.ini, .htaccess, httpd.conf |
memory_limit | PHP’nin çalışırken kullanabileceği bellek | 128M | Her yerde, wp-config.php dahil |
max_execution_time | Bir betiğin çalışabileceği saniye | 30 | Her yerde, wp-config.php dahil |
client_max_body_size (Nginx) | Nginx’in kabul edeceği istek gövdesi | 1m | Yalnızca Nginx yapılandırması |
PHP varsayılanları ve değiştirme modları php.ini yönergeleri listesinden, Nginx varsayılanı ise Nginx çekirdek modül belgelerinden gelir. Çoğu hosting PHP varsayılanlarından daha yüksek değerler ayarlar; gerçek sayılarınızı okumanız gereken yerin Site Sağlığı olmasının nedeni budur.
upload_max_filesize ve post_max_size, PHP’nin INI_PERDIR dediği ayarlardır: “php.ini, .htaccess, httpd.conf veya .user.ini içinde ayarlanabilirler” ve başka hiçbir yerde ayarlanamazlar. memory_limit dosya boyutunu sınırlamaz, ama WordPress büyük görsellerin yeniden boyutlandırılmış kopyalarını oluşturmak için belleğe ihtiyaç duyar; bu yüzden büyük bir yükleme ulaştıktan sonra yine de bellek tükendi hatasıyla başarısız olabilir.
Adım 3: Limiti hostinginize uygun yerde artırın
| Kurulumunuz | Nerede ayarlanır | Notlar |
|---|---|---|
| VPS veya özel sunucu | PHP’nizin gerçekten yüklediği php.ini | Ardından PHP-FPM veya Apache’yi yeniden başlatın |
| PHP-FPM veya FastCGI kullanan paylaşımlı hosting | WordPress kök dizinindeki .user.ini | Uygulanması 5 dakikaya kadar sürebilir |
| PHP’yi modül olarak çalıştıran Apache (mod_php) | php_value ile .htaccess | PHP-FPM veya FastCGI altında 500 hatasına yol açar |
| cPanel hosting | Software > MultiPHP INI Editor | php.ini, .user.ini veya .htaccess dosyasını sizin için yazar |
| PHP’nin önünde Nginx | PHP değerlerine ek olarak client_max_body_size | Aksi halde Nginx 413 döndürür |
| Yönetilen WordPress hostingi | Hostingin paneli veya destek ekibi | Birçok hosting yüklemeleri platform düzeyinde sınırlar |
| Cloudflare arkasındaki site | Cloudflare’in kendi yükleme limiti | Free ve Pro planlarda 100 MB |
php.ini (kontrol ettiğiniz sunucu)
Önce yüklenen dosyayı bulun. İçinde <?php phpinfo(); olan geçici bir dosya oluşturun, tarayıcıda açın, “Loaded Configuration File” satırını okuyun, sonra dosyayı silin. O php.ini dosyasını düzenleyin:
upload_max_filesize = 128M
post_max_size = 130M
max_execution_time = 300
Ardından değişikliği okuması için PHP’yi yeniden başlatın. PHP-FPM ile servis adı sürümü içerir; örneğin Debian veya Ubuntu’da sudo systemctl restart php8.3-fpm. mod_php ile Apache’yi yeniden başlatın.
.user.ini (çoğu paylaşımlı hosting)
PHP, .user.ini dosyalarını yalnızca CGI veya FastCGI olarak çalıştığında okur; buna PHP-FPM de dahildir. wp-config.php dosyasının bulunduğu klasörde .user.ini oluşturun veya düzenleyin:
upload_max_filesize = 128M
post_max_size = 130M
PHP bu dosyaları her user_ini.cache_ttl saniyede bir yeniden okur; varsayılan 300’dür. İşe yaramadığına karar vermeden önce beş dakika bekleyin ya da yapabiliyorsanız PHP-FPM’i yeniden başlatın.
.htaccess (yalnızca mod_php kullanan Apache)
php_value upload_max_filesize 128M
php_value post_max_size 130M
PHP kılavuzu bu yönergeleri Apache modülü olarak çalışan PHP için açıklar. Bunu kaydettikten hemen sonra siteniz 500 Internal Server Error gösteriyorsa PHP, FastCGI veya PHP-FPM olarak çalışıyordur. Satırları kaldırın ve yerine .user.ini kullanın.
cPanel MultiPHP INI Editor
cPanel’de Software > MultiPHP INI Editor’ü açın, alan adınızı seçin ve değerleri Basic Mode’da değiştirin. cPanel belgelerine göre Basic Mode, ayarı destekleyen her biri için php.ini, .user.ini ve .htaccess dosyalarına kaydeder; böylece sunucunuzun hangisini kullandığını bilmeniz gerekmez.
Nginx
Nginx istek boyutunu PHP görmeden önce kontrol eder. Bir istek client_max_body_size değerinden büyükse Nginx 413 Request Entity Too Large döndürür. Varsayılan 1m’dir. server bloğunuza en az post_max_size kadar büyük bir değer ekleyin:
client_max_body_size 130M;
sudo nginx -t && sudo systemctl reload nginx ile test edip yeniden yükleyin. Apache’de karşılaştırılabilir ayar LimitRequestBody’dir ve standart WordPress hostinginde nadiren değiştirilmesi gerekir.
Yönetilen hostingler ve Cloudflare
Bazı yönetilen WordPress hostingleri php.ini veya .user.ini dosyanızı yok sayar ve limiti tüm platform için belirler. Değişikliğinizden sonra Site Sağlığı hâlâ eski sayıyı gösteriyorsa hostinginize en yüksek değerin ne olduğunu ve artırıp artıramayacaklarını sorun.
Site Cloudflare üzerinden çalışıyorsa Cloudflare’in kendi limiti vardır. Önbellek belgeleri en büyük yükleme boyutlarını Free ve Pro planlarda 100 MB, Business’ta 200 MB ve Enterprise’da 5 GB’a kadar olarak listeler. Hiçbir PHP ayarı bunu aşamaz.
wp-config.php neden işe yaramaz
Birçok makale wp-config.php dosyasına şunu eklemeyi önerir:
@ini_set( 'upload_max_filesize', '128M' );
@ini_set( 'post_max_size', '130M' );
Her iki ayar da INI_PERDIR’dir ve PHP belgeleri bu moddaki ayarların ini_set() ile ayarlanamayacağını söyler. @ başarısızlığı gizler; bu yüzden satırlar zararsız görünür ve hiçbir şeyi değiştirmez. wp-config.php dosyasının değiştirebildiği şey bellektir, çünkü memory_limit her yerde ayarlanabilir:
define( 'WP_MEMORY_LIMIT', '256M' );
Bu, büyük görseller işleme sırasında başarısız olduğunda yardımcı olur. En büyük yükleme dosyası boyutunu değiştirmez.
Adım 4: Değişikliği doğrulayın
Ortam > Yeni Ekle’yi yeniden yükleyin ve en büyük yükleme dosyası boyutunun yeni değerinizi gösterdiğini kontrol edin. Göstermiyorsa:
post_max_sizedeğerinin en azupload_max_filesizekadar büyük olduğunu kontrol edin. WordPress küçük olanı kullanır.- PHP’nin gerçekten yüklediği dosyayı düzenlediğinizi doğrulayın. Yanlış klasördeki bir
php.iniyok sayılır. - Bir
.user.inideğişikliği için beş dakika bekleyin ya da PHP-FPM’i yeniden başlatın. - WordPress’teki sayı değiştiyse ama yüklemeler hâlâ 413 ile başarısız oluyorsa engel Nginx’te, hostinginizin proxy’sinde veya Cloudflare’dedir.
- Yükleme WordPress’e ulaşıp ardından “HTTP error” ile başarısız oluyorsa sorun artık boyut değildir. WordPress’te görsel yüklerken HTTP hatası rehberimiz olağan nedenleri ele alıyor.
Ne kadar yükseğe ayarlamalısınız?
Gerçekten yüklemeniz gereken en büyük dosyaya biraz pay ekleyerek ayarlayın ve post_max_size değerini upload_max_filesize değerinin biraz üzerinde tutun. Büyük yüklemeler daha uzun da sürer; bu yüzden yavaş bağlantılarda büyük dosyalar zaman aşımına uğruyorsa max_execution_time değerini artırın. Uzun videolar veya yedek arşivleri gibi çok büyük dosyalar için SFTP ya da parçalı yükleme yapan bir eklentiyle yüklemek, tek ve devasa bir tarayıcı yüklemesinden genellikle daha güvenilirdir; ayrıca bir Cloudflare plan limiti tarayıcı yolunu zaten dışarıda bırakabilir.
Hedefinizi bildiğinizde maksimum yükleme boyutu aracı uyumlu PHP satırlarını sizin için yazar. Sunucunuz Nginx çalıştırıyorsa bu rehberdeki Nginx satırını kendiniz ekleyin.
FAQ
Sorular
WordPress'te mevcut yükleme limitimi nasıl kontrol ederim?
Ortam > Yeni Ekle'ye gidin. Yükleme ekranı en büyük yükleme dosyası boyutunu gösterir. Arkasındaki ayrıntı için Araçlar > Site Sağlığı > Bilgi'yi açın ve Ortam işleme bölümünü genişletin; burada yüklenen dosyanın en büyük boyutu, post verisinin en büyük boyutu ve bu ikisinden küçük olan geçerli en büyük dosya boyutu listelenir.
WordPress neden yüklenen dosyanın php.ini içindeki upload_max_filesize yönergesini aştığını söylüyor?
Dosya, PHP'nin upload_max_filesize ayarından büyüktür. Bu limiti WordPress belirlemez, PHP'den okur. upload_max_filesize ve post_max_size değerlerini birlikte php.ini, .user.ini veya mod_php kullanan Apache'de .htaccess içinde artırın. PHP'nin upload_max_filesize için kendi varsayılanı yalnızca 2M'dir, ancak çoğu hosting daha yüksek bir değer ayarlar.
Yükleme limitini wp-config.php üzerinden artırabilir miyim?
Hayır. upload_max_filesize ve post_max_size, PHP'nin yalnızca php.ini, .htaccess, httpd.conf veya .user.ini üzerinden kabul ettiği PHP_INI_PERDIR ayarlarıdır. wp-config.php içindeki bir ini_set() satırı hata vermeden çalışır ve hiçbir şeyi değiştirmez. wp-config.php WordPress'in bellek limitini artırabilir, ama dosya boyutunu sınırlayan şey bellek değildir.
PHP limitlerini artırdıktan sonra neden hâlâ 413 Request Entity Too Large hatası alıyorum?
PHP'nin önündeki bir şey isteği reddediyor. Nginx'te bu client_max_body_size'dır; varsayılanı 1m'dir ve aşıldığında 413 hatası döndürür. Değeri server bloğunda artırın ve Nginx'i yeniden yükleyin. Siteniz Cloudflare üzerinden çalışıyorsa, planınızın yükleme boyutu limiti de isteği sunucunuza ulaşmadan durdurabilir.
post_max_size, upload_max_filesize'dan büyük olmalı mı?
En az onun kadar büyük olmalı, biraz daha büyük olması daha güvenlidir. Dosya, diğer form verileriyle birlikte bir POST isteği içinde gönderilir; bu yüzden isteğin tamamı post_max_size'a sayılır. WordPress yükleme limiti olarak iki değerden küçük olanı kullanır, bu yüzden yalnızca upload_max_filesize'ı artırmak limiti olduğu yerde bırakır.