Tối ưu hóa database cho website là việc cần làm để có thể tăng tốc load website giúp cho trải nghiệm người dùng tốt hơn từ đó dẫn đến việc SEO web dễ dàng hơn. Thường thì sau 1 thời gian sử dụng database (cơ sở dữ liệu) website WordPress của bạn sẽ tăng dung lượng lên dần.
Trong data chứa các thông tin bài viết, page, các bản nháp, dữ liệu của plugin và theme sau khi cài thêm vào, sau này dù bạn có xóa theme và plugin đi thì nó vẫn còn các bảng trong đó nếu bạn không tự tay xóa đi.
Vậy làm thế nào để xóa các bảng không cần thiết trong database đi, làm thế nào để tối ưu database để giảm dung lượng của database xuống. Nhất là với những website bán hàng sử dụng WooCommerce thì sau 1 thời gian trong bảng wp_options
sẽ có rất nhiều wc_session
và transient
.
Bài viết này, Nguyễn Hùng sẽ hướng dẫn các bạn cách tối ưu hóa database website WordPress một cách chi tiết nhất để bạn có thể làm giảm dung dượng database website mà không sợ bị lỗi database.
Hướng dẫn tối ưu database WordPress
Trước khi làm theo cách hướng dẫn tối ưu database bên dưới đây thì mình vẫn phải nhắc các bạn là nhớ backup lại database đề phòng trong quá trình làm các bạn thao tác nhầm ảnh hưởng đến data nhé. Sau khi backup xong thì chúng ta mới bắt đầu thực hiện nhé.
Tham khảo: Hướng dẫn backup website WordPress tự động bằng plugin miễn phí
Trong bài này mình sẽ hướng dẫn các bạn cách tối ưu database dựa trên website bán hàng mà mình đang làm nhé. Chủ yếu tập trung vào tối ưu 2 bảng có dung lượng data lớn là wp_options
và wp_postmeta
.
Tối ưu bảng wp_options của WordPress
Bảng wp_options
là nơi chứa hầu hết các thông số cài đặt của web, việc bạn cài plugin, cài theme hay cấu hình các widget cũng sẽ được lưu lại ở đây.
Cứ lâu dần bảng wp_options
sẽ phình to với rất nhiều dữ liệu, nếu bạn không tối ưu, xóa bỏ những dữ liệu không cần thiết thì web của bạn sẽ bị chậm dần.
Để tối ưu bảng wp_options
bạn truy cập vào PhpMyadmin sau đó chọn đúng database cần tối ưu và mở bảng wp_options
lên.
Đến đây thì bạn có biết phải xóa hàng nào và giữ hàng nào đúng không? Mình sẽ chỉ cho bạn cách để tìm và xóa những hàng không cần thiết. Mình sẽ ví dụ như sau cho các bạn dễ hiểu nhé.
Trong bảng wp_options
bạn để hiển thị mặc định là 25 hàng/ 1 trang thì 3-4 trang đầu sẽ là các hàng mặc định của WordPress nên bạn bỏ qua không được xóa.
Bắt đầu từ các trang tiếp theo, bạn rà soát từng dòng theo thông tin ở cột option_name
. Giả sử, trong hình dưới bạn thấy các hàng có thông tin là: revslider_table_version
và yith_wcwl_frontend_css_colors
.
Bạn không biết những hàng đó sinh ra từ đâu? Hãy copy thông tin đó và search trên Google bạn sẽ thấy các thông tin liên quan đến nó.
Ví dụ mình search “revslider_table_version” và kết quả mình nhận thấy đó là dữ liệu của plugin trả phí là Slider Revolution. Tiếp theo, tìm kiếm từ khóa “yith_wcwl_frontend_css_colors” mình thấy đó là thông tin liên quan đến plugin YITH WooCommerce Wishlist.
Bây giờ, kiểm tra xem trên web các plugin Slider Revolution và plugin YITH WooCommerce Wishlist có đang được sử dụng không. Nếu plugin nào không được kích hoạt sử dụng hãy xóa hết data của nó đi.
Bạn thấy các hàng lân cận nó cũng có các điểm chung như vậy thì chắc chắn là data được sinh ra từ 1 plugin, theme nào đó rồi. Bạn cũng chọn và xóa hết nó đi.
Ngoài ra để lọc và xóa các hàng liên quan 1 cách nhanh hơn bạn làm như sau. Lấy ra 1 từ khóa chung nhất ví dụ ở trên mình lấy từ khóa “yith_wcwl“. Sau đó click lên menu Tìm kiếm ở trên.
Ở hàng option_name, chọn kiểu LIKE %…% và nhập từ khóa “yith_wcwl” vào ô giá trị. Sau đó ấn Thực hiện để lọc các hàng có chứa ký tự “yith_wcwl“.
Khi các hàng tương tự xuất hiện bạn chọn tất cả rồi ấn xóa là xong.
Bạn thực hiện thao tác tương tự với các hàng khác cho đến khi rà soát hết các hàng trong bảng wp_options
.
Tối ưu bảng wp_postmeta trong WordPress
Tương tự như bảng wp_options, bảng wp_postmeta là nơi chứa các dữ liệu liên quan tới các bài viết, thông tin sản phẩm. Nếu bạn có nhiều bài viết thì bảng này gần như chiến dung lượng lớn nhất trong database của web.
Để tối ưu bảng này, bạn mở nó lên và để ý thông tin bên cột meta_key
. Hãy kiểm tra các thông số đó bằng cách search trên Google tương tự như mình đã hướng dẫn ở phần tối ưu bảng wp_options
ở trên.
Ngoài ra, bạn cần lưu ý tới các khóa mặc định của WordPress không được xóa bao gồm:
_edit_last _edit_lock _menu_item_classes _menu_item_menu_item_parent _menu_item_object _menu_item_object_id _menu_item_orphaned _menu_item_target _menu_item_type _menu_item_url _menu_item_xfn _wp_attached_file _wp_attachment_backup_sizes _wp_attachment_image_alt _wp_attachment_metadata _wp_page_template
Và các khóa có chứa _wp
thì bạn không nên xóa nếu không biết rõ nó là gì.
Tối ưu dung lượng database với plugin
Việc sử dụng plugin sẽ giúp các bạn có thể quét sạch các dữ liệu rác trong database một cách an toàn hơn, dễ thực hiện hơn chỉ với 1 click.
Plugin dọn dẹp database trong WordPress thì có rất nhiều. Với plugin miễn phí thì điển hình có thể kể đến plugin WP-Optimize nó giúp xóa sạch các dữ liệu không cần đến. Plugin này tính đến hiện tại đã có tới hơn 800,000+ lượt tải xuống.
Nhưng nếu các bạn có kinh phí thì mình khuyên các bạn nên dùng plugin Smart Cleanup Tools mà mình đang sử dụng cho tất cả các website của mình. Nó giúp dọn dẹp rác trong databse rất hiệu quả và rất đáng đồng tiền.
Hoặc bạn có sử dụng plugin WP Rocket để tạo cache thì nó cũng có tích hợp thêm phần dọn dẹp database cơ bản đó.
Tham khảo thêm: 5 plugin WordPress miễn phí cần thiết phải có cho blog
Hướng dẫn sử dụng plugin Smart Cleanup Tools
Vì mình đang sử dụng plugin này nên tiện thể mình hướng dẫn luôn. Còn với plugin WP-Optimize mình đã gỡ bỏ nên không tiện hướng dẫn, bạn có thể tự tìm hiểu cũng rất dễ thôi nhé.
Sau khi mua về bạn cài đặt plugin bình thường. Sau đó sẽ thấy plugin Smart Cleanup Tools trên menu trong Admin như sau:
Trong này bạn chỉ cần chú ý đến 2 lựa chọn chính là Cleanup Tools và Scheduler.
Trong đó:
– Cleanup Tools là công cụ giúp dọn dẹp database ngay lập tức. Sau khi click vào bạn sẽ thấy giao diện như sau:
Bạn tích chọn vào Active ở các mục muốn xóa như xóa các bạn nháp của bài viết (Draft Posts), RSS Feeds Cache,…Sau đó click Run Cleanup để xóa.
Sau khi xóa xong bạn sẽ thấy bảng thống kê các mục được xóa và dung lượng đã dọn dẹp được.
– Scheduler: Lên lịch dọn dẹp databse định kỳ.
Click chọn Create New Job để tạo 1 lịch trình dọn dẹp mới. Bạn chỉ cần thiết lập như hình dưới
- Job Title: Tên của lịch trình.
- Schedule: Chọn chu kỳ dọn dẹp theo ngày, tuần, tháng.
- First Run: Ngày đầu tiên chạy dọn dẹp.
Các khung bên phải bạn chọn tùy ý các mục cần dọn dẹp bằng cách tick vào Active. Sau đó nhất Save Job để lưu lại.
Tối ưu database website bán hàng sử dụng WooCommerce
Khi bạn sử dụng Woocommerce để làm website bán hàng trong Wordprees, sau 1 thời gian với lượng khách hàng truy cập lớn lên dần thì database của bạn cũng sẽ lớn dần theo. Lúc đó bạn sẽ có cảm giác website càng ngày càng chậm. Vậy nên việc cần làm là bạn nên tối ưu lại database để cho dung lượng giảm xuống.
Cách để tối ưu database cho website bán hàng dùng Woocommerce rất đơn giản như sau.
Bạn vào Admin chọn Woocommerce -> Tình trạng hệ thống -> Công cụ
Trong này bạn xóa hết bộ nhớ đệm tạm thời, bộ nhớ đệm tạm thời đã hết hạn và phiên truy cập của khách hàng. Việc này sẽ làm giải phóng rất nhiều dung lượng cho database cua bạn đó.
Theo mình thấy với web của mình cũng có kha khá lượng truy cập thì bộ nhớ đệm tạm thời và các phiên truy cập nó sẽ tạo ra các wc_session
và transient
lên tới hàng chục nghìn dòng trong wp_options
.
Như mình vẫn thường làm là cứ đầu tháng mình sẽ vào xóa hết các bộ nhớ đệm và phiên truy cập để giải phóng dung lượng database.
Cuối cùng mình xem lại dung lượng database thì mình đã dọn bớt được 31Mb và giờ chỉ còn 19Mb dung lượng databse. Từ 50Mb xuống còn 19Mb, thật quá ấn tượng đúng không nào.
Xem thêm: [Tăng tốc WordPress] Những việc cần tối ưu để giúp trang web load nhanh hơn
Lời kết
Vậy là xong. Với hướng dẫn cách tối ưu database cho blog, trang tin tức hay website bán hàng sử dụng WooCommerce trong WordPress như trên hi vọng là bạn có thể tối ưu được cho website của mình.
Nếu bạn thấy chia sẻ của mình hữu ích hãy like và share bài viết ủng hộ mình nhé. Còn bạn có cách nào tối ưu hay hơn nữa thì chia sẻ với mọi người ở khung bình luận phía dưới nhé. Chúc bạn thành công!
Công nhận làm theo bạn mà bây giờ bộ nhớ còn trống khá nhiều. lúc đầu bộ nhớ đầy 85% thực hiện xong giờ chỉ 35% thôi. Bài viết rất hay. Thanks bạn nhiều nhé
Cảm ơn bạn 🙂 Nhớ ghé thăm nguyenhung.net thường xuyên để cập nhật bài viết mới nhé