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
13 bình luận 7485 views
Khuyến mãi hosting

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.

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.


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

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.

13 bình luận

Có thể bạn quan tâm

0 0 vote
Article Rating
guest
13 Comments
mới nhất
cũ nhất đánh giá nhiều
Inline Feedbacks
View all comments
Việt Anh

Mình thật sự gặp vấn đề với wp postmeta, xóa mãi ko hết

[…] Những ai là lập trình viên thì chắc chắn không xa lạ gì với việc tất cả dữ liệu của bảng wp_option trong WordPress sẽ tải ra hết một lượt cho mỗi lần website tải. Điều này có nghĩa là nếu bạn kiểm tra database mà thấy bảng này có dung lượng lớn thì cần nên xem lại và tối ưu. Mình đã có một bài viết khá chi tiết về việc này tại đây. […]

[…] Những ai là lập trình viên thì chắc chắn không xa lạ gì với việc tất cả dữ liệu của bảng wp_option trong WordPress sẽ tải ra hết một lượt cho mỗi lần website tải. Điều này có nghĩa là nếu bạn kiểm tra database mà thấy bảng này có dung lượng lớn thì cần nên xem lại và tối ưu. Mình đã có một bài viết khá chi tiết về việc này tại đây. […]

[…] việc dọn dẹp database mà mình đã trình bày ở lần trước, chúng ta còn một cách khác nhưng cũng rất […]

[…] việc dọn dẹp database, chúng ta còn một cách khác nhưng cũng rất quan trọng đó là tối ưu lại bảng […]

[…] việc dọn dẹp database, chúng ta còn một cách khác nhưng cũng rất quan trọng đó là tối ưu lại bảng […]

tienhm

Dung lượng an toàn cho database khoảng tầm bao nhiêu MB thì vừa anh nhỉ? Web em chả hiểu sao mới có 1 năm mà đã lên đến 100MB rồi. Huhu

CoTvn

Nhờ có bác thạch phạm khuyên dùng WP Database Cleaner mà em đã bat sạch toàn bộ data website. Thật vi diệu <3

may photocopy xerox

Anh thachpham ơi. Có thẻ cho em hỏi 1 câu hỏi ngoài lề 1 chút được không ạ. Em đã xem cấu trúc code của website thachpham.com của anh. Và các heading có cấu trúc ví dụ: title Vậy anh thachpham có thể giúp em làm được như thế này không ạ. Em thấy anh là 1pro SEO đi đầu trong các thuật toán hihi. Mong anh giúp đỡ

Luc

Em cung co van de nhu bác này.
Em bó tay toàn tập với cái headings

văn trường

em có lên xóa hết các bản ghi trong bảng wp_options với giá trị cột autoload = no không, và xóa hết đi có ảnh hưởng gì không ?
cảm ơn ad nhiều

Click Here

Tốt nhất là không nên làm vậy nha bạn

Vương

Xị chào Ad! Mình cài xong WP Database Cleaner nhưng mình chưa biết sử dụng plugin này sao cho hiệu quả!? Ad có bài nào hướng dẫn chi tiết không ạ?! Cảm ơn Ad!!

13
0
Would love your thoughts, please comment.x
()
x