[Tối Ưu Database WordPress] Hướng Dẫn Chi Tiết Từng Bước Từ A Đến Z | Thiết Kế Web 39

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

Bài viết này, Thiết Kế Web 39 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_optionswp_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_versionyith_wcwl_frontend_css_colors.

toi-uu-bang-wp-option-trong-wordpress-1

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

toi-uu-bang-wp-option-trong-wordpress-2

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.

toi-uu-bang-wp-postmeta-trong-wordpress-1

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:

huong-dan-toi-uu-hoa-database-website-wordpress-chi-tiet-2

Trong này bạn chỉ cần chú ý đến 2 lựa chọn chính là Cleanup ToolsScheduler.

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:

huong-dan-toi-uu-hoa-database-website-wordpress-chi-tiet-3

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

huong-dan-toi-uu-hoa-database-website-wordpress-chi-tiet-6
  • 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ụ

huong-dan-toi-uu-hoa-database-website-wordpress-chi-tiet-5

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ạnphiê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_sessiontransient 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!

Bài viết tham khảo của bác Nguyenhung.net

Leave a Reply

Your email address will not be published. Required fields are marked *