Trang chủ WordpressHướng dẫn Wordpress Làm sạch database của WordPress toàn tập

Làm sạch database của WordPress toàn tập

bởi Thạch Phạm
19 bình luận 14,5K views

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Khi sử dụng WordPress trong thời gian dài, database (cơ sở dữ liệu) của website bạn có thể phình to ra mà trong đó chứa không ít các dữ liệu không cần thiết xen kẽ trong các dữ liệu quan trọng, hoặc không còn sử dụng. Mà database của bạn càng nặng thì các truy vấn sẽ làm việc chậm chạp hơn vì nó phải dò tìm trên một lượng lớn các dữ liệu, trong đó bao gồm các dữ liệu không còn sử dụng.

Các dữ liệu này bao gồm bản nháp bài viết tự động lưu, revision, cookies, dữ liệu của các plugin/theme không còn sử dụng,….Thực tế, các dữ liệu này đa phần bạn sẽ không dùng đến nên bạn có thể xóa chúng đi mà không cần phải lo sợ website bị lỗi.

Trong bài viết này, mình sẽ hướng dẫn bạn từng bước cơ bản và nâng cao trong việc dọn dẹp các dữ liệu không cần thiết trong database của bạn trở nên gọn gàng hơn, nhẹ hơn. Hãy nên nhớ là luôn luôn backup database của website bạn trước khi làm các công việc này.

Xem thêm: Tối ưu bảng wp_options của WordPress.

Khuyến mãi Black Friday

1. Dọn dẹp database với plugin

Trước khi vào các phần can thiệp thủ công vào database, mình muốn nói qua cho bạn biết về cách dọn dẹp database bằng plugin vì nó an toàn hơn, dễ thực hiện.

Trong WordPress có rất nhiều plugin miễn phí có thể hỗ trợ bạn quét sạch mọi dữ liệu rác chỉ với một cú click, điển hình là plugin WP Database Cleaner giúp bạn dọn dẹp các dữ liệu không cần thiết, kể cả các tags chưa có bài viết.

Nhưng nếu bạn có chi phí, mình khuyên các bạn nên dùng plugin Smart Cleanup Tools mà mình đang dùng cho Thachpham.com, vô cùng tốt và hiệu quả, hỗ trợ tự động dọn dẹp database định kỳ.

2. Dọn dẹp database với lệnh SQL

Nguy hiểm là vậy nhưng hiệu quả của nó rất tốt, chỉ cần một chút hiểu biết SQL là bạn sẽ dễ dàng sử dụng nó trong bất kỳ trường hợp nào. Nhưng ở đây, mình chỉ hướng dẫn bạn cách xóa các cookies không cần thiết chứa trong table wp_options vì nó có thể chiếm vài MB của database nếu blog của bạn hoạt động lâu rồi.

Đầu tiên hãy truy cập vào PhpMyAdmin, chọn database mà bạn cần dọn dẹp bên cột trái và ấn nút SQL phía trên để bắt đầu thực thi lệnh.

phpmyadmin-sql

Sau đó copy đoạn này vào bên trong khung chạy lệnh rồi ấn nút Go, nếu bạn dùng prefix database khác với wp_ thì sửa lại nhé. Nó có hỏi thì thì cứ Ok.

[bash]

DELETE FROM `wp_options` WHERE `option_name` LIKE ‘%_transient_%’

[/bash]

phpmyadmin-run-command

Và bây giờ bạn sẽ nhận được thông báo màu xanh hiển thị số dòng mà nó đã xóa đi, ít hay nhiều tùy theo độ lớn database của bạn.

3. Xóa các table của các plugin không còn sử dụng

Một số plugin khi cài vào sẽ “bonus” cho bạn thêm vào table trong database mà khi gỡ ra nó không chịu xóa đi, điều này có thể làm bạn hơi rối mắt.

Do đó, thi thoảng nên kiểm tra xem trong database của bạn có table nào không còn sử dụng hay không. Nếu không thì cứ chọn nó và chọn tác vụ Drop là xong.

phpmyadmin-drop-table

Hãy cẩn thận khi xóa table nhé và chắc chắn bạn nên hiểu mình đang làm gì, cũng đừng nên quên backup database trước khi làm việc này.

4. Tìm và xóa các giá trị database không sử dụng

Nếu bạn đã sử dụng website WordPress trong một thời gian dài, đã từng sử dụng quá nhiều plugin và theme khác nhau thì chắc chắn database của bạn sẽ chứa rất nhiều những giá trị không còn sử dụng đến, ví dụ như các cột giá trị của post meta và các thiết lập tùy chọn tự sản sinh ra trong plugin và theme.

Khi vào database, bạn nên để ý đến table wp_postmeta đầu tiên vì nó sẽ chứa các dữ liệu liên quan đến các dữ liệu vĩ mô của các post, ví như bạn sử dụng các plugin có thiết lập khi đăng bài thì nó sẽ lưu vào đây. Hãy ấn chọn table này và bạn sẽ thấy các giá trị của nó:

lamsachdatabase-postmeta

Bạn hãy để ý phần meta_key, nghĩa là tên của khóa trong custom field. Bạn xem có khóa nào của các plugin mà bạn nghĩ là không còn sử dụng nữa ngoài các khóa của WordPress (luôn bắt đầu là _wp). Chẳng hạn như mình thấy, mình có một số khóa tên essb_hidefb, essb_off và các khóa này mình nghĩ là không còn sử dụng nữa. Vậy thì việc tiếp theo mà mình cần làm đó là tìm toàn bộ các khóa theo tên này xem nó có nhiều không.

Mình chọn lên tab Search ở trên. Ở phần khóa meta_key, mình sẽ nhập một phần tên của khóa cần tìm kiếm và mình sẽ chọn kiểu Operator là LIKE %…% để có thể tìm theo tên tương đồng. Cuối cùng ấn nút Go để nó tìm.

lamsachdatabase-postmeta02

Và bây giờ nó sẽ liệt kê ra toàn bộ danh sách các khóa theo tên mà bạn tìm, bạn sẽ biết được nó có bao nhiêu dữ liệu như vậy.

lamsachdatabase-postmeta03

Nếu bạn cảm thấy cần xóa toàn bộ các dữ liệu này thì hãy copy cái dòng Query ở trên.

lamsachdatabase-postmeta04

Và chuyển qua tab SQL kế bên rồi paste vào, thay chữ SELECT * thành DELETE rồi ấn Go.

lamsachdatabase-postmeta05

Và nó sẽ thông báo có bao nhiêu dữ liệu liên quan tới khóa này đã được xóa.

Các bạn làm tương tự với các table khác nhé. Xin nhắc lại là làm table nào thì hãy chọn table đó rồi làm theo cách 4 này.

Lời kết

Ở trên mình đã chỉ bạn một vài cách làm sạch dữ liệu thừa trong database và sau khi làm xong, bạn chắc chắn sẽ thấy sự thay đổi rõ rệt trong dung lượng database của web mình.

Một database nhẹ có thể vừa giúp bạn tiện lợi trong việc sao lưu, di chuyển mà vừa giúp website xử lý nhanh hơn, hy vọng các tips nhỏ trên sẽ giúp ích bạn trong việc tối ưu database.

3.4/5 - (5 bình chọn)
19 bình luận

Có thể bạn quan tâm

Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng.