Bagaimana Cara Menghapus Uninstall Plugin WordPress Sepenuhnya
Bagaimana cara supaya kita bisa benar – benar bisa menguninstall plugin wordpress? Mungkin sebagian orang hanya menonnaktifkannya saja, kemudian menghapusnya.
Selesai, Begitu kan?
Sayangnya tidak semua bisa selsesai begitu saja.
Plugin kita bisa menginstall menyimpan data dimana – mana tetapi sayangnya, tidak semua programer membuat script untuk menghapus semua data tersebut.
Jadi, akan ada data tertinggal disana. Hasilnya tentu saja membuat space cepat penuh serta mungkin membebani sistem.
Kira – kira plugin apa saja yang meninggalkan data?
Biasanya, plugin yang meminta input pengguna banyak yang menyimpan data.
Biasanya, plugin – plugin sebagai berikut akan menyimpan data. Meskipun plugin tipe lain juga ada yang menyimpan data.
Tipe plugin penyimpan data:
Daftar Isi
-
Plugin Form.
-
Plugin Cookie / Cache.
-
Plugin SEO.
-
Plugin Keamanan.
Dimana plugin biasanya menyimpan data?
Database wp_options menyimpan data mengenai plugin yang aktif serta setingan mereka.
Beberapa plugin bahkan membuat Custom Database Tables.
Beberapa files dan folder didalam folder wp-content mungkin dibuat oleh plugin juga.
Sekarang, kita harus tahu apa standard wordpress. Dalam arti, file standar yang ada di wordpress.
Untuk instalasi baru wordpress, biasanya ada tables sebagai berikut:
File standar wordpress:
wp_commentmeta
wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_termmeta
wp_terms
wp_term_relationships
wp_term_taxonomy
wp_usermeta
wp_users
File standard wordpress multisite:
wp_blogs
wp_blog_versions
wp_registration_log
wp_signups
wp_site
wp_sitemeta
Untuk prefix di database wordpress kita, mungkin saja bukan berupa: wp_ lagi jika kita tidak membuatnya berupa wp_ dari awal. Atau, bisa juga diubah oleh plugin kita.
Tetapi, kita asumsikan saja prefix database kita masih berupa wp_
Jika kita wordpress kita multisite, maka akan ada 10 an tabel lagi yang dimulai dengan wp_2_ dan sebagainya.
Isi folder wp-content standar:
Awalnya, folder ini hanya berisi index.php dan 2 subfolder lain:
plugins
themes
Untuk instalasi wordpress yang sudah jadi, biasanya akan ada subfolder lain yang mungkin berupa:
Isi folder wp-content non standar:
languages
mu-plugins
upgrade
uploads
Jika ada subfolder lain didalamnya, mungkin dibuat oleh plugin kita.
Plugin yang memiliki uninstaller di wp-admin:
-
Plugin Gravity Form
-
Plugin Wordfence
Untuk plugin Gravity Form: Apa yang disimpan?
Plugin ini membuat 9 tabel database baru berupa:
wp_rg_form
wp_rg_form_meta
wp_rg_form_view
wp_rg_incomplete_submissions
wp_rg_lead
wp_rg_lead_detail
wp_rg_lead_detail_long
wp_rg_lead_meta
wp_rg_lead_notes
Bagaimana cara meng – uninstallnya:
Ke Forms –> Setting –> uninstall
Klik tombolnya dan kemudian klik OK.
Masuk ke halaman plugin dan delete plugin bersangkutan.
Apakah semua data tadi dihapus?
Kesembilan data / tabel database diatas sudah dihapus. Tetapi ada yang tertinggal di tabel wp_options.
Plugin Wordfence: Apa yang disimpan?
Plugin i ni membuat 23 tabel database.
wp_wfBadLeechers
wp_wfBlockedCommentLog
wp_wfBlockedIPLog
wp_wfBlocks7
wp_wfConfig
wp_wfCrawlers
wp_wfFileChanges
wp_wfFileMods
wp_wfHits
wp_wfHoover
wp_wfIssues
wp_wfKnownFileList
wp_wfLeechers
wp_wfLocs
wp_wfLogins
wp_wfNet404s
wp_wfNotifications
wp_wfPendingIssues
wp_wfReverseCache
wp_wfScanners
wp_wfSNIPCache
wp_wfStatus
wp_wfVulnScanners
Plus, kita juga mendapatkan file wflogs di folder wp-content kita.
Kita bisa menghapus plugin inisecara manual atau menggunakan plugin Wordfence Assistant.
Jika menggunakan plugin, kita nonaktifkan plugin dan dan hapus biasa. Kemudian kita gunakan Wordfence assistant untuk menghapus semua data dan tabel.
Apakah semua terhapus?
Dengan plugin ini, file dan databse bisa terhapus lebih sempurna.
Plugin yang memiliki script uninstall
Plugin yang dibuat dengan baik memiliki script untuk menghapus instalasinya.
Misal:
Plugin Broken Link Checker menghapus 4 tabel database.
Relevanssi menghapus 3 tabel yang dibuatnya.
WP Rocket juga memiliki script untuk instalasi data, file dan tabel secara lengkap. Tetapi scriptnya sendiri akan tertinggal di wordpress kita.
Cara menghapus plugin dengan cara yang lain
Untuk plugin yang tidak memiliki script untuk menghapusnya, kita mengikuti saran pembuatnya untuk menghapusnya. Jika tidak ada saran apapun, kita harus menghapusnya secara manual.
NextGEN Gallery.
Ini adalah plugin terkenal dan membuat 3 tabel
wp_ngg_album
wp_ngg_gallery
wp_ngg_pictures
Selain tabel diatas, plugin ini juga membuat sebuah folder ngg di wp-sontent.
Kita harus menghapus semua secara manual.
WooCommerce.
Plugin ini membuat 16 tabel sebagai berikut:
wp_wc_download_log
wp_wc_webhooks
wp_woocommerce_api_keys
wp_woocommerce_attribute_taxonomies
wp_woocommerce_downloadable_product_permissions
wp_woocommerce_log
wp_woocommerce_order_itemmeta
wp_woocommerce_order_items
wp_woocommerce_payment_tokenmeta
wp_woocommerce_payment_tokens
wp_woocommerce_sessions
wp_woocommerce_shipping_zones
wp_woocommerce_shipping_zone_locations
wp_woocommerce_shipping_zone_methods
wp_woocommerce_tax_rates
wp_woocommerce_tax_rate_locations
Plugin WooCommerce ini juga memberi saran untuk menambahkan sebuah baris di wp-config.php supaya bisa dibersihkan secara lengkap.
// Remove all data from WooCommerce on uninstall
define( ‘WC_REMOVE_ALL_DATA’, true)
Tetapi, hasil penghapusan plugin ini masih belum sempurna.
Plugin – plugin yang meninggalkan data di wordpress.
Ada beberapa plugin yang meninggalkan dat di wordpress setelah proses uninstal.
-
Akismet.
Plugin ini menyimpan komentar di tabel wp_sommentmeta. Dan, tergantung kepada banyak pengunjung situs kita, jumlah komentar bisa mencapai ribuan hingga puluhan ribu baris.
-
EWWW Image Optimizer.
Plugin ini menyimpan data tentang path ke gambar beserta detail ukuran sebelum dan sesudah kompresi.
Tabelnya masih ada jika plugin kita uninstall. Selain itu, ada folder ewww juga.
-
WP All Export.
Ada 4 tabel yang tidak bisa hilang saat plugin diuninstall. Yaitu:
wp_pmxe_exports
wp_pmxe_google_cats
wp_pmxe_posts
wp_pmxe_templates
Tabel – tabel diatas tidak hilang saat plugin diuninstall.
-
Yoast SEO
Ada 2 tabel
wp_yoast_seo_links
wp_yoast_seo_meta
Ada beberapa data:
wp_usermeta yang berisi beberapa nilai meta key. Misalnya wpseo_tittle.
wp_postmeta yang memuat beberapa meta key untuk berbagai id di posting kita. File – file yang ada disini antara lain adalah:
_yoast_wpseo_linkdex
_yoast_wpseo_title
_yoast_wpseo_metadesc
_yoast_wpseo_focuskw
_yoast_wpseo_focuskw_text_input
_yoast_wpseo_primary_category
_yoast_wpseo_content_score
Semua data diatas masih tertinggal saat proses uninstall.
Tutorial / panduan cara membersihkan plugin wordpress secara lengkap.
Yang pertama, kita backup file dan database kita.
-
Menghapus halaman.
Jika plugin tadi membuat halaman, harap diingat halaman tersebut jika belum terhapus saat uninstall.
Kemudian, kita gunakan redirect 301 atau redirect permanen.
-
Menghapus tabel database.
Setiap tabel yang bukan bawaan wordpress biasanya adalah tabel buatn plugin. Cara untuk menghapusnya adalah lewat panel phpMYadmin kita.
Gunakan perintah drop, atau tombol merah disisi kanan daftar tabel – tabel tadi untuk menghapusnya.
-
Konfirmasikan. Klik Ok.
Alternatif lainnya adalah menggunakan plugin Advanced Database Cleaner. Untuk melihat tabel kita di wordpress.
Untuk versi pro, ada opsi untuk melihat tabel yang tidak punya fungsi. Untuk tabel lain, kita bisa menghapusnya jika merasa tidak membutuhkannya.
-
Menghapus file ganda di sistem kita.
Kita cek file – file kita. Jika ternyata ada yang tidak dikenal atau dibutuhkan, maka bisa kita hapus.
misalnya:
EWWW Image optimizer membuat folder ewww.
NextGEN Gallery menambahkan 2 folder sejkaligus – gallery and ngg.
WP Rocket menambahkan advanced-cache.php dan sebuah cache folder.
-
Mengecek file .htaccess.
Kita backup semuanya sebelumnya. Ini adalah file penting. Kita akan mengganti beberapa baris di dalam .htaccess kita.
Kita mencari tanda taggar (#) yang diikuti nama plugin dan hapus file diantaranya. Jika sudah, kita upload file hasil editannya.
-
Membersihkan transient dan cron job.
Data transient adalah data sementara wordpress Catatan wordpress update dan pemberitahuannya disimpan di transient ini. Transient ini biasanya sih diseting untuk kadaluarsa setelah waktu tertentu. Dan, untuk dibuat ulang lagi.
Kita bisa menggunakan plugin Transient Manager untuk melihat plugin mana yang membuat transient dan apa saja dibuatnya.
Tetapi, menghapus transient ini tidak akan menghapus semua transient. Yang milik wordpress masih ada.
Cron Job adalah tugas terjadwal yang dapat dijalankan oleh server hosting. Untuk wordpress, wordpress bisa menjalankannya melalui wp-cron.
Kita bisa menggunakan plugin WP Control untuk melihat cron jobs yang sedang berjalan dan kapan akan dilaksanakan.
Tetapi, nama cron job tidak selalu tergantung nama plugin. Setiap developer plugin memberi nama sendiri – sendiri. Jika kita tidak yakin akan apa yang perlu kita lakukan, jangan dihapus.
-
Membersihkan database Tabel.
-
Akismet:
Kita bisa menggunakan cara pembersihan ini untuk membersihkan akismet secara teratur. Bahkan saat kita masih menggunakan akismet.
Kita pasangkan
select * from wp_commentmeta where meta_key like “%akismet_% di wp_commentmeta.
Jika kita sudah mengganti prefix wp_ dengan yang lain, maka query diatas juga perlu kita ganti.
Jika menemukan beberapa baris komentar yang disimpan, kita akan jalankan query sebagai berikut:
delete from wp_commentmeta where meta_key like “%akismet_%”;
Jika sudah dihapus, maka tabel wp_commentmeta akan menjadi lebih ringan.
Yoast SEO.
Silahkan menggunakan query sebagai berikut:
select * from wp_postmeta where meta_key like “%yoast%”;
Setelah menemukan data Yoast di wp_postmeta, kita lanjtkan dengan query sebagai berikut:
delete from wp_postmeta where meta_key like “%yoast%”;
Untuk wp_usermeta, kita bisa mencoba dengan:
select * from wp_usermeta where meta_key like “%yoast%”;
delete from wp_usermeta where meta_key like “%yoast%”;
- Tabel wp_options.
Kebanyakan plugin meninggalkan beberapa hal di wp_options. Kita bisa membersihkannya dengan menghapus langsung barus yang berkaitan dengan plugin yang ingin kita hapus.
// Ganti nama plugin menjadi nama plugin yang ingin kita hapus.
select * from wp_options where option_name like “%pluginname%”;
delete from wp_options where option_name like “%pluginname%”;
Untuk banyak kasus, hal semacam ini bisa dilakukan. Tetapi, pada beberapa kasus lain, nama baris berbeda dengan nama plugin. Misal:
- EWWW Image Optimizer: menjadi ewwwio
- NextGEN Gallery: Menjadi ngg
- WooCommerce: menjadi wc
Kesimpulan:
Menghapus plugin wordpress mungkin tidak sesederhana penampakan luarnya. Jika asal menghapus, situs bisa tetap menjadi berat saat loading.