If you’re reading this, you’re likely tired of the standard WordPress performance advice. The usual routine—installing WP Rocket, adding an image optimizer plugin, and throwing in an asset manager—often leads to a paradox: Sitenizi hızlandırmak için eklentiler yüklersiniz, ancak eklentilerin kendileri veritabanı şişkinliği, arka planda cron işleri ve kendi CSS/JS yüklerini ekler.
Gerçek şu ki, WordPress'in bir saniyeden kısa sürede yüklenmesi için 15 performans eklentisine ihtiyacı yok. Gerçek hız optimizasyonu metal katmanda (sunucu, veritabanı ve çekirdek kod) gerçekleşir.
Bu kılavuzda eklenti ekosistemini tamamen atlayacağız. Sunucu tarafı yapılandırmalarını kullanarak WordPress'i optimize edeceğiz, wp-config.php ayarlamalar ve cerrahi functions.php parçalar.
1. Sunucu Tarafı Temeli (PHP Gerekmez)
Tek bir WordPress kodu satırına dokunmadan önce sunucu ortamınızın yoğun şekilde optimize edilmesi gerekir. Zayıf bir sunucu, ön uç önbelleğe alma yoluyla düzeltilemez.
PHP 8.1+ sürümüne yükseltme
WordPress PHP üzerinde çalışır. PHP 7.4'ten PHP 8.1 veya 8.2'ye geçiş, yürütme süresinde -30 oranında azalma sağlayabilir ve bellek tüketimini önemli ölçüde azaltabilir. Aksiyon: Kendi VPS'nizi yönetiyorsanız bunu cPanel, Plesk veya CLI aracılığıyla değiştirin.
Sunucu Düzeyinde Sıkıştırmayı Etkinleştir (Gzip üzerinden Brotli)
Gzip standart olmakla birlikte, Brotli (Google tarafından geliştirilmiştir), aynı CPU maliyetiyle metin dosyaları (HTML, CSS, JS) için yaklaşık -20 daha iyi sıkıştırma oranları sağlar. Eylem (Nginx): Emin olun nginx.conf Brotli etkinleştirildi mi:
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;
FastCGI Önbelleğe Alma (Nginx) veya LiteSpeed Önbellek Uygulama
PHP tabanlı bir önbellek eklentisi kullanmak yerine (bu da WordPress'in önbelleğe hizmet vermek için kısmen yüklenmesini gerektirir), web sunucusu düzeyinde önbellek. Nginx FastCGI önbelleğe alma, oluşturulan HTML'yi RAM'de veya diskte saklar ve anonim ziyaretçiler için PHP ve MySQL'i tamamen atlayarak doğrudan sunar.
2. Sertleştirme ve İnceltme wp-config.php
The wp-config.php Dosya sizin kontrol odanızdır. Varsayılan olarak WordPress, zamanla veritabanınızı şişiren belirli davranışlara izin verir.
Bu parçacıkları hemen önce ekleyin /* That's all, stop editing! Happy publishing. */ astar.
Gönderi Düzeltmelerini Sınırla
WordPress, varsayılan olarak yazılarınızın sonsuz sayıda revizyonunu saklar. 50 kez güncellenen bir gönderinin 50 kopyası olacaktır. wp_posts veritabanı tablosu, veritabanı sorgularını önemli ölçüde yavaşlatır.
// Keep only the last 3 revisions
define( 'WP_POST_REVISIONS', 3 );
Otomatik Kaydetme Aralığını Optimize Edin
WordPress her 60 saniyede bir otomatik kayıt yapar. Çalışan birden fazla editörünüz varsa, bu durum veritabanına zarar verir. Yavaşla.
// Change autosave from 60 seconds to 5 minutes
define( 'AUTOSAVE_INTERVAL', 300 );
Çöp Kutusunu Daha Hızlı Boşaltın
Silinen gönderiler ve yorumlar veritabanında 30 gün boyunca saklanır. Veritabanını yalın tutmak için bunu azaltın.
// Empty trash every 7 days
define( 'EMPTY_TRASH_DAYS', 7 );
3. “Şişkinlik Karşıtı” functions.php Ana Snippet
WordPress çekirdeği, büyük miktarda eski destek komut dosyalarını, keşif bağlantılarını ve satır içi stilleri sisteminize enjekte eder. Ve varsayılan olarak.
Rakiplere karşı maksimum bilgi kazancı elde etmek için size yalnızca "debloat eklentisi kullanın" demeyeceğiz. İşte en yaygın WordPress şişkinliğini cerrahi olarak ortadan kaldıracak tam kod.
Not: Bunu Çocuk Temanıza ekleyin functions.php veya bir açılır mu eklentisi.
/**
* The Ultimate WordPress Debloat Snippet
*/
add_action('init', function() {
// 1. Remove RSD, XMLRPC, and WLW links
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
add_filter('xmlrpc_enabled', '__return_false');
// 2. Remove WordPress version footprint (Security & Speed)
remove_action('wp_head', 'wp_generator');
// 3. Remove Shortlinks and REST API links from header
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'rest_output_link_wp_head');
// 4. Disable native Emojis (Saves 1 JS and 1 CSS HTTP Request)
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
// 5. Disable oEmbeds (If you don't embed external URLs automatically)
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
add_action('wp_footer', function() { wp_deregister_script('wp-embed'); });
});
/**
* 6. Remove Global Styles (WP 5.9+ Inline CSS Bloat)
*/
add_action('wp_enqueue_scripts', function() {
wp_dequeue_style('global-styles');
wp_dequeue_style('classic-theme-styles');
}, 100);
/**
* 7. Remove jQuery Migrate (If using modern themes/plugins)
*/
add_action('wp_default_scripts', function($scripts) {
if (!is_admin() && isset($scripts->registered['jquery'])) {
$script = $scripts->registered['jquery'];
if ($script->deps) {
$script->deps = array_diff($script->deps, ['jquery-migrate']);
}
}
});
/**
* 8. Throttle the Heartbeat API
* Prevents high CPU usage when leaving the WP Admin open
*/
add_filter('heartbeat_settings', function($settings) {
$settings['interval'] = 60; // Throttle to 60 seconds
return $settings;
});
Az önce neyi başardık?
Yukarıdaki kodu ekleyerek anında 5-8 gereksiz HTTP isteği ve tek bir eklenti kurmadan, her sayfa yüklemesinden düzinelerce satır içi CSS/JS'yi kaldırdık.
4. Medya Optimizasyonu (Zor Yol)
Smush veya Imagify gibi eklentiler kullanışlıdır ancak PHP sunucunuzda görüntü işlemeyi çalıştırarak CPU kaynaklarını tüketirler.
Manuel WebP/AVIF Dönüşümü
Herhangi bir görüntüyü WordPress'e yüklemeden önce, onu harici, kayıpsız bir kompresörden geçirin. Squoosh.app (Google tarafından) veya TinyPNG. Daha da iyisi, bunları dönüştürün .webp veya .avif yüklemeden önce yerel olarak biçimlendirir.
Yerel Tembel Yüklemeden Yararlanın
WordPress 5.5'ten beri yerel tembel yükleme yerleşiktir. WordPress otomatik olarak ekler loading="lazy" resimlerinize. JavaScript tabanlı bir yavaş yükleme eklentisine ihtiyacınız yok. Ancak, "ekranın üst kısmındaki" görsellerinizin (logonuz veya kahraman görseliniz gibi) bu özelliğe sahip OLMADIĞINDAN emin olun; çünkü bu, En Büyük İçerikli Boya'yı (LCP) geciktirecektir.
Bir sayfadaki ilk görsel için tembel yüklemeyi şu adresten kaldırabilirsiniz: functions.php:
add_filter( 'wp_get_attachment_image_attributes', function( $attr, $attachment, $size ) {
static $is_first_image = true;
if ( $is_first_image ) {
$attr['loading'] = 'eager'; // Force immediate load for LCP
$is_first_image = false;
}
return $attr;
}, 10, 3 );
5. phpMyAdmin aracılığıyla Veritabanı Birleştirme
Optimizasyon eklentilerinde genellikle bir “Veritabanını Temizle” düğmesi bulunur. Bunu yerel olarak veritabanı düzeyinde yapabilirsiniz.
- Hosting panelinize giriş yapın ve açın phpMyAdmin.
- WordPress veritabanınızı seçin.
- Aşağıya doğru kaydırın, kontrol edin Tümünü kontrol et.
- "Seçilenlerle:" açılır menüsünde, Tabloyu optimize et.
MySQL tablo dizinlerini yeniden oluşturacak ve kullanılmayan alanı geri kazanacaktır. Bunu ayda bir kez manuel olarak yapın.
Karar
WordPress'i eklentiler olmadan optimize etmek yalnızca premium aboneliklerden tasarruf etmekle ilgili değildir. Bu bir felsefedir teknik borcun azaltılması. Yüklemediğiniz her eklenti, yamamanız gerekmeyen bir güvenlik açığı, temizlemeniz gerekmeyen bir veritabanı tablosu ve sunucunuzun yürütmesi gerekmeyen bir PHP betiğidir.
İş yükünü sunucuya (PHP 8.1+, Nginx FastCGI) kaydırın, disiplini sağlayın wp-config.phpve çekirdek şişkinliğini elinizi kullanarak dilimleyin functions.php. İlk Bayta Kadar Süreniz (TTFB) ve Önemli Web Verileriniz farkı yansıtacaktır.



