Xóa plugin WordPress: cách dọn sạch cả DB còn sót lại sau khi xóa trên màn hình quản trị

Thông báo tiếp thị liên kết Ver 3.1
Thông báo tiếp thị liên kết Ver 3.2 (chỉ trên di động)

Xóa plugin WordPress chỉ cần một nút trên màn hình quản trị, nhưng bảng và thiết lập mà plugin tạo ra thường vẫn còn nguyên trong cơ sở dữ liệu. Website này cũng vẫn còn 8 bảng và 38 dòng tùy chọn của hai plugin quảng cáo và bình luận đã xóa từ trước, tính đến 2026-10-09.

Bài viết tổng hợp lần lượt từ cách xóa plugin trên màn hình quản trị đến cách dọn shortcode, thư mục và DB còn sót lại.

1️⃣ Xóa plugin trên màn hình quản trị

Trong [Plugins] > [Plugin đã cài đặt], trước tiên nhấn [Vô hiệu hóa], rồi nhấn [Xóa] xuất hiện trên cùng dòng đó.

Xóa plugin WordPress - trang quản trị

Nếu plugin có mã dọn dẹp, mã này sẽ chạy cùng lúc đó; nếu không có, chỉ các tệp bị xóa còn dữ liệu vẫn ở lại.

2️⃣ Vì sao xóa rồi dữ liệu vẫn còn

Khi xóa một plugin, WordPress chạy tệp [uninstall.php] của plugin đó hoặc hàm đã đăng ký bằng [register_uninstall_hook]. Việc xóa dữ liệu được giao cho đoạn mã này, nên plugin không có mã đó, hoặc có mã nhưng chỉ xóa một phần, sẽ để lại bảng và tùy chọn.

Cũng có trường hợp nhà phát triển cố ý để lại dữ liệu, để khi cài lại thì thiết lập được khôi phục nguyên như cũ. Có những plugin như Wordfence đặt sẵn tùy chọn xóa cả dữ liệu trong màn hình cài đặt, và plugin đa ngôn ngữ Polylang cũng cung cấp tùy chọn tương tự.

Xóa và vô hiệu hóa plugin WordPress - plugin Wordfence có tùy chọn xóa
Tùy chọn xóa của plugin Wordfence

3️⃣ Ảnh hưởng của dữ liệu còn sót lại đến website

Trong số các tùy chọn còn sót lại, những dòng bật [autoload] được nạp vào bộ nhớ cùng các thiết lập khác mỗi khi mở trang. Trên website này, [wc_options] (15KB) của wpDiscuz và [advanced-ads-ab-module] (14KB) của Advanced Ads là những dòng như vậy.

Tuy nhiên, tổng autoload của website này khoảng 392KB, trong đó các dòng còn sót lại chỉ khoảng 39KB, nên không tạo ra khác biệt tốc độ đáng kể. Màn hình [Tình trạng website] của WordPress hiển thị cảnh báo khi tổng autoload vượt quá 800KB.

Sau khi tắt autoload cho 23 dòng còn sót lại, [Autoload size] của Advanced Database Cleaner giảm từ 391.52KB xuống 353.36KB.

Advanced Database Cleaner Autoload size 391.52KB (trước khi dọn)
Advanced Database Cleaner Autoload size 353.36KB (sau khi dọn)

Bình thường thì điều này không thành vấn đề. Khách truy cập nhận trang đã được cache thì không đi qua PHP, nên chỉ những yêu cầu không qua cache như màn hình quản trị, lượt truy cập đầu tiên ngay sau khi xóa cache hoặc bot mới nạp gói autoload. Khi những yêu cầu như vậy dồn đến cùng lúc, gói autoload sẽ được bung vào bộ nhớ bằng đúng số yêu cầu, nên website có autoload càng lớn thì tải server càng tăng nhanh.

Các tùy chọn đã tắt autoload và các bảng còn sót lại sẽ không được đọc khi không còn plugin đó, nên không liên quan đến tốc độ; chúng chỉ làm tăng dung lượng cơ sở dữ liệu và kích thước bản sao lưu.

4️⃣ Xóa những dấu vết còn lại

Trước khi động vào cơ sở dữ liệu, hãy sao lưu toàn bộ trước.

🔲 Shortcode

Shortcode mà plugin chèn vào bài viết sẽ lộ ra trong nội dung nguyên dạng chữ trong dấu ngoặc vuông khi plugin bị xóa. Cho đến khi sửa xong từng bài, hãy thêm dòng dưới đây vào [functions.php] của theme để shortcode đó không xuất ra gì.

add_shortcode( 'pluginshortcode', '__return_false' );

Website này cũng từng dùng khoảng 10 shortcode của một plugin bảng; khi xóa plugin đó vì vấn đề bảo mật, shortcode và bảng đã được dọn từng cái một, và từ đó website không dùng shortcode nữa.

🔲 Thư mục plugin

Thư mục nào không xóa được từ màn hình quản trị thì hãy xóa trực tiếp trong [wp-content/plugins] qua FTP, cPanel hoặc SSH.

🔲 Bảng · hàng trong DB (phpMyAdmin)

Hầu hết các hosting đều cung cấp phpMyAdmin.

WordPress phpMyAdmin - đường dẫn sau khi chọn bảng

Với các bảng còn sót lại, hãy tìm bảng có tên plugin trong tab [Cấu trúc] rồi xóa. Dưới đây là màn hình lấy Yoast SEO làm ví dụ.

WordPress phpMyAdmin - cách tìm và xóa bảng trong tab Cấu trúc

Với các hàng như tùy chọn, hãy tìm trong tab [Tìm kiếm] bằng cách thêm ký tự đại diện [%], chẳng hạn [%yoast%].

WordPress phpMyAdmin - cách tìm và xóa hàng trong tab Tìm kiếm 1
WordPress phpMyAdmin - cách tìm và xóa hàng trong tab Tìm kiếm 2

Lọc thêm một lần nữa bằng ô [Số hàng] (Filter rows) để kiểm tra xem các hàng đó có chỉ liên quan đến Yoast SEO hay không.

WordPress phpMyAdmin - cách tìm và xóa hàng trong tab Tìm kiếm 3

Các hàng chủ yếu còn lại trong [wp_options], [wp_postmeta] và [wp_usermeta], và tiền tố [wp_] ở đầu tên bảng có thể khác nhau tùy website. Nếu chỉ nhìn tên mà xóa, bạn có thể xóa luôn cả những dòng mà plugin khác đang dùng, nên chỉ xóa những dòng đã xác nhận được là của plugin nào.

5️⃣ Plugin dọn dẹp DB

Nếu muốn dọn dẹp ngay trên màn hình quản trị thay vì dùng phpMyAdmin, hãy dùng Advanced Database Cleaner. Website này cũng đang dùng plugin này; vì nó cho biết mỗi tùy chọn và mỗi bảng thuộc plugin nào qua [Belongs to], bạn có thể lọc ra những dòng có thể xóa.

Những dòng có [Belongs to] là [Not scanned yet] không phải là dòng không dùng đến, mà là dòng chưa xác định được chủ. Trên website này, nhiều cái tên lạ hóa ra là giấy phép và thiết lập của các plugin đang bật như Kadence Blocks Pro và WP Ghost; xóa những dòng như vậy sẽ khiến giấy phép bị hủy kích hoạt hoặc thiết lập bị đặt lại.

Vì vậy, kể cả là dòng của plugin đã xóa, đừng xóa ngay mà hãy tắt autoload trước. Giá trị vẫn được giữ nguyên nên có thể khôi phục bất cứ lúc nào, và nếu website không gặp vấn đề gì trong vài ngày thì khi đó mới xóa.

Tùy chọn còn sót lại của plugin đã xóa: autoload auto
Tùy chọn còn sót lại của plugin đã xóa: autoload off

WP-Optimize cũng có thể xóa các bảng còn sót lại ngay trong bản miễn phí.

Plugin WP-Optimize: xóa các bảng cơ sở dữ liệu còn sót lại
Tính năng xóa bảng DB của WP-Optimize
Plugin (biển neon phát sáng trên tường đá)

🔢 FAQ & nội dung đề xuất

WordPress chỉ nạp các plugin đang kích hoạt, nên mã của plugin đã vô hiệu hóa không chạy khi mở trang. Tuy nhiên, chừng nào tệp còn nằm trên server thì bạn vẫn phải tiếp tục cập nhật, nên nếu không định dùng lại thì hãy xóa.

Plugin đang kích hoạt sẽ không hiện [Xóa], nên trước tiên hãy nhấn [Vô hiệu hóa]. Nếu vẫn không thấy, hãy kiểm tra xem trong wp-config.php có đặt [DISALLOW_FILE_MODS] là true hay không; nếu giá trị này được bật, việc cài đặt, cập nhật và xóa plugin đều bị chặn. Trên multisite, chỉ quản trị viên cấp cao (Super Admin) mới xóa được plugin.

[wp plugin uninstall tên_plugin --deactivate] vô hiệu hóa plugin, chạy mã dọn dẹp của plugin rồi xóa luôn cả tệp. [wp plugin delete] chỉ xóa tệp mà không chạy mã dọn dẹp, nên nếu muốn dọn cả dữ liệu, hãy dùng uninstall.

Các tệp trong thư mục [wp-content/mu-plugins] là plugin phải dùng (must-use), luôn chạy mà không cần bước kích hoạt, nên màn hình quản trị không có liên kết [Xóa] cho chúng. Muốn gỡ, hãy xóa trực tiếp tệp trong thư mục đó qua FTP hoặc SSH.

ℹ️ Thông báo tiếp thị liên kết
Nội dung trên trang này có chứa liên kết affiliate (tiếp thị liên kết). Khi khách truy cập mua sản phẩm hoặc dịch vụ qua các liên kết này, trang sẽ nhận hoa hồng từ bên bán. Trong quá trình đó, số tiền người mua phải trả (sẽ giảm khi có chương trình khuyến mãi ↓) không hề tăng lên. Giá, khuyến mãi và tình trạng hàng được đăng theo thời điểm viết bài và có thể khác với thực tế, vì vậy hãy kiểm tra lại lần cuối với bên bán trước khi mua. Việc chọn và đánh giá sản phẩm dựa trên tiêu chí riêng của trang; việc có nhận hoa hồng hay không không ảnh hưởng đến thứ tự giới thiệu hay nội dung đánh giá.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Prove your humanity: 10   +   4   =