Nội dung
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Khi bạn vận hành một website lớn, dữ liệu là điều bạn đáng quan tâm. Bảo trì, và tối ưu database để website hoạt động nhanh hơn, tăng lượt tương tác và dữ chân khách hàng. Một website sử lý chậm sẽ hoàn toàn mất điểm, và người dùng sẽ lãng quên bạn. Tăng thời gian sử lý trang web đồng nghĩa bạn có một website thân thiện. Bài hôm nay mình sẽ đưa ra những phương pháp giúp bạn kiểm soát dung lượng CSQL một cách tốt nhất.
Theo thời gian, CSQL WordPress của bạn sẽ phát sinh những dữ liệu thừa, cài đặt plugins không dùng đến trước đó có thể tạo thêm các bảng, dữ liệu này không được sử dụng sẽ lãng phí tài nguyên và chúng có thể xóa đi mà không làm ảnh hưởng đến trang web.
Giảm kích thước database, sẽ giảm thời gian tải trang và cải thiện tốc độ website của bạn đáng kể. Trong bài viết này, mình sẽ sử dụng một database có kích thước 286.3 MB làm ví dụ.
Giảm kích thước CSQL
Sao lưu CSQL
Đầu tiên, bạn cần sao lưu CSQL WordPress của mình, bước này quan trọng trong quá trình thực hiện nếu bạn gặp rủi ro. Bạn có thể sử dụng plugin WP-DB Manager để tạo bản sao lưu database, plugin này có tùy chọn linh hoạt bạn có thể sử dụng nó nếu cần chạy một vài lệnh SQL , xóa nội dung bảng, xóa table..
Vô hiệu hóa & xóa plugins WordPress không sử dụng
Bước tiếp theo, vô hiệu hóa hoặc xóa plugins WordPress không sử dụng. Vào trang quản lý danh sách plugins đang sử dụng trên WordPress blog và vô hiệu hóa những plugin không cần thiết.
Mục tiêu của chúng ta hôm nay là tối ưu hóa CSQL. Việc hủy kích hoạt plugins không sử dụng giúp phần nào loại bỏ dữ liệu thừa, tuy nhiên bạn cũng cần xóa thư mục plugins của nó.
Xóa bình luận spam, Posts và Revisions
Những bình luận bạn đánh spam và những nội dung bị xóa tạm hãy xóa chúng đi. Cũng như với các bài viết trong thùng rác (Trash) và các phiên bản revisions bạn có thể xóa chúng toàn bộ, sẽ không gây dư thừa cho dữ liệu của bạn. Để thực hiện điều này, bạn có thể sử dụng plugin Advance WordPress database cleaner.
Tìm và xóa bảng không sử dụng
Plugin WP-Advance-DB-cleaner sẽ giúp bạn tìm các bảng CSDL thừa không được liên kết sử dụng trong WordPress. Đây là một bước khá quan trọng và chỉ thực hiện khi bạn chắc chắn về tên bảng mà bạn không sử dụng. Nếu bạn không rõ, thì có thể bỏ qua bước này. Lưu ý: vô hiệu hóa plugin sau khi thực hiện chức năng này.
Xóa dữ liệu meta từ CSDL
Công việc này mình có thực hiện một năm cách đây và gợi ý bạn nên sử dụng. Bạn sẽ nhận thấy nhiều trường tùy chỉnh meta_keys trong phần tùy chọn Custom Field khi sửa Post. Vấn đề bạn tạo ra nhiều giá trị này nhưng không sử dụng, nó có thể được thêm từ những giao diện WordPress cũ hoặc bạn chạy thử nghiệm plugin
Để loại bỏ giá trị trường tùy chỉnh từ database, bạn đăng nhập vào phpMyadmin từ cPanel và tìm bảng “_postmeta” ở cột bên trái.
Tiếp theo, bạn chọn dòng “meta_key” và nhấn vào biểu tượng duyệt như hình trên. Bạn sẽ thấy toàn bộ giá trị meta_key, như thế này:
Ví dụ trên, meta_key `articleimg` có 2 dòng. Nghĩa là trường tùy chỉnh này được sủ dụng trong 2 hình ảnh. Bạn có thể tìm chúng ở 2 bài viết hoặc xóa giá trị này từ CSDL. Để cho các bạn hiểu rõ hơn, mình sẽ sử dụng tính năng Search để tìm ra 2 giá trị ‘articleimg’.
Nhấn “Search”:
Trang tiếp theo, nhạp giá trị bạn muốn tìm vào ô ‘value’ tương ứng với dòng meta_key. Sau đó nhấn nút Go để bắt đầu tìm, bây giờ bạn chỉ đơn giản chọn dòng kết quả tìm thấy và nhấn vào xóa.
Theo cách này bạn có thể gỡ bỏ tất cả những trường tùy chỉnh không sử dụng đến.
Giảm kích thước CSDL với lệnh SQL
Một trong số bảng MySQL là nguyên nhân chính của việc tăng dung lượng database là wp_commentmeta được phát sinh từ plugin Akismet.
Trước khi thực hiện, tối ưu sau đây. Dung lượng của bảng này là 146 MB. Sau khi tối ưu bạn chỉ còn 16 MB. Sử dụng 2 lệnh SQL sau đây:
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments); DELETE FROM wp_commentmeta WHERE meta_key LIKE '%akismet%';
Chú ý: đổi tiền tố bảng WordPress của bạn trước khi chạy 2 lệnh sql trên. Bạn cũng sử dụng thêm 2 câu lệnh này để giảm kích thước DB cho Posts.
DELETE FROM wp_postmeta WHERE meta_key = "_edit_lock"; DELETE FROM wp_postmeta WHERE meta_key = "_edit_last";
Xóa bảng MySQL WordPress không sử dụng
Một lần nữa, nếu bạn không hiểu rõ về các tables trong CSDL WordPress của mình, thì có thể bỏ qua hoặc sử dụng plugin WP-DB Manager. Trên giao diện plugin, bạn sẽ tìm thấy tùy chọn “Empty/Drop Table” và một danh sách các bảng có trong DB sẽ được liệt kê, hãy xóa table được tạo bởi plugins, theme cũ mà bạn không dùng đến.
Ví dụ, mình sẽ xóa table `wp_roostsettings`, nó được tạo bởi 1 plugin.
Tắt Autosave
WordPress tự động lưu Post sau mỗi 2 phút và lưu chúng dưới dạng revision. Tất cả những revisions của một Post sẽ ghi thêm, nhân bản vào DB và làm tăng kích thước CSDL của bạn.
Nếu bạn viết một bài văn dài, bạn cần tắt tính năng Autosave trong WordPress là điều kiên quyết. Thêm vào dòng sau của tệp functions.php
function disableAutoSaveCompletely() { wp_deregister_script('autosave'); } add_action( 'wp_print_scripts', 'disableAutoSaveCompletely' );
Kết luận
CSDL là nới lưu trữ mọi thứ từ bài viết, cấu hình website, bình luận,..Một database cồng kềnh đồng nghĩa mỗi khi tải trang sẽ mất một thời gian lấy để truy tìm dữ liệu. Đó là lý do tại sao bạn cần tối ưu WordPress DB. Sủ dụng plugin WP-DB manager hoặc WP optimize plugin là cách dễ dàng giúp bạn khôi phục, sửa chữ , tối ưu và sao lưu WordPress DB của bạn.
Hãy cho mình biết suy nghĩ của bạn trong phần bình luận bên dưới bài viết này. Hãy theo dõi kênh chia sẻ kiến thức WordPress của Hoangweb trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype