Cara Mengoptimalkan WordPress untuk Kecepatan Tanpa Plugin (Panduan Khusus Kode)

Diterbitkan pada | Oleh
6 menit membaca

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: Anda memasang plugin untuk mempercepat situs Anda, namun plugin itu sendiri menambahkan pengasapan basis data, pekerjaan cron latar belakang, dan muatan CSS/JS-nya sendiri.

Faktanya adalah, WordPress tidak memerlukan 15 plugin kinerja untuk dimuat dalam waktu kurang dari satu detik. Pengoptimalan kecepatan sebenarnya terjadi pada lapisan logam—server, database, dan kode inti.

Dalam panduan ini, kita akan mengabaikan ekosistem plugin sepenuhnya. Kami akan mengoptimalkan WordPress menggunakan konfigurasi sisi server, wp-config.php penyesuaian, dan bedah functions.php cuplikan.


1. Fondasi Sisi Server (Tidak Perlu PHP)

Sebelum menyentuh satu baris kode WordPress, lingkungan server Anda harus dioptimalkan secara menyeluruh. Server yang lemah tidak dapat diperbaiki dengan cache front-end.

Tingkatkan ke PHP 8.1+

WordPress berjalan pada PHP. Beralih dari PHP 7.4 ke PHP 8.1 atau 8.2 dapat menghasilkan pengurangan waktu eksekusi sebesar 20-30% dan konsumsi memori yang jauh lebih rendah. Tindakan: Ubah ini di cPanel Anda, Plesk, atau melalui CLI jika Anda mengelola VPS Anda sendiri.

Aktifkan Kompresi Tingkat Server (Brotli melalui Gzip)

Meskipun Gzip adalah standar, Brotli (dikembangkan oleh Google) memberikan rasio kompresi sekitar 15-20% lebih baik untuk file teks (HTML, CSS, JS) dengan biaya CPU yang sama. Tindakan (Nginx): Pastikan Anda nginx.conf telah mengaktifkan Brotli:

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

Menerapkan FastCGI Caching (Nginx) atau LiteSpeed ​​Cache

Daripada menggunakan plugin caching berbasis PHP (yang masih mengharuskan WordPress memuat sebagian untuk melayani cache), cache ada di tingkat server web. Caching Nginx FastCGI menyimpan HTML yang dihasilkan dalam RAM atau disk dan menyajikannya secara langsung, sepenuhnya melewati PHP dan MySQL untuk pengunjung anonim.


2. Pengerasan dan Penipisan melalui wp-config.php

Itu wp-config.php file adalah ruang kontrol Anda. Secara default, WordPress mengizinkan perilaku tertentu yang membuat database Anda membengkak seiring waktu.

Tambahkan cuplikan ini tepat sebelum /* That's all, stop editing! Happy publishing. */ garis.

Batasi Posting Revisi

Secara default, WordPress menyimpan revisi postingan Anda tanpa batas. Sebuah posting yang diperbarui 50 kali akan memiliki 50 salinan di Anda wp_posts tabel database, secara dramatis memperlambat permintaan database.

// Keep only the last 3 revisions
define( 'WP_POST_REVISIONS', 3 );

Optimalkan Interval Penyimpanan Otomatis

Penyimpanan otomatis WordPress setiap 60 detik. Jika Anda memiliki banyak editor yang bekerja, ini akan merusak database. Perlambat.

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

Kosongkan Sampah Lebih Cepat

Postingan dan komentar yang dihapus disimpan di database selama 30 hari. Kurangi ini untuk menjaga database tetap ramping.

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

3. “Anti Kembung” functions.php Cuplikan Utama

Inti WordPress memasukkan sejumlah besar skrip dukungan lama, tautan penemuan, dan gaya sebaris ke dalam Anda  Dan 

 secara default.

Untuk mencapai perolehan informasi maksimal dibandingkan pesaing, kami tidak akan hanya meminta Anda untuk “menggunakan plugin debloat.” Berikut adalah kode yang tepat untuk menghilangkan pembengkakan WordPress yang paling umum melalui pembedahan.

Catatan: Tambahkan ini ke Tema Anak Anda functions.php atau plugin mu drop-in.

/**
 * 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;
});

Apa yang baru saja kita capai?

Dengan menambahkan kode di atas, Anda langsung menghilangkan hingga 5-8 permintaan HTTP yang tidak perlu dan menghapus lusinan baris CSS/JS sebaris dari setiap pemuatan halaman—semuanya tanpa menginstal satu plugin pun.


4. Optimasi Media (Cara yang Sulit)

Plugin seperti Smush atau Imagify memang berguna, tetapi mereka menjalankan pemrosesan gambar di server PHP Anda, sehingga menghabiskan sumber daya CPU.

Konversi WebP/AVIF Manual

Sebelum mengunggah gambar apa pun ke WordPress, jalankan melalui kompresor eksternal yang lossless Squoosh.app (oleh Google) atau PNG Kecil. Lebih baik lagi, ubah menjadi .webp atau .avif format secara lokal sebelum diunggah.

Manfaatkan Pemuatan Malas Asli

Sejak WordPress 5.5, pemuatan lambat asli sudah ada di dalamnya. WordPress secara otomatis menambahkan loading="lazy" ke gambar Anda. Anda tidak memerlukan plugin pemuatan lambat berbasis JavaScript. Namun, pastikan gambar “paro atas” Anda (seperti logo atau gambar pahlawan Anda) TIDAK memiliki atribut ini, karena akan menunda Largest Contentful Paint (LCP).

Anda dapat menghilangkan pemuatan lambat untuk gambar pertama di halaman melalui 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. Defragmentasi Database melalui phpMyAdmin

Plugin pengoptimalan biasanya menampilkan tombol “Bersihkan Database”. Anda dapat melakukan ini secara asli di tingkat database.

  1. Masuk ke panel hosting Anda dan buka phpMyAdmin.
  2. Pilih basis data WordPress Anda.
  3. Gulir ke bawah, periksa Periksa semuanya.
  4. Di tarik-turun “Dengan yang dipilih:”, pilih Optimalkan tabel.

MySQL akan membangun kembali indeks tabel dan mendapatkan kembali ruang yang tidak terpakai. Lakukan ini secara manual sebulan sekali.


Putusan

Mengoptimalkan WordPress tanpa plugin bukan hanya tentang menghemat uang untuk langganan premium. Ini adalah filosofi mengurangi utang teknis. Setiap plugin yang tidak Anda instal memiliki kerentanan keamanan yang tidak perlu Anda tambal, tabel database yang tidak perlu Anda bersihkan, dan skrip PHP yang tidak perlu dijalankan oleh server Anda.

Pindahkan beban kerja ke server (PHP 8.1+, Nginx FastCGI), terapkan disiplin dalam file Anda wp-config.php, dan potong bagian inti yang menggembung menggunakan functions.php. Time to First Byte (TTFB) dan Core Web Vitals Anda akan mencerminkan perbedaannya.

Bagikan Postingan Ini

Ajay Malik

Ajay Malik adalah pengembang WordPress dan Elite Freelancer dengan pengalaman lebih dari 8 tahun.