{"id":1851,"date":"2026-08-04T11:43:31","date_gmt":"2026-08-04T04:43:31","guid":{"rendered":"https:\/\/achmadfarid.com\/?p=1851"},"modified":"2026-08-04T11:43:31","modified_gmt":"2026-08-04T04:43:31","slug":"cara-mempercepat-website-wordpress","status":"publish","type":"post","link":"https:\/\/achmadfarid.com\/en\/cara-mempercepat-website-wordpress\/","title":{"rendered":"Cara Mempercepat Website WordPress: Berhenti Mengejar Skor, Mulai Hitung Anggaran"},"content":{"rendered":"<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"3:1-3:356;85-440\">Anda sudah pasang plugin cache. Sudah kompres gambar. Sudah upgrade hosting ke paket yang lebih mahal. Skor PageSpeed Insights akhirnya tembus 92 \u2014 hijau, memuaskan, layak di-screenshot. Tapi tiga minggu kemudian laporan Core Web Vitals di Search Console masih merah, dan halaman produk Anda tetap kalah dari kompetitor yang skornya lebih jelek dari Anda.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"5:1-5:545;442-986\">Saya sering ketemu situasi ini. Dan hampir selalu, akar masalahnya bukan &#8220;kurang optimasi&#8221; \u2014 melainkan salah membaca angka sejak awal. Cara mempercepat website WordPress yang beredar di internet Indonesia rata-rata berbentuk daftar 10\u201312 tips: ganti hosting, pasang CDN, minify CSS, bersihkan database, update PHP. Semua benar. Tapi daftar itu tidak memberi tahu Anda hal yang paling penting: <strong>dari 12 hal itu, mana yang sebenarnya sedang memakan waktu di website Anda?<\/strong> Tanpa jawaban itu, Anda cuma menembak dalam gelap sambil berharap kena.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"7:1-7:372;988-1359\">Di artikel ini saya tidak akan memberi Anda daftar tips lagi. Saya akan menunjukkan cara saya memperlakukan kecepatan sebagai <strong>anggaran waktu yang bisa dilacak<\/strong> \u2014 2.500 milidetik yang habis dibelanjakan oleh empat &#8220;pos pengeluaran&#8221; yang bisa Anda lihat angkanya satu per satu. Setelah itu, Anda tahu persis pos mana yang boros, dan optimasi berhenti jadi tebak-tebakan.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"15:1-15:70;2021-2090\">Skor PageSpeed 95 Tapi Google Tetap Menghitung Website Anda Lambat<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"17:1-17:79;2092-2170\">Ini bagian yang paling sering bikin orang frustrasi, jadi saya taruh di depan.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"19:1-19:363;2172-2534\">PageSpeed Insights memberi Anda dua jenis data dalam satu halaman, dan kebanyakan orang cuma melihat satu. Angka besar bulat berwarna hijau di atas itu adalah <strong>data lab<\/strong> \u2014 simulasi yang dijalankan Google di server mereka, dengan perangkat dan koneksi yang dibuat-buat, sekali jalan. Bagus untuk debugging. Tapi Google <strong>tidak memakai angka itu untuk ranking.<\/strong><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"21:1-21:340;2536-2875\">Yang dipakai adalah blok di bagian atas yang sering dilewati orang: <em>&#8220;Discover what your real users are experiencing&#8221;<\/em> \u2014 itu <strong>data lapangan<\/strong> dari Chrome User Experience Report (CrUX). Datanya dikumpulkan dari pengunjung asli Anda, memakai HP asli mereka, di jaringan asli mereka, dirata-rata pada persentil ke-75 selama 28 hari terakhir.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"23:1-23:239;2877-3115\">Persentil ke-75. Bukan rata-rata. Artinya: kalau 25% pengunjung Anda mengalami loading 6 detik, Anda gagal \u2014 sekalipun 75% sisanya kencang. Dan 28 hari terakhir berarti perbaikan yang Anda lakukan kemarin baru terlihat penuh sebulan lagi.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"25:1-25:270;3117-3386\">Jadi kalau skor lab Anda 95 tapi CrUX Anda merah, tidak ada yang error. Kedua angka itu memang mengukur hal berbeda. Yang satu mengukur website Anda di laboratorium; yang satu mengukur website Anda di tangan ibu-ibu yang buka toko online Anda pakai 4G sambil di angkot.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"27:1-27:41;3388-3428\">Tebak yang mana yang dipedulikan Google.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"29:1-29:75;3430-3504\">Cara Mempercepat Website WordPress: 7 Langkah Berdasarkan Urutan Dampak<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"31:1-31:167;3506-3672\">Kalau Anda butuh ringkasannya sekarang juga, ini urutan yang saya pakai \u2014 disusun dari yang paling besar dampaknya ke yang paling kecil, bukan dari yang paling mudah:<\/p>\n<ol class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"33:1-39:136;3674-4537\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"33:1-33:156;3674-3829\"><strong>Perbaiki TTFB dulu<\/strong> \u2014 pindah ke hosting dengan server yang tidak overbooked dan PHP versi terbaru. Tidak ada plugin yang bisa menambal server lambat.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"34:1-34:105;3830-3934\"><strong>Aktifkan page caching yang benar<\/strong> \u2014 satu plugin cache saja, dikonfigurasi, bukan sekadar diinstal.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"35:1-35:102;3935-4036\"><strong>Amankan elemen LCP<\/strong> \u2014 pastikan gambar hero tidak di-lazy-load dan punya prioritas fetch tinggi.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"36:1-36:128;4037-4164\"><strong>Pangkas JavaScript, bukan sekadar minify<\/strong> \u2014 hapus script yang tidak dipakai di halaman itu. Ini yang menentukan INP Anda.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"37:1-37:128;4165-4292\"><strong>Ganti format gambar ke WebP\/AVIF<\/strong> dan sajikan ukuran yang sesuai viewport, bukan gambar 3000px yang dikecilkan lewat CSS.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"38:1-38:109;4293-4401\"><strong>Pasang CDN<\/strong> untuk aset statis, terutama kalau pengunjung Anda tersebar di luar pulau atau luar negeri.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"39:1-39:136;4402-4537\"><strong>Nyalakan speculative loading<\/strong> \u2014 fitur gratis di WordPress core yang mayoritas situs belum manfaatkan. Saya bahas di bagian akhir.<\/li>\n<\/ol>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"41:1-41:154;4539-4692\">Urutan ini penting. Melompat ke nomor 5 sebelum nomor 1 beres adalah alasan kenapa banyak orang merasa &#8220;sudah optimasi habis-habisan tapi tidak berubah&#8221;.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"43:1-43:62;4694-4755\">Anggaran 2.500 Milidetik \u2014 Cara Praktisi Melihat Kecepatan<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"45:1-45:56;4757-4812\">Sekarang bagian yang membuat urutan di atas masuk akal.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"47:1-47:277;4814-5090\">Ambang &#8220;baik&#8221; untuk Largest Contentful Paint adalah <strong>2,5 detik<\/strong>. INP di bawah 200 milidetik, CLS di bawah 0,1. Angka LCP inilah yang paling sering jadi titik gagal situs WordPress \u2014 dan cara paling berguna untuk memikirkannya bukan sebagai target, tapi sebagai <strong>anggaran<\/strong>.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"49:1-49:254;5092-5345\">Anda punya 2.500 milidetik. Empat pihak akan membelanjakannya, berurutan, satu setelah yang lain. Tugas Anda bukan &#8220;mempercepat website&#8221; \u2014 tugas Anda adalah mencari tahu pos mana yang menghabiskan porsi terbesar, lalu membeli kembali waktu dari pos itu.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"51:1-51:257;5347-5603\">Konsep dasar metriknya sendiri sudah saya urai terpisah di <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/achmadfarid.com\/apa-itu-core-web-vitals-panduan-lcp-inp-cls-lengkap\/\">panduan lengkap LCP, INP, dan CLS beserta ambang batasnya<\/a>, jadi di sini saya langsung masuk ke pembagian anggarannya.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"53:1-53:50;5605-5654\">Empat Pos Pengeluaran dalam Anggaran LCP Anda<\/h3>\n<h4 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"55:1-55:41;5656-5696\">Pos 1 \u2014 TTFB: Waktu Server Berpikir<\/h4>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"57:1-57:271;5698-5968\">Ini jarak antara browser mengirim permintaan dan byte pertama sampai. Selama fase ini layar pengunjung masih putih total. Ambang &#8220;baik&#8221; Google untuk TTFB adalah <strong>800 milidetik<\/strong> \u2014 sepertiga dari seluruh anggaran LCP Anda habis di sini kalau Anda cuma &#8220;lulus pas-pasan&#8221;.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"59:1-59:87;5970-6056\">Di WordPress, pos ini adalah pembunuh senyap. Saya bahas kenapa di section berikutnya.<\/p>\n<h4 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"61:1-61:68;6058-6125\">Pos 2 \u2014 Render Delay: Antrian Sebelum Browser Boleh Menggambar<\/h4>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"63:1-63:200;6127-6326\">HTML sudah sampai, tapi browser belum boleh menggambar apa pun karena masih harus mengunduh dan memproses CSS dan JavaScript yang menghadang di <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;head&gt;<\/code>. Setiap file render-blocking menambah antrian.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"65:1-65:165;6328-6492\">Di situs WordPress dengan page builder, pos ini rutin memakan 600\u20131.200 ms. Bukan karena file-nya besar satu-satu, tapi karena jumlahnya banyak dan saling menunggu.<\/p>\n<h4 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"67:1-67:41;6494-6534\">Pos 3 \u2014 Unduh dan Dekode Elemen LCP<\/h4>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"69:1-69:230;6536-6765\">Baru di sini gambar hero Anda benar-benar diunduh dan digambar. Kalau gambarnya 1,2 MB JPEG berukuran 3000\u00d72000 piksel yang ditampilkan dalam kotak 800 piksel, Anda membayar mahal untuk piksel yang tidak pernah dilihat siapa pun.<\/p>\n<h4 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"71:1-71:55;6767-6821\">Pos 4 \u2014 Main Thread: yang Membunuh INP, Bukan LCP<\/h4>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"73:1-73:367;6823-7189\">Ini teknisnya bukan bagian anggaran LCP, tapi sumbernya sama dan saya masukkan karena inilah jebakan baru 2026. Sejak Maret 2024, Google mengganti First Input Delay dengan <strong>Interaction to Next Paint<\/strong>. Bedanya krusial: FID cuma mengukur interaksi <em>pertama<\/em>, yang sering terjadi sebelum JavaScript berat selesai dieksekusi \u2014 jadi banyak situs lulus karena beruntung.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"75:1-75:341;7191-7531\">INP mengukur <em>semua<\/em> interaksi. Kalau pengunjung mengklik menu atau mengirim form sementara main thread masih sibuk mem-parsing JavaScript page builder dan widget chat, angkanya langsung jelek. Tema multipurpose dengan builder bawaan bisa menambah <strong>400 KB sampai 1 MB JavaScript<\/strong> di setiap halaman \u2014 sebelum Anda memasang satu plugin pun.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"83:1-83:78;8190-8267\">Kenapa WordPress Kalah di TTFB \u2014 dan Kenapa Plugin Cache Menyembunyikannya<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"85:1-85:90;8269-8358\">Ini bagian yang paling sering saya perdebatkan dengan klien, jadi saya sertakan angkanya.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"87:1-87:496;8360-8855\">Menurut data CrUX, hanya sekitar <strong>32% situs WordPress yang punya TTFB kategori baik.<\/strong> Bandingkan dengan platform yang infrastrukturnya dikelola penuh seperti Shopify, di mana TTFB ditangani di level infrastruktur dan pemilik toko tidak perlu memikirkannya sama sekali. Dan dari data yang sama, dari lebih dari tiga juta origin WordPress yang dipantau, tingkat kelulusan Core Web Vitals ada di kisaran <strong>46%<\/strong> pada snapshot November 2025 \u2014 posisi terbawah di antara platform besar yang dilacak.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"89:1-89:188;8857-9044\">Kabar baiknya, trennya naik: 32% (2021) \u2192 36% (2023) \u2192 44% (2024) \u2192 48% (2025) untuk mobile. Kabar buruknya, kalau situs Anda tidak ikut bergerak, Anda pelan-pelan tertinggal dari median.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"91:1-91:204;9046-9249\">Yang menarik: masalah WordPress <strong>bukan<\/strong> INP. Tingkat kelulusan INP situs WordPress justru cukup tinggi, sekitar 85,9%. Masalahnya LCP \u2014 dan LCP yang jelek itu sebagian besar ditarik ke bawah oleh TTFB.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"93:1-93:329;9251-9579\">Sekarang bagian yang jarang disebut. Plugin cache <strong>tidak memperbaiki<\/strong> TTFB Anda. Plugin cache membuat salinan HTML statis dan menyajikannya, sehingga PHP dan database tidak perlu bekerja. Itu memang menurunkan TTFB \u2014 <strong>untuk halaman yang sedang ter-cache, untuk pengunjung yang tidak login, saat cache-nya belum kedaluwarsa.<\/strong><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"95:1-95:254;9581-9834\">Di luar tiga kondisi itu, server Anda kembali telanjang. Dan tiga kondisi itu tidak berlaku persis di tempat yang paling menghasilkan uang: halaman keranjang, halaman checkout, hasil pencarian internal, dan setiap permintaan yang membawa parameter unik.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"97:1-97:372;9836-10207\">Saya pernah menangani toko online yang skor PageSpeed halaman depannya 94 dan pemiliknya yakin website-nya sudah kencang. Ketika saya ukur halaman checkout-nya \u2014 yang sama sekali tidak ter-cache \u2014 TTFB-nya 2,1 detik. Setiap calon pembeli menatap layar putih selama dua detik lebih tepat di detik-detik mereka paling ragu.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"99:1-99:114;10209-10322\">Cache menyembunyikan TTFB buruk dari mata Anda. Ia tidak menyembunyikannya dari pengunjung yang sedang mau bayar.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"101:1-101:44;10324-10367\">Cara Membaca Ke Mana Anggaran Anda Habis<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"103:1-103:161;10369-10529\">Berhenti menebak. Lima langkah ini butuh sekitar 30 menit dan hasilnya adalah daftar prioritas yang spesifik untuk website Anda, bukan untuk website orang lain.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"105:1-105:53;10531-10583\">Langkah 1 \u2014 Ambil Data Lapangan Dulu, Bukan Skor<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"107:1-107:266;10585-10850\">Buka PageSpeed Insights, masukkan URL, lalu <strong>abaikan angka besar di atas.<\/strong> Gulir ke blok data pengguna nyata. Kalau blok itu tidak muncul, artinya trafik Anda belum cukup untuk masuk CrUX \u2014 dalam kasus itu pakai data lab, tapi sadari Anda sedang membaca simulasi.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"109:1-109:53;10852-10904\">Catat tiga angka: LCP, INP, CLS. Ini titik nol Anda.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"111:1-111:43;10906-10948\">Langkah 2 \u2014 Pecah LCP Jadi Empat Angka<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"113:1-113:236;10950-11185\">Ini langkah yang paling sering dilewati, padahal paling menentukan. Di bagian diagnostik PageSpeed Insights ada rincian LCP yang membaginya ke empat fase: <strong>TTFB, resource load delay, resource load duration, dan element render delay.<\/strong><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"115:1-115:151;11187-11337\">Empat angka itu adalah pos pengeluaran yang saya jelaskan tadi. Jumlahkan, cocokkan dengan total LCP Anda, lalu lihat mana yang porsinya paling besar.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"117:1-117:214;11339-11552\">Kalau TTFB Anda 1.400 ms dari total LCP 3.100 ms, mengompres gambar tidak akan menyelamatkan Anda. Anda punya masalah server, dan setiap jam yang Anda habiskan mengutak-atik plugin gambar adalah jam yang terbuang.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"119:1-119:45;11554-11598\">Langkah 3 \u2014 Belanjakan dari Pos Terbesar<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"121:1-121:109;11600-11708\">Aturannya sesederhana itu: perbaiki pos dengan angka terbesar dulu, walaupun perbaikannya paling merepotkan.<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"123:1-126:180;11710-12349\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"123:1-123:171;11710-11880\"><strong>TTFB tinggi<\/strong> \u2192 ganti hosting atau naikkan resource, pakai PHP versi terbaru, aktifkan object caching, dan cari plugin yang menjalankan query berat di setiap request.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"124:1-124:146;11881-12026\"><strong>Resource load delay tinggi<\/strong> \u2192 browser terlambat menemukan gambar LCP Anda. Preload gambarnya, dan pastikan elemen hero bebas dari lazy-load.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"125:1-125:143;12027-12169\"><strong>Resource load duration tinggi<\/strong> \u2192 gambarnya terlalu besar. Konversi ke WebP atau AVIF, sajikan ukuran yang sesuai viewport, tambahkan CDN.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"126:1-126:180;12170-12349\"><strong>Element render delay tinggi<\/strong> \u2192 CSS dan JavaScript render-blocking. Defer yang bisa ditunda, hapus yang tidak dipakai di halaman itu, kurangi ketergantungan pada page builder.<\/li>\n<\/ul>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"128:1-128:71;12351-12421\">Langkah 4 \u2014 Ukur di Halaman yang Paling Berantakan, Bukan Homepage<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"130:1-130:210;12423-12632\">Homepage biasanya halaman yang paling diperhatikan sekaligus paling tidak mewakili. Ukur halaman produk, halaman artikel terpanjang, dan halaman yang tidak bisa di-cache. Di situlah masalah sebenarnya tinggal.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"132:1-132:56;12634-12689\">Langkah 5 \u2014 Kunci Hasilnya Sebelum Menambah Apa Pun<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"134:1-134:287;12691-12977\">Setelah satu pos membaik, catat angkanya dan <strong>jangan tambah plugin baru selama dua minggu.<\/strong> Kalau Anda mengubah lima hal sekaligus lalu angkanya bergerak, Anda tidak akan pernah tahu mana yang berhasil \u2014 dan lebih buruk lagi, tidak tahu mana yang harus dibatalkan saat ada yang rusak.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"136:1-136:173;12979-13151\">Jujur, saya juga dulu sering melanggar aturan ini karena tidak sabar. Yang terjadi selalu sama: dua bulan kemudian ada yang error dan saya tidak punya petunjuk sama sekali.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"138:1-138:54;13153-13206\">5 Saran Populer yang Justru Membuang Anggaran Anda<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"140:1-140:183;13208-13390\">Ini bagian yang paling banyak menghemat waktu klien saya. Kelima hal ini muncul hampir di semua artikel &#8220;cara mempercepat WordPress&#8221; berbahasa Indonesia, dan kelimanya punya masalah.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"142:1-142:39;13392-13430\">1. Mengejar Skor 100 di Lighthouse<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"144:1-144:229;13432-13660\">Sudah saya bahas di awal, tapi saya ulangi karena ini kesalahan paling mahal. Skor lab adalah alat diagnosis, bukan target. Saya lebih senang melihat klien dengan skor lab 78 tapi CrUX hijau, ketimbang skor 99 dengan CrUX merah.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"146:1-146:56;13662-13717\">2. Memasang Plugin Cache Kedua &#8220;Biar Lebih Kencang&#8221;<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"148:1-148:235;13719-13953\">Ini terjadi lebih sering dari yang Anda kira. Dua plugin cache aktif bersamaan akan saling menimpa header, saling membatalkan cache, dan menghasilkan perilaku yang tidak bisa diprediksi. Pilih satu. Konfigurasikan dengan benar. Titik.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"150:1-150:134;13955-14088\">Dan kalau hosting Anda pakai LiteSpeed, gunakan plugin bawaannya \u2014 bukan plugin cache umum yang justru bekerja di lapisan yang salah.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"152:1-152:32;14090-14121\">3. Me-lazy-load Gambar Hero<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"154:1-154:220;14123-14342\">Klasik, dan masih sering saya temukan. Lazy loading bagus untuk gambar di bawah lipatan, tapi kalau elemen LCP Anda ikut di-lazy-load, browser sengaja menundanya \u2014 dan Anda merusak metrik yang sedang Anda coba perbaiki.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"156:1-156:475;14344-14818\">WordPress sebenarnya sudah menangani ini sejak 5.9 dengan melewatkan lazy-load pada gambar-gambar pertama, dan sejak 6.3 core juga otomatis menambahkan <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">fetchpriority=\"high\"<\/code> pada gambar yang diperkirakan sebagai elemen LCP \u2014 yang secara umum memperbaiki LCP sekitar 5\u201310%. Masalahnya, banyak plugin optimasi gambar dan page builder menimpa perilaku bawaan itu. Cek langsung di source code halaman Anda apakah gambar hero-nya benar-benar bebas dari atribut <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">loading=\"lazy\"<\/code>.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"158:1-158:53;14820-14872\">4. Menggabungkan Semua File CSS dan JS Jadi Satu<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"160:1-160:286;14874-15159\">Saran ini masuk akal di era HTTP\/1.1, ketika setiap permintaan mahal. Dengan HTTP\/2 dan HTTP\/3, banyak permintaan paralel bukan lagi masalah besar \u2014 dan menggabungkan file justru merugikan: satu perubahan kecil membatalkan cache seluruh bundel, dan pengunjung mengunduh ulang semuanya.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"162:1-162:123;15161-15283\">Yang tetap berguna: <strong>minify<\/strong> (menghapus spasi dan komentar) dan <strong>defer<\/strong> (menunda eksekusi). Yang sudah usang: combine.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"164:1-164:44;15285-15328\">5. Menghapus Plugin Secara Membabi Buta<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"166:1-166:289;15330-15618\">&#8220;Terlalu banyak plugin bikin lambat&#8221; itu setengah benar. Yang bikin lambat bukan jumlahnya, tapi apa yang dilakukan tiap plugin di setiap request. Satu plugin yang menjalankan query database berat di setiap page load lebih merusak daripada sepuluh plugin yang cuma aktif di halaman admin.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"168:1-168:143;15620-15762\">Ukur dulu pakai Query Monitor sebelum menghapus. Menghapus plugin yang ternyata tidak bersalah cuma memindahkan masalah sambil merusak fungsi.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"176:1-176:75;16377-16451\">Dua Hal yang Hampir Tidak Pernah Dibahas di Artikel Kecepatan WordPress<\/h2>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"178:1-178:69;16453-16521\">Speculative Loading: Fitur Gratis di Core yang Jarang Dinyalakan<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"180:1-180:191;16523-16713\">Sejak WordPress 6.8, core sudah membawa <strong>speculative loading<\/strong> \u2014 kemampuan memuat halaman tujuan <em>sebelum<\/em> pengunjung benar-benar mengkliknya, memanfaatkan Speculation Rules API di browser.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"182:1-182:364;16715-17078\">Secara default WordPress mengaktifkannya dengan strategi konservatif: hanya <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">prefetch<\/code>, hanya untuk pengunjung yang tidak login, hanya di situs dengan permalink rapi, dan hanya terpicu saat kursor mulai menekan link. Aman, tapi konservatif. Pada uji coba di lebih dari 50.000 situs lewat feature plugin-nya, peningkatannya sekitar 1,9% pada tingkat kelulusan LCP.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"184:1-184:263;17080-17342\">Yang menarik: plugin Speculative Loading versi mandiri memakai default yang lebih agresif \u2014 <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">prerender<\/code> dengan eagerness <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">moderate<\/code> \u2014 dan peningkatannya jauh lebih terasa, karena halaman tujuan bukan cuma diunduh tapi sudah dirender lebih dulu di latar belakang.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"186:1-186:417;17344-17760\">Ini praktis gratis. Tidak menambah beban di halaman yang sedang dibuka, tidak berpengaruh buruk di browser yang belum mendukung. Kalau situs Anda konten-heavy dengan banyak navigasi internal \u2014 blog, portal, katalog produk \u2014 ini salah satu perbaikan dengan rasio dampak-terhadap-usaha paling bagus yang tersedia sekarang. Saya belum menemukan satu pun artikel kecepatan WordPress berbahasa Indonesia yang membahasnya.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"188:1-188:195;17762-17956\">Catatan jujur: kalau situs Anda punya link yang memicu aksi (logout, hapus, tambah ke keranjang lewat GET), kecualikan pola URL-nya lebih dulu. Prerender akan benar-benar menjalankan halamannya.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"190:1-190:54;17958-18011\">Yang Tidak Bisa Di-cache Adalah Halaman Uang Anda<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"192:1-192:116;18013-18128\">Saya sudah menyinggungnya, tapi ini layak dapat bagian sendiri karena implikasinya besar untuk bisnis di Indonesia.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"194:1-194:310;18130-18439\">Sebagian besar percakapan tentang kecepatan WordPress berpusat di halaman yang mudah di-cache: homepage, artikel blog, halaman layanan. Padahal jalur konversi Anda hampir seluruhnya berada di wilayah yang <strong>tidak bisa<\/strong> di-cache \u2014 keranjang, checkout, pencarian internal, area member, form yang membawa nonce.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"196:1-196:169;18441-18609\">Di halaman-halaman itu, satu-satunya yang menentukan kecepatan adalah kualitas server, versi PHP, efisiensi query, dan object caching. Bukan plugin cache. Bukan minify.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"198:1-198:356;18611-18966\">Saya pernah menemukan situs klien di mana pencarian internalnya memicu query yang memindai seluruh tabel postmeta. Homepage-nya loading 1,4 detik; halaman hasil pencarian butuh 5 detik lebih. Yang membuat ini mahal: pengunjung yang memakai fitur pencarian adalah pengunjung dengan niat beli paling tinggi.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"200:1-200:723;18968-19690\">Kalau setelah semua ini ternyata pos terbesar Anda tetap tidak bisa ditekan \u2014 biasanya karena tema dan page builder yang dipakai memang membawa beban struktural \u2014 masalahnya sudah bukan optimasi, melainkan pilihan platform. Saya sudah menulis pertimbangan lengkapnya di <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/achmadfarid.com\/website-custom-vs-wordpress\/\">perbandingan website custom dan WordPress dari kacamata SEO<\/a>, termasuk kapan membangun ulang lebih murah daripada terus menambal. Di titik itulah biasanya klien saya beralih dari tuning ke <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/achmadfarid.com\/web-development\/\">layanan web development<\/a> \u2014 bukan karena WordPress-nya salah, tapi karena fondasi yang dibangun terburu-buru punya batas atas yang tidak bisa dilewati plugin apa pun.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"202:1-202:44;19692-19735\">Mulai dari Satu Angka, Bukan dari Daftar<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"204:1-204:129;19737-19865\">Kalau Anda hanya mengambil satu hal dari artikel ini, ambil ini: <strong>jangan mulai dari daftar tips, mulai dari rincian LCP Anda.<\/strong><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"206:1-206:234;19867-20100\">Sepuluh menit dari sekarang Anda bisa melakukannya. Buka PageSpeed Insights, masukkan URL halaman produk atau artikel terpenting Anda \u2014 bukan homepage. Gulir melewati skor besar itu. Cari rincian empat fase LCP. Catat angka terbesar.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"208:1-208:57;20102-20158\">Angka itu adalah satu-satunya pekerjaan Anda minggu ini.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"210:1-210:371;20160-20530\">Selebihnya bisa menunggu. Prinsip kecepatan yang berlaku lintas platform \u2014 apa yang membuat halaman terasa cepat, dan kenapa itu penting untuk SEO \u2014 sudah saya urai terpisah di <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/achmadfarid.com\/cara-meningkatkan-kecepatan-website\/\">panduan meningkatkan kecepatan website untuk SEO<\/a>; artikel yang sedang Anda baca ini fokus di lapisan eksekusi khas WordPress-nya.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"212:1-212:424;20532-20955\">Dan kalau setelah mengukur Anda menemukan angkanya jelek di semua pos sekaligus \u2014 itu biasanya tanda masalahnya bukan di satu tempat, melainkan di cara fondasi teknis website Anda disusun sejak awal. Kalau Anda ingin diagnosis yang lebih menyeluruh sebelum memutuskan mau membenahi apa, saya membuka <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/achmadfarid.com\/jasa-seo\/\">jasa SEO<\/a> yang selalu dimulai dari audit teknis, bukan dari daftar rekomendasi generik.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"214:1-214:37;20957-20993\">Pertanyaan yang Sering Ditanyakan<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"216:1-217:258;20995-21312\"><strong>Berapa lama waktu loading website WordPress yang ideal?<\/strong> Targetkan LCP di bawah 2,5 detik pada data lapangan, bukan data lab. Sebagai pembanding, riset Google menunjukkan 53% pengunjung mobile meninggalkan halaman yang butuh lebih dari 3 detik untuk terbuka \u2014 jadi 2,5 detik itu batas lulus, bukan target ambisius.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"219:1-220:430;21314-21789\"><strong>Plugin cache WordPress mana yang terbaik?<\/strong> Tidak ada jawaban tunggal, dan itu bukan jawaban politis. Kalau hosting Anda memakai LiteSpeed, pakai LiteSpeed Cache \u2014 ia bekerja di level server, bukan PHP. Di luar itu, WP Rocket unggul di kemudahan konfigurasi, sementara W3 Total Cache dan WP Super Cache gratis dan memadai kalau Anda mau mengatur sendiri. Yang lebih menentukan hasilnya bukan pilihan pluginnya, tapi apakah Anda mengkonfigurasinya atau cuma mengaktifkannya.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"222:1-223:237;21791-22097\"><strong>Apakah kompresi gambar cukup untuk mempercepat website WordPress?<\/strong> Cukup kalau pos pengeluaran terbesar Anda memang ada di unduhan gambar. Kalau TTFB Anda 1,5 detik, mengompres gambar dari 800 KB ke 200 KB mungkin cuma memangkas 300 ms dari total 3,5 detik. Ukur dulu rincian LCP-nya sebelum memutuskan.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"225:1-226:293;22099-22450\"><strong>Apakah terlalu banyak plugin membuat WordPress lambat?<\/strong> Yang menentukan bukan jumlahnya, tapi apa yang tiap plugin kerjakan di setiap permintaan halaman. Satu plugin dengan query database berat bisa lebih merusak daripada sepuluh plugin ringan. Pakai Query Monitor untuk melihat plugin mana yang benar-benar memakan waktu sebelum menghapus apa pun.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"228:1-229:265;22452-22813\"><strong>Kenapa skor PageSpeed saya bagus tapi Search Console tetap melaporkan Core Web Vitals buruk?<\/strong> Karena keduanya mengukur hal berbeda. Skor PageSpeed adalah simulasi lab; Search Console memakai data pengguna nyata dari CrUX pada persentil ke-75 selama 28 hari. Perbaikan yang Anda lakukan hari ini baru terlihat penuh di Search Console sekitar sebulan kemudian.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"231:1-232:251;22815-23137\"><strong>Apakah hosting murah selalu jadi penyebab website WordPress lambat?<\/strong> Tidak selalu, tapi seringnya iya \u2014 dan cara membuktikannya gampang. Cek TTFB Anda. Kalau konsisten di atas 800 ms bahkan pada halaman yang ter-cache, resource server Anda memang kurang atau terlalu banyak berbagi dengan situs lain di mesin yang sama.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Anda sudah pasang plugin cache. Sudah kompres gambar. Sudah upgrade hosting ke paket yang lebih mahal. Skor PageSpeed Insights akhirnya tembus 92 \u2014 hijau, memuaskan, layak di-screenshot. Tapi tiga minggu kemudian laporan Core Web Vitals di Search Console masih merah, dan halaman produk Anda tetap kalah dari kompetitor yang skornya lebih jelek dari Anda. Saya [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1852,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,13],"tags":[333,163,337,336,338,334,335,340,113,339],"class_list":["post-1851","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical","category-website","tag-cara-mempercepat-website-wordpress","tag-core-web-vitals","tag-hosting-cepat","tag-kompresi-gambar","tag-largest-contentful-paint","tag-optimasi-wordpress","tag-plugin-cache-wordpress","tag-speculative-loading","tag-technical-seo","tag-ttfb-wordpress"],"_links":{"self":[{"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/posts\/1851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/comments?post=1851"}],"version-history":[{"count":1,"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/posts\/1851\/revisions"}],"predecessor-version":[{"id":1853,"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/posts\/1851\/revisions\/1853"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/media\/1852"}],"wp:attachment":[{"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/media?parent=1851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/categories?post=1851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/achmadfarid.com\/en\/wp-json\/wp\/v2\/tags?post=1851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}