Saya sering mendengar bahwa memiliki banyak plugin akan memperlambat situs WordPress. Tentu saja ini masuk akal, karena semakin banyak kode yang dieksekusi, semakin lama waktu yang dibutuhkan.
Saya bertanya-tanya apakah kelambatan sebagian besar:
hasil dari banyaknya jumlah plugin? (karena WP harus melakukan beberapa pemrosesan untuk mencari dan memuat setiap plugin)
akibat memiliki beberapa plugin yang lambat/berat?
Lebih praktisnya, ketika saya menulis sendiri, haruskah saya menggabungkan fungsionalitas menjadi lebih sedikit file untuk mendapatkan kecepatan? Atau tidak apa-apa memiliki 10-20 plugin masing-masing melakukan tugas cepat?
Aturan praktis " banyak plugin memperlambat situs " adalah instrumen yang sangat tumpul dan diabadikan oleh mereka yang tidak mengerti cara kerja plugin sehingga mereka memilih sesuatu yang mudah untuk di-iblis.
Ya, plugin dapat memperlambat situs Anda, tetapi itu tidak ada hubungannya dengan jumlah yang ada hubungannya dengan kualitas dan apa yang ingin mereka capai. Saya bisa menulis satu plugin yang akan membuat situs berlutut (jika ada alasan bagi saya untuk melakukannya) dan itu akan lebih buruk daripada 50 plugin yang ditulis dengan baik. Tentu saja orang menulis plugin setiap saat yang akan membuat situs bertekuk lutut karena mereka tidak tahu apa-apa.
Saya kira satu-satunya kebenaran untuk " banyak plugin memperlambat situs " adalah ketika Anda memiliki banyak plugin, kemungkinan besar Anda akan menangkap yang buruk.
Jadi mari kita bicara lebih spesifik. Plugin menggunakan " kait " yang merupakan bit dari kode PHP yang menjalankan titik tertentu di sepanjang jalur eksekusi dan mereka dapat melakukan sesuatu atau memfilter nilai atau keduanya. WordPress mulai memanggil kait sebelumnya dalam upayanya untuk menyusun halaman web dan menghasilkan HTML untuk dikirim ke browser dan terus memanggil kait hampir sampai selesai berjalan untuk halaman tertentu.
Bergantung pada kait mana yang digunakan plugin, itu mungkin disebut hanya pada halaman tertentu, di latar belakang "" atau bahkan hampir tidak pernah. Beberapa kait hanya berfungsi di dalam konsol admin. Beberapa kait hanya berfungsi di dalam halaman tertentu di konsol admin. Dan beberapa kait disebut oleh sistem psuedo-cron internal . OTOH, beberapa plugin dapat memuat file CSS atau JS tambahan dan masing-masing file memperlambat kinerja karena Aturan Kinerja Web # 1 .
Jika Anda ingin mengetahui apa yang disebut kait pada setiap halaman, pertimbangkan untuk menggunakan " Kait Instrumen untuk WordPress "plugin yang saya tulis untuk pertanyaan" Di mana saya dapat menemukan daftar WordPress Kait? "Ini cuplikan layar dari apa yang ditampilkan plugin di footer saat digunakan:
Tetapi hanya dengan mengetahui kait tidak akan membantu Anda mengetahui dengan pasti jika ada masalah dengan plugin. Anda dapat memanggil plugin 100 kali dan memanggilnya dapat diabaikan dibandingkan dengan panggilan kait lain yang menambahkan klausa WHERE ke permintaan SQL yang dapat meruntuhkan situs yang memiliki lebih dari beberapa ratus posting. Atau bisa melakukan panggilan HTTP ke server lain. Atau bisa menyiram aturan penulisan ulang pada setiap halaman memuat. Daftar dosa terus berlanjut.
Satu-satunya cara nyata untuk mengetahui dengan pasti sehingga mengaudit pengait plugin dengan meninjau kode sumber atau lebih baik menjalankannya melalui debugger seperti PhpStorm + XDEBUG .
Jangan khawatir tentang bagaimana kode disusun untuk tujuan kinerja ; khawatir tentang apa yang kode Anda lakukan. Mengoptimalkan pembelian SQL yang sering dijalankan dengan memanfaatkan API Sementara (Lihat: Presentasi tentang API Sementara ) akan menjadi jauh lebih baik untuk kinerja daripada menggabungkan kode 10 plugin menjadi satu.
Di sisi lain, pertimbangkan untuk mengatur kode Anda untuk alasan lain. Saya pikir daftar panjang plugin dapat membuat tekanan psikologis untuk banyak pengguna; mereka melihat layar seperti ini, kewalahan dan hanya ingin menyederhanakan hal-hal:
(sumber: mikeschinkel.com )
Namun di sisi lain terkadang pengguna dapat kewalahan karena satu plugin melakukan terlalu banyak. Misalnya saya merasa seperti itu dengan Plugin Peringkat Bintang Gd . Setelah mencobanya pada suatu proyek (dan lebih buruk lagi, mencoba mengaitkannya untuk membuatnya melakukan apa yang saya butuhkan) saya memutuskan untuk membuangnya di telinga itu.
Jadi beberapa orang (seperti saya) akan sering lebih suka banyak plugin ketat kecil yang masing-masing melakukan satu hal dan melakukannya dengan baik (akan lebih baik jika WordPress akan mendukung fitur pengelompokan seperti bagaimana iPhone iOS 4 memungkinkan Anda mengelompokkan aplikasi dalam folder .)
(sumber: mikeschinkel.com )
Bagaimanapun, semoga ini membantu.
Secara alami, Plugin hanyalah salah satu bagian dari kisah kinerja, jadi Anda tidak dapat mengukurnya dengan jumlah file pada akhirnya. Ada lebih banyak dan Anda tidak bisa mengatakan sebelumnya apa yang berhasil, jadi sesuatu yang mungkin baik pada komputer Anda tidak pada orang lain.
Alih-alih mencari kinerja, Anda harus menentukan kriteria lain dan memiliki sendiri untuk membuat keputusan. Misalnya, untuk plugin Anda dapat memilih untuk menempatkan fungsionalitas terpisah ke dalam plugin terpisah, sehingga tidak mencampuradukkan banyak hal. Ini mungkin bukan kinerja yang bijaksana dalam hal kecepatan atau penggunaan memori, tetapi perdagangan adalah untuk menjaga hal-hal yang digabungkan secara ringan sehingga lebih mudah untuk mengembangkan dan menggunakan plugin. Jangan lupa, ketika versi baru WordPress keluar, hanya dua plugin yang mungkin keluar dari sepuluh dan bukan yang besar sepanjang waktu. Dan pada akhirnya, pengguna hanya perlu tiga dari sepuluh plugin sehingga ia membutuhkan lebih sedikit memori.
Jika pengguna mengeluh tentang kinerja Blognya, Anda biasanya dapat menyarankan agar mereka hanya dapat membeli server yang lebih besar dan masalah kinerja diselesaikan.
(Pra-Dewasa) Optimalisasi adalah akar dari semua kejahatan. Hanya saja, jangan lagi memikirkan kinerja saat menulis plugins. Ambillah dengan cara yang terang dan cerah: WordPress pada akhirnya tidak dirancang dengan kinerja yang baik, jangan membuat kesalahan dan cobalah menulis plugin untuk itu;)
WordPress dirancang dengan Big Ball of Mud- (anti-) design-pattern . Sistem plugin adalah salah satu yang bekerja sangat baik dengannya. Hanya saja, jangan berpikir Anda dapat mengoptimalkan sebanyak penulis plugin. Kamu tidak bisa Jangan melawannya :)
Anda dapat menggunakan WordPress dengan ratusan plugin, ketika desain plugin baik-baik saja - kebanyakan plugin memiliki kode yang buruk dan ini adalah masalah kinerja WordPress.
ini semua tentang memiliki plug-in yang tepat. Misalnya, periksa untuk melihat apakah plug-in Anda menulis tabel sendiri ke basis data, ini biasanya memperlambat segalanya. apa pun yang memuat banyak jquery atau javascript umumnya akan memperlambatnya sedikit juga. Sejumlah besar plug-in tidak selalu berarti penurunan kinerja. Pastikan Anda menggunakan plug-in caching yang juga akan membantu.
Saya menganggap Anda menanyakan hal ini karena Anda mengalami pelambatan? Tanyakan kepada Host Anda apakah ada yang dapat Anda lakukan untuk mempercepatnya, dan pastikan bahwa konfigurasi php Anda diatur dengan benar.
Saya biasanya tidak menginstal terlalu banyak plugin untuk WordPress, sebagai gantinya saya mencoba menggunakan kerangka kerja tema yang melakukan pekerjaan utama. Memang benar bahwa setiap plugin akan menambah konsumsi sumber daya.
Setiap plugin akan melakukan sesuatu, mereka harus menginisialisasi, sehingga mereka akan menjalankan beberapa kode ketika halaman untuk situs web Anda diminta, belum lagi begitu banyak tautan di panel admin WordPress yang membuatnya lebih sulit untuk memuat.
Mungkin Anda tidak akan melihatnya di hosting bersama dengan 2-3k tampilan halaman sehari, tetapi jika Anda memiliki situs web dengan 3k pengguna aktif yang masing-masing meminta 10 halaman setiap hari mungkin menjadi masalah.
Anda melihat 2 hal yang akan memperlambat situs Anda: 1, pemrosesan dari file ke server, php Anda dan 2, cara penelusuran membaca kode.
Jika kode ini ceroboh, peramban akan berlipat ganda atau tiga kali memeriksa kode sebelum menampilkannya di layar. Jika Anda menggunakan banyak plugin dengan banyak basis data dan atau permintaan server, ini bisa memakan waktu dan jika tidak dibuat dengan benar, mungkin ada konflik dengan permintaan yang dapat menyebabkan waktu tambahan atau lebih buruk, situs Anda tidak memuat dan/atau pesan kesalahan.
rFair404 menyebutkan program caching yang akan membantu dengan permintaan server dan beberapa akan memampatkan kode html dan itu mengingatkan saya, saya perlu mengompres beberapa halaman css.
Saya akan mengatakan bahwa jawabannya adalah keduanya .
Lebih banyak plugin = lebih lambat
Setiap plugin yang Anda aktifkan yang menambahkan file stylesheet dan/atau javascript ke halaman secara dramatis memperlambat situs web Anda.
Bahkan plugin tertulis terbaik akan merobohkan situs Anda jika masing-masing memerlukan file stylesheet dan javascript untuk melakukan sesuatu di ujung depan situs web Anda.
Gabungkan File Anda
Jika Anda menjalankan situs wordpress, Anda berhutang kepada diri Anda sendiri untuk mempelajari cara:
Jika Anda menjalankan situs wordpress dan Anda tidak dapat melakukan hal-hal di atas, maka Anda seharusnya tidak menjalankan situs wordpress ... atau setidaknya Anda tidak boleh mengeluh ketika situs Anda melambat saat Anda memuat lebih banyak plugin.
Selain itu, siapa pun yang menjalankan situs wordpress harus tahu cara:
Plugin yang ditulis dengan buruk = lebih lambat
Cara utama bagi pembuat plugin untuk benar-benar memperlambat situs web Anda adalah sebagai berikut:
Pendek menulis kode yang benar-benar buruk (loop semi-tak terbatas, banyak ekspresi reguler di mana tidak perlu, dll), sebagian besar hal tidak akan memiliki banyak efek ketika Anda mempertimbangkan seberapa besar wordpress sudah. Menambahkan 1% waktu pemrosesan tambahan tidak banyak.
Tugas yang bawaan lambat
Ada beberapa hal yang lambat tidak peduli seberapa baik ditulis:
Tentu saja, ketika dilakukan dengan benar (hasil di-cache, dilakukan sebagai proses latar belakang jika memungkinkan, dll.) Banyak layanan pihak ke-3 dapat digunakan tanpa banyak masalah.