Eklentisiz WordPress Hız Optimizasyonu Nasıl Yapılır (Sadece Kod Rehberi)

Yayınlandığı tarih | By Siteskyline
6 dk okuma

If you’re reading this, you’re likely tired of the standart WordPress performans tavsiyeleri. 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 plan cron işleri ve kendi CSS/JS yüklerini ekler.

The truth is, WordPress doesn’t need 15 performance plugins to load in under a second. True speed optimization happens at the metal layer—the server, the database, and the core code.

Bu rehberde, eklenti ekosistemini tamamen atlayacağız. WordPress'i sunucu tarafı yapılandırmaları kullanarak optimize edeceğiz, wp-config.php ayarlamalar ve cerrahi functions.php kod parçacıkları.


1. Sunucu Tarafı Temeli (PHP Gerekmez)

Tek bir satır WordPress koduna dokunmadan önce, sunucu ortamınızın yoğun bir şekilde optimize edilmesi gerekir. Zayıf bir sunucu, ön uç önbellekleme ile düzeltilemez.

PHP 8.1+'e Yükseltin

WordPress PHP üzerinde çalışır. PHP 7.4'ten PHP 8.1 veya 8.2'ye geçmek, yürütme süresinde -30 azalma ve bellek tüketiminde önemli ölçüde düşüş sağlayabilir. Eylem: Bunu cPanel'inizden, Plesk'ten veya kendi VPS'nizi yönetiyorsanız CLI aracılığıyla değiştirin.

Sunucu Seviyesinde Sıkıştırmayı Etkinleştirin (Gzip yerine Brotli)

Gzip standart olsa da, Brotli (Google tarafından geliştirilmiştir) metin dosyaları (HTML, CSS, JS) için aynı CPU maliyetinde yaklaşık -20 daha iyi sıkıştırma oranları sağlar. Eylem (Nginx): Şunun olduğundan emin olun: nginx.conf Brotli etkinleştirilmiş durumda:

brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;

FastCGI Önbellekleme (Nginx) veya LiteSpeed Cache Uygulayın

PHP tabanlı bir önbellekleme eklentisi kullanmak yerine (ki bu, önbelleği sunmak için WordPress'in kısmen yüklenmesini gerektirir), web sunucusu düzeyinde önbellekleme yapın. Nginx FastCGI önbellekleme, oluşturulan HTML'yi RAM'de veya diskte saklar ve doğrudan sunarak anonim ziyaretçiler için PHP ve MySQL'i tamamen devre dışı bırakır.


2. Şununla Güçlendirme ve Hafifletme: wp-config.php

The wp-config.php kontrol merkezinizdir. Varsayılan olarak WordPress, zamanla veritabanınızı şişiren belirli davranışlara izin verir.

Bu kod parçacıklarını tam olarak şu satırdan önce ekleyin: /* That's all, stop editing! Happy publishing. */ satırı.

Yazı Revizyonlarını Sınırlandırın

Varsayılan olarak WordPress, yazılarınızın sonsuz revizyonunu saklar. 50 kez güncellenen bir yazı, wp_posts veritabanı tablonuzda 50 kopyaya sahip olur ve 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 kaydeder. Birden fazla editörünüz çalışıyorsa, bu veritabanını yorar. Süreyi uzatın.

// Change autosave from 60 seconds to 5 minutes
define( 'AUTOSAVE_INTERVAL', 300 );

Çöp Kutusunu Daha Hızlı Boşaltın

Silinen yazılar ve yorumlar 30 gün boyunca veritabanında kalır. Veritabanını yalın tutmak için bunu azaltın.

// Empty trash every 7 days
define( 'EMPTY_TRASH_DAYS', 7 );

3. The “Anti-Bloat” functions.php Ana Kod Parçacığı

WordPress çekirdeği, varsayılan olarak <head> Ve <footer> içine çok miktarda eski destek betiği, keşif bağlantıları ve satır içi stiller enjekte eder.

To achieve maximum information gain over competitors, we won’t just tell you to “use a debloat plugin.” Here is the exact code to surgically remove the most common WordPress bloat.

Note: Add this to your Child Theme’s functions.php dosyasına veya bir mu-plugin dosyasına ekleyin.

/**
 * 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 ne başardık?

Yukarıdaki kodu ekleyerek, anında 5-8 gereksiz HTTP isteğini and removed dozens of lines of inline CSS/JS from every single page load—all without installing a single plugin.


4. Medya Optimizasyonu (Zor Yol)

Smush veya Imagify gibi eklentiler kullanışlıdır, ancak görüntü işleme işlemlerini PHP sunucunuzda çalıştırarak CPU kaynaklarını tüketirler.

Manuel WebP/AVIF Dönüşümü

WordPress'e herhangi bir görsel yüklemeden önce, onu Squoosh.app (Google tarafından) veya TinyPNGgibi harici, kayıpsız bir sıkıştırıcıdan geçirin. Daha da iyisi, yüklemeden önce yerel olarak .webp veya .avif formatlarına dönüştürün.

Yerel Lazy Loading'den Yararlanın

WordPress 5.5'ten beri yerel lazy loading yerleşiktir. WordPress otomatik olarak görsellerinize loading="lazy" to your images. You don’t need a JavaScript-based lazy loading plugin. However, ensure your “above the fold” images (like your logo or hero image) DO NOT have this attribute, as it will delay the Largest Contentful Paint (LCP).

Sayfadaki ilk görsel için lazy loading'i şu şekilde 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 ile Veritabanı Birleştirme

Optimization plugins usually feature a “Clean Database” button. You can do this natively at the database level.

  1. Hosting panelinize giriş yapın ve phpMyAdmin.
  2. açın. WordPress veritabanınızı seçin.
  3. En alta kaydırın, işaretleyin Tümünü işaretle.
  4. In the “With selected:” dropdown, choose 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

Optimizing WordPress without plugins isn’t just about saving money on premium subscriptions. It is a philosophy of teknik borcu azaltmak. Every plugin you don’t install is a security vulnerability you don’t have to patch, a database table you don’t have to clean, and a PHP script your server doesn’t have to execute.

İş yükünü sunucuya kaydırın (PHP 8.1+, Nginx FastCGI), disiplini zorunlu kılın wp-config.phpve çekirdek şişkinliğini şununla kesin: functions.phpİlk Bayta Kadar Süreniz (TTFB) ve Temel Web Verileriniz (Core Web Vitals) aradaki farkı yansıtacaktır.

Bu Gönderiyi Paylaş

Siteskyline

Siteskyline

Siteskyline is a premium WordPress plugin and SEO management platform dedicated to providing the best speed, security, and optimization tools.