WordPress Bellek Limiti Nasıl Artırılır? Tam Rehber

WordPress yöneticisinin en sık karşılaştığı performans uyarılarından biri “Allowed memory size of X bytes exhausted” veya kısa biçimiyle WordPress bellek limiti hatasıdır. Bu uyarıyla karşılaşan site sahipleri çoğu zaman aynı tablo ile yüzleşir: Beyaz ekran, yarım yüklenen yönetim paneli, eklenti güncelleme ekranında donma, medya yüklemesinde başarısız sonuçlar veya WooCommerce sepetinin boş gelmesi. Bu rehberde, WordPress bellek limitinin ne olduğunu, neden tükendiğini, hangi yöntemlerle güvenli biçimde artırılacağını ve uzun vadede tekrarını engelleyecek yönetim disiplinini anlatıyoruz.
Kısa Özet: 60 Saniyede Bellek Limiti Çözümü
Sitenizde “Allowed memory size exhausted” hatası alıyorsanız, hızlı çözüm wp-config.php dosyasının üst kısmına aşağıdaki iki satırı eklemektir:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );Eğer bu satırlar tek başına etki etmiyorsa, hosting tarafında PHP memory_limit değerinin de yetersiz olduğunu gösterir. Hosting paneli (cPanel, Plesk, DirectAdmin), php.ini veya .htaccess üzerinden PHP bellek değerini en az 256M, ideal olarak 512M’ye yükseltmeniz gerekir. Bu değişikliklerin tümünün adımları ve doğrulama yöntemleri makalenin ilerleyen bölümlerinde detaylandırılmıştır.
WordPress Bellek Limiti Nedir?
WordPress, PHP üzerinde çalışan bir uygulamadır. PHP, her bir HTTP isteği için sunucuda ayrı bir süreç (process) açar ve bu sürecin kullanabileceği RAM miktarı memory_limit direktifi ile sınırlandırılır. WordPress, bu PHP bellek limitinden bağımsız olarak kendi içinde de bir üst sınır tanır: WP_MEMORY_LIMIT ve admin tarafı için WP_MAX_MEMORY_LIMIT. WordPress çalışırken, kullanılan RAM bu sabitlerin altında olmaya çalışır; ancak PHP’nin memory_limit değeri WordPress sabitinden düşükse, WordPress sabitinin hiçbir önemi kalmaz çünkü süreç PHP limitine takılır ve fatal hata fırlatır.
Pratik olarak: WordPress bellek limitini artırmak istiyorsanız hem PHP memory_limit hem de WP_MEMORY_LIMIT değerlerini birlikte yükseltmeniz gerekir. Aksi halde “yükselttim ama hata devam ediyor” durumuyla karşılaşırsınız.
Varsayılan Değerler
WordPress çekirdeği, WP_MEMORY_LIMIT tanımlanmamışsa varsayılan olarak 40 MB kullanır. Yönetim paneli (wp-admin) için WP_MAX_MEMORY_LIMIT varsayılanı 256 MB‘tır. Çoğu modern hosting sağlayıcısı PHP memory_limit değerini 128M veya 256M olarak gönderir; ancak özellikle düşük maliyetli paylaşımlı paketlerde 64M veya 96M ile karşılaşabilirsiniz. WooCommerce, Elementor, LearnDash, BuddyBoss gibi büyük eklentilerin kabul edilebilir minimumu 256M, sağlıklı çalışma için önerilen değer 512M’dir.
Bellek Limiti Hatasını Nasıl Anlarsınız?
Bellek limiti tükenmesi her zaman aynı hata mesajı ile gelmez. Site sahibi olarak şu işaretleri görüyorsanız, sebebin RAM yetersizliği olduğundan şüphelenmelisiniz:
- “Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate X bytes)” satırı.
- Yönetim panelinde sayfanın yarısı yüklendikten sonra beyaz ekrana düşmesi.
- Eklenti veya tema güncellemesi sırasında “Maximum execution time” yerine sessizce 500 Internal Server Error.
- Medya yüklerken “HTTP error” veya “Sunucu yanıt vermedi” mesajı.
- WP-CLI ile
wp plugin update --allsırasında “PHP Fatal error” satırı. - WooCommerce raporlarının yüklenmemesi, büyük katalog dışa aktarımının yarıda kesilmesi.
- Site sağlığı (Site Health) ekranında “PHP belleği önerilen değerin altında” uyarısı.
Hata mesajını görmüyorsanız ancak şüpheniz varsa, wp-config.php dosyasına geçici olarak hata günlüğünü açın:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );Bu sabitleri ekledikten sonra wp-content/debug.log dosyasında “Allowed memory size” satırını arayın. Sorun gidikten sonra bu sabitleri mutlaka kaldırın veya WP_DEBUG değerini false yapın; canlı sitede açık hata günlüğü güvenlik açığına dönüşür.
Bellek Limiti Neden Yetersiz Kalır?
WordPress bellek limitinin tükenmesinin en yaygın sebepleri şunlardır:
- Çok sayıda aktif eklenti: 50+ aktif eklenti, her istek için ortalama 80-120 MB tüketebilir. Özellikle SEO, sayfa oluşturucu ve güvenlik eklentilerinin birlikte yüklenmesi RAM’i hızla şişirir.
- Şişkin tema: Multipurpose temaların kapsamlı framework’leri (örneğin Visual Composer, çok sayıda widget kütüphanesi) tek bir admin sayfasında 100 MB üzerinde tüketim yaratabilir.
- Büyük WooCommerce katalogları: 10.000+ ürünlü mağazalarda raporlar, toplu güncelleme veya CSV içe/dışa aktarımı sırasında bellek talebi 256M’yi aşar.
- Yetersiz PHP
memory_limit: Hosting paneli 64M veya 128M atamış olabilir; bu durumda WordPress sabiti devreye girmeden önce süreç ölür. - Görsel optimizasyon eklentileri: Imagify, ShortPixel, Smush gibi araçlar arka planda toplu işlem yaparken yüksek bellek tüketir.
- Yedekleme eklentileri: UpdraftPlus, BackupBuddy, Duplicator yedekleme sırasında veritabanı dump’larını bellekte tutar.
- Object cache yokluğu: Redis veya Memcached olmadan veritabanına yapılan tekrarlı sorgular bellekte sonuç önbelleği şişirir.
- Sızdıran (memory leak) eklenti: Hatalı yazılmış bir eklenti, yığında nesneleri bırakır ve uzun süreli işlemde RAM’i tüketir.
Mevcut Bellek Limitini Nasıl Görürsünüz?
Çözüme geçmeden önce, sunucunuzun şu an hangi limiti raporladığını netleştirin. Birden fazla yöntem mevcut:
1. Site Sağlığı Ekranı
Yönetim panelinde Araçlar → Site Sağlığı → Bilgi → Sunucu bölümüne gidin. Burada PHP sürümü, memory_limit, max_execution_time ve diğer kritik değerleri görebilirsiniz. Aynı ekranda WordPress’in algıladığı WP_MEMORY_LIMIT değeri de listelenir.
2. WP-CLI ile
wp eval 'echo "PHP memory_limit: " . ini_get("memory_limit") . PHP_EOL;
echo "WP_MEMORY_LIMIT: " . WP_MEMORY_LIMIT . PHP_EOL;
echo "WP_MAX_MEMORY_LIMIT: " . WP_MAX_MEMORY_LIMIT . PHP_EOL;'3. phpinfo() Çıktısı
Tema dosyalarına geçici olarak phpinfo(); çağrısı eklemek yerine güvenli yöntem, hosting panelindeki PHP yöneticisi (örneğin cPanel’de “Select PHP Version” → “Options”) üzerinden değerleri okumaktır. phpinfo dosyasını canlı sitede tutmak güvenlik açısından önerilmez; eklerseniz dahi işiniz biter bitmez silin.
4. Geçici Tanı Snippet’i
Bir sayfa şablonunda veya geçici eklentide aşağıdaki kontrol kodunu çalıştırarak hızlı doğrulama alabilirsiniz:
add_action( 'admin_notices', function() {
if ( ! current_user_can( 'manage_options' ) ) return;
$php = ini_get( 'memory_limit' );
$wp = defined( 'WP_MEMORY_LIMIT' ) ? WP_MEMORY_LIMIT : '40M (varsayılan)';
$admin = defined( 'WP_MAX_MEMORY_LIMIT' ) ? WP_MAX_MEMORY_LIMIT : '256M (varsayılan)';
echo '<div class="notice notice-info"><p>PHP: ' . esc_html( $php ) .
' | WP_MEMORY_LIMIT: ' . esc_html( $wp ) .
' | WP_MAX_MEMORY_LIMIT: ' . esc_html( $admin ) . '</p></div>';
} );Doğrulama bittikten sonra bu kodu kaldırın.
Yöntem 1: wp-config.php ile WordPress Bellek Limitini Artırma
En yaygın ve önerilen yöntem, wp-config.php dosyasına WordPress sabitlerini eklemektir. Bu dosya WordPress kurulum dizininin köküdür; FTP, SFTP veya hosting dosya yöneticisi ile erişebilirsiniz.
- Sitenize FTP/SFTP ile bağlanın veya cPanel/Plesk’te dosya yöneticisini açın.
- Kök dizindeki
wp-config.phpdosyasının yedeğini alın (wp-config.php.bakolarak kopyalayın). - Dosyayı düzenleyici ile açın.
- “That’s all, stop editing! Happy publishing.” satırının üstüne aşağıdaki kodu ekleyin.
/** WordPress bellek limiti */
define( 'WP_MEMORY_LIMIT', '256M' );
/** Yönetim paneli için artırılmış limit */
define( 'WP_MAX_MEMORY_LIMIT', '512M' );Dosyayı kaydedip yükleyin. Yönetim paneline yeniden giriş yapın ve Site Sağlığı → Bilgi → Sunucu sayfasında değerlerin güncellendiğini doğrulayın. Hata devam ediyorsa, PHP’nin memory_limit değeri hâlâ daha düşük demektir; sıradaki yöntemlerden birini de uygulayın.
Sabitlerin Doğru Yere Eklenmesi
Önemli: Sabitleri “require_once ABSPATH . ‘wp-settings.php’;” satırının altına eklerseniz WordPress bunları okumaz, çünkü bootstrap zaten tamamlanmış olur. Her zaman bu satırın üstünde, “That’s all, stop editing” yorumunun hemen üstünde tutun.
Yöntem 2: php.ini ile PHP memory_limit Artırma
WordPress sabitlerini artırdığınız halde “Allowed memory size” hatası devam ediyorsa, sorun PHP’nin global memory_limit değerindedir. Hosting paketinizde php.ini dosyasına erişiminiz varsa kalıcı çözüm budur.
- Hosting panelinde “PHP Settings”, “PHP Version” veya “MultiPHP INI Editor” bölümünü bulun.
- Mevcut
php.iniiçeriğini açın. - Aşağıdaki direktifi ekleyin veya güncelleyin:
memory_limit = 512M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300Kaydedin. Sunucu PHP-FPM veya CGI çalıştırıyorsa değişikliklerin etkin olması için PHP’nin yeniden başlatılması gerekebilir; çoğu panel bunu otomatik yapar. cPanel kullanıyorsanız “PHP” simgesinin yanında “Apply” düğmesi belirir.
.user.ini Alternatifi
Paylaşımlı hostinglerde global php.ini‘ye erişim verilmiyorsa, kök dizinde .user.ini dosyası oluşturun:
memory_limit = 512M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300PHP, varsayılan olarak .user.ini dosyalarını 5 dakikalık aralıklarla yeniden okur (user_ini.cache_ttl). Etkiyi hemen görmek için PHP-FPM’i yeniden başlatabilir veya 5 dakika bekleyebilirsiniz.
Yöntem 3: .htaccess ile Bellek Artırma
Apache + mod_php çalıştıran sunucularda .htaccess üzerinden de PHP direktifi atanabilir. LiteSpeed sunucuları da bu direktifi okur. Nginx kullanıyorsanız bu yöntem etkisizdir; php.ini‘ye geçin.
Kök dizindeki .htaccess dosyasını açın ve “# BEGIN WordPress” satırının üstüne ekleyin:
php_value memory_limit 512M
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300Dosyayı kaydedin. Eğer site bu satırlardan sonra 500 Internal Server Error veriyorsa, sunucunuz PHP-FPM altında çalışıyor demektir ve bu direktiflere izin verilmiyor; satırları kaldırıp php.ini veya .user.ini yöntemine dönün.
Yöntem 4: Hosting Paneli Üzerinden Artırma
cPanel, Plesk, DirectAdmin ve cyberPanel arayüzleri PHP memory_limit değerini grafik arayüzden değiştirmenize izin verir. Bu yol en az hata payı taşıyan yoldur, çünkü dosya düzenleme gerekmez.
cPanel
- cPanel ana sayfasından “Select PHP Version” veya “MultiPHP INI Editor” simgesine tıklayın.
- İlgili etki alanını seçin.
- “Options” sekmesinde
memory_limitsatırını bulun ve 512M olarak ayarlayın. - Aynı sayfada
upload_max_filesize,post_max_size,max_execution_timedeğerlerini de güncelleyin. - Sayfanın altındaki Save düğmesine basın.
Plesk
- Domain → “PHP Settings” bölümüne girin.
- “memory_limit” alanını
512Myapın. - “Apply” düğmesine basın.
DirectAdmin
- “Domain Setup” → ilgili alan → “PHP Selector” → “Options“.
memory_limit512M.- “Save“.
Hosting paneli üzerinden yapılan değişiklikler genelde anında etki eder; php-fpm reload otomatik tetiklenir.
Yöntem 5: Yönetim Panelinden Eklenti ile
Sunucuya doğrudan erişiminiz yok ve hosting paneli sınırlıysa, son çare olarak hafif bir yapılandırma eklentisi (Code Snippets, WP Memory Bumper gibi) ile WordPress sabitlerini ayarlayabilirsiniz. Ancak bu yaklaşım yalnızca WP_MEMORY_LIMIT değerini değiştirir; PHP memory_limit‘i değiştiremez. Yani PHP limitiniz 96M ise, hangi sabiti yazarsanız yazın yine 96M’de takılırsınız. Hosting sağlayıcınıza durumu açıklayıp PHP memory_limit‘in 256M veya 512M’ye çıkarılmasını talep edin.
WP-CLI ile Bellek Limiti Artırma
SSH erişiminiz varsa WP-CLI ile wp-config.php sabitlerini tek satırda ekleyebilirsiniz:
wp config set WP_MEMORY_LIMIT 256M --add --type=constant
wp config set WP_MAX_MEMORY_LIMIT 512M --add --type=constant
wp config get WP_MEMORY_LIMIT
wp config get WP_MAX_MEMORY_LIMITWP-CLI komutunu yalnızca uzun süreli işlemler için ek bellekle çalıştırmanız gerekiyorsa --max-execution-time ve PHP CLI memory_limit‘ini de güçlendirin:
php -d memory_limit=1024M /usr/local/bin/wp plugin update --all
php -d memory_limit=1024M /usr/local/bin/wp media regenerate --yesBellek Limiti Sorunlarını Bulmak İçin Tanı Adımları
Limiti artırmadan önce sebebi anlamak, kalıcı çözüme ulaşmak için kritiktir. Sürekli RAM şişiren bir kaynak varsa limiti 1G’a yükseltmek geçici bir bandaj olur. Sıralı bir tanı süreci uygulayın:
- Hata günlüğünü açın:
WP_DEBUGveWP_DEBUG_LOGiledebug.logdosyasını izleyin. Hangi PHP dosyasında, hangi satırda bellek tükeniyor görün. - Eklentileri sırayla devre dışı bırakın: Bisection yöntemi ile yarım yarım test edin: önce eklentilerin yarısını devre dışı, sorun çözülürse o yarı içinde aramayı sürdürün.
- Tema değiştirin: Twenty Twenty-Four veya Twenty Twenty-Five gibi bir varsayılan temaya geçici olarak geçin. Sorun kayboluyorsa kaynak temadır.
- Query Monitor eklentisini kullanın: Hangi hook, hangi sorgu, hangi eklenti çağrısı RAM’i ne kadar tüketiyor görüntüleyin.
- Object cache’i etkinleştirin: Redis veya Memcached devreye alarak tekrarlı sorguların bellekte mükerrer önbellekleştirilmesini engelleyin.
Query Monitor ile Profil Çıkarma
Query Monitor, sayfa altında bellek kullanımını ve tüm hook çağrılarını listeler. Yönetim panelinde sayfa yüklenirken üst çubuğun en sağındaki “Memory” sayacı 100 MB’ı aşıyorsa, eklenti veya tema kaynaklı bellek şişmesi büyük olasılıkla mevcuttur. Hangi eklentinin kaç MB tükettiğini “Hooks & Actions” panelinden görebilirsiniz.
Mu-Plugin İle Tek İstekte İzleme
wp-content/mu-plugins/memory-watch.php dosyası oluşturup aşağıdaki içeriği yazın:
<?php
add_action( 'shutdown', function() {
if ( ! current_user_can( 'manage_options' ) ) return;
$peak = memory_get_peak_usage( true ) / 1024 / 1024;
error_log( sprintf( '[wpneta] %s zirve bellek: %.2f MB', $_SERVER['REQUEST_URI'] ?? '?', $peak ) );
} );Bu mu-plugin, her admin isteği için zirve bellek tüketimini debug.log‘a yazar. 24-48 saatlik gözlem sonunda hangi sayfanın hangi büyüklükte RAM tükettiğini net görürsünüz.
WooCommerce ve Yüksek Trafik İçin Tavsiye Edilen Değerler
WooCommerce, LearnDash, Easy Digital Downloads veya WP Job Manager gibi büyük eklenti aileleri çalıştıran siteler için önerilen değerler:
- Küçük blog (1-15 eklenti, < 5K aylık trafik):
memory_limit = 256M,WP_MEMORY_LIMIT = 256M. - Orta WooCommerce (5-50 ürün, 5-50K trafik):
memory_limit = 512M,WP_MEMORY_LIMIT = 256M,WP_MAX_MEMORY_LIMIT = 512M. - Büyük WooCommerce (1000+ ürün, 100K+ trafik):
memory_limit = 768M,WP_MEMORY_LIMIT = 512M,WP_MAX_MEMORY_LIMIT = 1024M. - Kurumsal/yayıncı (multisite, yoğun yazar paneli):
memory_limit = 1024Mve mutlaka object cache + sayfa cache.
Limiti gereğinden büyük tutmak da risklidir: Sızıntılı bir eklenti tek istekte 1G tüketebiliyorsa, paylaşımlı sunucudaki diğer süreçler RAM açlığı yaşar ve hosting sağlayıcısı paketinizi geçici askıya alabilir. Yeterince yüksek, ama abartısız ilkesi en sağlıklı yaklaşımdır.
Bellek Tasarrufu Sağlayan Yönetimsel Önlemler
- Eklenti hijyeni: Aktif olmayan eklentileri silin. “İhtiyaç olur” diye bekletmeyin; her aktif eklenti her istekte yüklenir.
- Object cache: Redis Object Cache veya W3 Total Cache → Redis bağlantısı kurun. Tekrarlanan sorgular bellekte değil disk önbelleğinde yaşar.
- Sayfa cache: WP Rocket, LiteSpeed Cache veya FlyingPress, dinamik PHP yürütmesini büyük ölçüde devre dışı bırakır. Bellek talebi anonim ziyaretçiler için neredeyse sıfıra iner.
- Heartbeat azaltma: WordPress Heartbeat API her 15-60 saniyede bir admin-ajax.php çağırır. Heartbeat Control eklentisi ile aralığı uzatın.
- Image regenerate işlemini parçalı yapın: Tüm görselleri tek seferde yeniden üretmek yerine WP-CLI ile
--start=parametresi kullanın. - Düzenli güncelleme: Eklenti ve tema güncellemeleri çoğu zaman bellek sızıntılarını yamalar. Güvenli bir staging ortamında test edip canlıya geçirin.
- Yedekleme zamanlaması: Yedeklemeleri trafik düşük saatlere alın (gece 02:00-05:00); büyük yedeklerin sıkıştırma adımı RAM tüketir.
Sorun Giderme Kontrol Listesi
“Bellek limitini artırdım ama hata devam ediyor” diyorsanız aşağıdaki listeyi sırayla işaretleyin:
- [ ]
wp-config.php‘deki sabitler “That’s all, stop editing” satırının üstünde mi? - [ ] PHP
memory_limitdeğeri WordPress sabitinden büyük veya eşit mi? (En yaygın hata.) - [ ] Hosting paneli ile
php.ini/.htaccessarasında çakışan tanımlama yok mu? - [ ] PHP-FPM/php-fcgi yeniden başlatıldı mı? Bazı paneller cache temizlemeden değişikliği uygulamaz.
- [ ] Site Sağlığı ekranı yeni değerleri gösteriyor mu? Göstermiyorsa yeni süreç eski değeri kullanmıyordur.
- [ ] Hata WordPress’ten mi geliyor? Bazen aynı sunucuda çalışan farklı bir uygulama RAM tüketir;
topveyahtopile kontrol edin. - [ ] Object cache veya page cache eklentisi son güncellemede arızalandı mı? Geçici devre dışı bırakıp test edin.
- [ ] PHP sürümü güncel mi? PHP 7.4 ve altı, modern eklentilerde gereğinden fazla bellek tüketir; PHP 8.2+ önerilir.
- [ ] WordPress sürümü güncel mi? 6.x öncesi sürümlerde bilinen bellek sızıntıları var.
- [ ]
WP_MAX_MEMORY_LIMITyalnızca admin için geçerli; ön yüzde sorun yaşıyorsanızWP_MEMORY_LIMIT‘i artırın. - [ ]
upload_max_filesizevepost_max_size,memory_limit‘ten küçük mü? (Olmaları gerekir.)
Hosting Sağlayıcısı ile İletişim İçin Hazır Şablon
Hosting paketinizde PHP memory_limit değerini siz değiştiremiyorsanız ve sağlayıcıdan destek istiyorsanız, açık ve yapılandırılmış bir mesaj göndermek çözüm hızını artırır. Aşağıdaki şablonu kullanabilirsiniz:
Merhaba, [domain.com] sitesinde “Allowed memory size of X bytes exhausted” hatası alıyorum. WordPress Site Sağlığı ekranı PHP memory_limit değerini 128M olarak gösteriyor. Sitemde WooCommerce + Elementor çalışıyor; bu yapı için resmi olarak önerilen değer 256M+. Lütfen PHP memory_limit değerini benim için 512M’ye, post_max_size ve upload_max_filesize değerlerini ise 64M’ye yükseltir misiniz? Değişiklik sonrası PHP-FPM reload uygulamanız da gerekecek. Teşekkürler.
Bellek Limitini Artırmadan Önce Almanız Gereken Önlemler
- Tam yedek alın. Bellek limiti hatası, sıklıkla bozuk eklentiyi maskeler; limit yükselince eklenti veritabanını kötü etkileyebilir. UpdraftPlus veya WP-CLI ile dosya + DB yedeği almadan başlamayın.
- Staging ortamında test edin. Mümkünse cPanel “Toolkit Staging”, Plesk “Staging” veya WP Staging eklentisi ile değişikliği önce test sitesinde uygulayın.
- FTP/SFTP/SSH erişiminizin çalıştığından emin olun. Yanlış bir
wp-config.phpkaydı sitenizi tamamen erişilemez yapabilir; geri dönmek için kök dizine erişiminiz olmalı. - Cache temizliği. Sayfa cache eklentiniz varsa değişiklik sonrası cache’i tamamen temizleyin; eski yanıtlar tekrar PHP yürütmesine yol açabilir.
Sık Sorulan Sorular (SSS)
WordPress bellek limitini sınırsız yapabilir miyim?
PHP memory_limit‘i -1 yapabilirsiniz, bu süreç başına RAM sınırını kaldırır. Ancak paylaşımlı hostingde sağlayıcı bunu kabul etmez; VPS/sunucuda bile tek bir sızıntılı eklenti tüm sunucuyu çökertebilir. Önerilmez. 512M veya 1024M makul üst sınırdır.
Bellek limitimi nasıl test ederim?
WP-CLI ile wp eval 'echo ini_get("memory_limit");' komutunu çalıştırın. Site Sağlığı ekranında “PHP memory_limit” satırını kontrol edin. Her ikisinde de ayarladığınız değeri görmelisiniz; aksi halde değişiklik etkili olmamış demektir.
WP_MEMORY_LIMIT ile WP_MAX_MEMORY_LIMIT arasındaki fark nedir?
WP_MEMORY_LIMIT ön yüzde (ziyaretçilerin görüntülediği sayfalarda) ve genel WordPress isteklerinde geçerlidir. WP_MAX_MEMORY_LIMIT yalnızca yönetim paneli (wp-admin) ve cron isteklerinde devreye girer. Eklenti güncelleme, görsel yeniden oluşturma, içe aktarma gibi ağır işlemler ikincisini kullanır; bu yüzden admin tarafı limiti her zaman daha yüksek tutulur.
Bellek limiti artırmak güvenlik riskine yol açar mı?
Doğrudan değil. Ancak yüksek bellek limiti, kötü amaçlı betiklerin daha uzun çalışmasına imkân tanıyabilir. Bu yüzden Wordfence, Sucuri veya iThemes Security ile düzenli güvenlik taraması yapmak, dosya bütünlüğünü kontrol etmek ve şüpheli eklentileri kaldırmak gerekir. Bellek artışını her zaman güçlendirilmiş bir güvenlik konfigürasyonu ile birlikte düşünün.
“Out of memory” hatası ile “Allowed memory size exhausted” arasındaki fark nedir?
“Allowed memory size exhausted” PHP’nin memory_limit direktifine takıldığını söyler ve süreç düzgünce sonlandırılır. “Out of memory” ise işletim sistemi seviyesinde RAM bittiğini gösterir; bu noktada Linux çekirdek “OOM killer” devreye girer ve süreçleri rastgele öldürmeye başlar. Sunucuda OOM görüyorsanız, bellek limiti artırmak yerine sunucu RAM’ini büyütmeniz veya eklenti hijyeni yapmanız gerekir.
Limiti artırdım ama Site Sağlığı eski değeri gösteriyor, neden?
İki olası sebep vardır: (1) PHP-FPM yeniden başlatılmamıştır; hosting panelinde “Restart PHP” düğmesini arayın. (2) wp-config.php kaydı yanlış konuma yapılmış, require_once ABSPATH . 'wp-settings.php' satırının altına eklenmiştir; üst tarafa taşıyın.
WP-CLI komutum hâlâ “Allowed memory size” diyor, neden?
WP-CLI, web isteklerinden ayrı bir PHP CLI yapılandırması kullanır. CLI php.ini dosyası genelde /etc/php/8.2/cli/php.ini konumundadır. Bu dosyada memory_limit ayrı tanımlanmıştır. Geçici çözüm: php -d memory_limit=1024M $(which wp) komut kullanın.
Kaynaklar ve İleri Okuma
- WordPress.org Geliştirici El Kitabı:
WP_MEMORY_LIMITveWP_MAX_MEMORY_LIMITsabitleri. - PHP Manual:
memory_limitveini_setdirektif tanımları. - WP-CLI Handbook:
wp configkomut ailesi. - WPNeta: WordPress Beyaz Ekran Hatası — bellek limiti çoğu beyaz ekranın temel sebebidir.
- WPNeta: WordPress 500 Internal Server Error — bellek tükenmesi 500 hatasının yaygın varyantıdır.
- WPNeta: WordPress Yedekleme Rehberi — limit değişiklikleri öncesi mutlaka yedek alın.
Sonuç
WordPress bellek limiti, hem sitenizin sorunsuz çalışmasının hem de yöneticinin gönül rahatlığının doğrudan belirleyicisidir. Doğru çözüm yalnızca WP_MEMORY_LIMIT sabitini değiştirmek değil, PHP memory_limit ile uyumlu bir yapı kurmaktır. wp-config.php + php.ini (veya .user.ini) ikilisi en kararlı çözümü verir; .htaccess yöntemi yalnızca Apache/LiteSpeed’de işe yarar; hosting paneli en hatasız yoldur. Limit artışından önce yedek alın, staging’de test edin, sonra canlıya yansıtın. Sorun limit yetersizliği değil de bir eklenti sızıntısı ise, limiti büyütmek yara bandıdır; gerçek tedavi sızıntılı eklentiyi tespit edip değiştirmektir. Düzenli yedek, güncel PHP/WordPress sürümleri, object cache ve sayfa cache uygulamak ise bellek tükenmesinin tekrarını uzun vadede engelleyen yönetim disiplinidir.


