Trở về

Hướng dẫn dọn sạch database của WordPress

bởi Vi Nè

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.

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 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.

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.

DELETE FROM `wp_options` WHERE `option_name` LIKE '%_transient_%'

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.

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ó:

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.

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.

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.

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

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.

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.

Chúng tôi tạm dừng chức năng bình luận, mọi thắc mắc vui lòng gửi thông qua mục liên hệ. Xin cám ơn!