Cách tối ưu hóa cơ sở dữ liệu WordPress

Tác giả Network Engineer, T.Mười 27, 2021, 04:03:36 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách tối ưu hóa cơ sở dữ liệu WordPress


Cơ sở dữ liệu WordPress của bạn lưu trữ tất cả nội dung trang web của bạn. Điều này bao gồm các bài đăng trên blog, các trang, nhận xét và các loại bài đăng tùy chỉnh như liên kết, mục nhập biểu mẫu và các mục danh mục đầu tư. Nó cũng lưu trữ cài đặt trang web, cài đặt giao diện và cài đặt plugin của bạn.

Nếu bạn cập nhật trang web của mình thường xuyên, cơ sở dữ liệu của bạn sẽ lớn hơn theo thời gian. Cơ sở dữ liệu lớn có thể ảnh hưởng lớn đến hiệu suất của trang web của bạn vì máy chủ của bạn mất nhiều thời gian hơn để truy xuất thông tin từ các bảng cơ sở dữ liệu. Đây là lý do tại sao tối ưu hóa cơ sở dữ liệu rất quan trọng.

Bằng cách loại bỏ dữ liệu không cần thiết, bạn có thể cải thiện hiệu quả của cơ sở dữ liệu và làm cho các trang web của bạn tải nhanh hơn. Hãy để chúng ta xem xét làm thế nào điều này có thể đạt được.

1. Hiểu cơ sở dữ liệu WordPress.

Nếu bạn đang sử dụng WordPress để xuất bản nội dung trên internet, mình tin rằng bạn hiểu rõ về các bảng cơ sở dữ liệu WordPress cốt lõi sẽ có lợi cho bạn, đặc biệt nếu bạn đang có kế hoạch tối ưu hóa cơ sở dữ liệu WordPress của mình.

WordPress hiện có 12 bảng cốt lõi (tất nhiên điều này có thể thay đổi trong một phiên bản WordPress trong tương lai). Hầu hết các trang web WordPress có hàng chục bảng vì các plugin lưu cài đặt và dữ liệu khác trong cơ sở dữ liệu WordPress. Giao diện cũng có thể lưu cài đặt và dữ liệu khác trong cơ sở dữ liệu của bạn.

Nếu bạn kiểm tra cơ sở dữ liệu của riêng mình, bạn sẽ thấy 12 bảng được liệt kê bên dưới. Tất cả các bảng khác trong cơ sở dữ liệu của bạn được tạo theo cách thủ công hoặc được tạo bởi một plugin WordPress hoặc một giao diện WordPress.

Hãy xem mỗi bảng cơ sở dữ liệu lưu trữ những gì:

  • wp_commentmeta - Lưu trữ siêu thông tin về nhận xét
  • wp_comments - Lưu trữ nhận xét của bạn
  • wp_links - Lưu trữ liên kết danh sách blog
  • wp_options - Lưu trữ các tùy chọn được xác định trong khu vực cài đặt quản trị
  • wp_postmeta - Lưu trữ thông tin meta của các bài đăng.
  • wp_posts - Lưu trữ dữ liệu cho các bài đăng, trang và các loại bài đăng tùy chỉnh khác
  • wp_terms - Lưu trữ thẻ đăng và danh mục cho các bài đăng và liên kết
  • wp_termmeta - Lưu trữ thông tin thuật ngữ được gọi là siêu dữ liệu
  • wp_term_relationships - Lưu trữ liên kết giữa các bài đăng và danh mục và thẻ và liên kết giữa các liên kết và danh mục liên kết
  • wp_term_taxonomy - Lưu trữ mô tả về phân loại (danh mục, liên kết hoặc thẻ) được sử dụng trong bảng wp_terms
  • wp_usermeta - Lưu trữ siêu thông tin về người dùng
  • wp_users - Lưu trữ người dùng của bạn

Kiểm tra trang mô tả cơ sở dữ liệu trên   Đăng nhập để xem liên kết để biết thêm thông tin về các bảng cốt lõi của WordPress.

Tổng quan trực quan về cơ sở dữ liệu WordPress cộng với mối quan hệ giữa các bảng được thực hiện trong quá trình cài đặt chuẩn WordPress.


2. Cách tối ưu hóa và sửa chữa cơ sở dữ liệu WordPress.

phpMyAdmin là cách phổ biến nhất để quản lý cơ sở dữ liệu WordPress. Nếu bạn không sử dụng cPanel làm bảng điều khiển lưu trữ của mình, gói lưu trữ của bạn có thể đang sử dụng một công cụ quản lý MySQL khác cho phpMyAdmin. Đừng quá lo lắng về điều này vì hầu hết các công cụ quản lý cơ sở dữ liệu đều có giao diện giống nhau và hoạt động theo cách giống nhau.

Bạn cũng có thể quản lý cơ sở dữ liệu WordPress của mình bằng cách sử dụng một plugin. Mặc dù một plugin WordPress cơ sở dữ liệu có thể giúp việc truy cập cơ sở dữ liệu của bạn đơn giản hơn, nhưng mình khuyên bạn không nên quản lý cơ sở dữ liệu của mình theo cách này vì nó là một rủi ro bảo mật lớn.

phpMyAdmin có thể được tìm thấy trong menu cPanel chính của bạn.


Nếu bạn kiểm tra cơ sở dữ liệu của mình, bạn sẽ thấy hai cột ở cuối: kích thước và overhead. Kích thước của một bảng phụ thuộc vào lượng dữ liệu được lưu trữ trong đó. Nếu nhiều hàng được lưu trữ trong một bảng, kích thước của bảng sẽ tăng lên.

Overhead là không gian đĩa tạm thời được cơ sở dữ liệu của bạn sử dụng để lưu trữ các truy vấn. Theo thời gian, overhead của một bảng sẽ tăng lên.

Việc có overhead trong cơ sở dữ liệu WordPress của bạn là điều hoàn toàn bình thường và nó sẽ không ảnh hưởng đến hiệu suất trừ khi overhead tăng cao (mặc dù số lượng overhead khi thực tế được coi là quá cao là một vùng màu xám).

Kích thước và overhead của cơ sở dữ liệu của bạn được hiển thị ở phía bên tay phải của danh sách bảng.


Lưu ý rằng ảnh chụp màn hình ở trên được lấy từ một cài đặt WordPress mới mà mình đã tạo cho ảnh chụp màn hình. Đó là lý do tại sao tiền tố cơ sở dữ liệu vẫn là wp_. Để làm cho trang web của bạn an toàn hơn, hãy luôn thay đổi tiền tố cơ sở dữ liệu WordPress của bạn thông qua wp-config.php thành một cái gì đó khác.

Tối ưu hóa cơ sở dữ liệu của bạn sẽ loại bỏ overhead và giảm kích thước tổng thể của cơ sở dữ liệu của bạn. Nhiều nhà phát triển lưu ý rằng việc tối ưu hóa cơ sở dữ liệu cũng giống như chống phân mảnh ổ cứng.

Theo thời gian, mọi cơ sở dữ liệu sẽ yêu cầu một số hình thức bảo trì để giữ cho nó ở mức hiệu suất tối ưu. Xóa các hàng đã xóa, sắp xếp lại, nén, quản lý đường dẫn chỉ mục, chống phân mảnh, v.v. là những gì được gọi là TỐI ƯU hóa trong MySQL và các thuật ngữ khác trong cơ sở dữ liệu khác. Ví dụ, IBM DB2 / 400 gọi nó là tổ chức lại thành viên tập tin vật lý (REORGANIZE PHYSICAL FILE MEMBER)

Nó giống như thay dầu trong xe của bạn hoặc điều chỉnh. Bạn có thể nghĩ rằng bạn thực sự không cần phải làm như vậy, nhưng làm như vậy xe của bạn chạy tốt hơn nhiều, bạn sẽ tiết kiệm xăng hơn, v.v. Một chiếc xe đi được nhiều quãng đường đòi hỏi phải điều chỉnh thường xuyên hơn. Một cơ sở dữ liệu được sử dụng nhiều cũng yêu cầu như vậy. Nếu bạn đang thực hiện nhiều thao tác CẬP NHẬT và / hoặc XÓA, và đặc biệt nếu bảng của bạn có các cột có độ dài thay đổi (VARCHAR, TEXT, v.v.), bạn cần phải theo dõi.

Bạn có thể tối ưu hóa các bảng bị ảnh hưởng bởi overhead bằng cách sử dụng lệnh OPTIMIZE TABLE. Ví dụ: bạn có thể tối ưu hóa bảng wp_posts bằng cách thực hiện truy vấn SQL này:

Mã nguồn [Chọn]
OPTIMIZE TABLE 'wp_posts'
Không cần sử dụng lệnh SQL vì phpMyAdmin cho phép bạn tối ưu hóa các bảng từ menu thả xuống. Tất cả những gì bạn cần làm để tối ưu hóa cơ sở dữ liệu của mình là nhấp vào hộp "Check All", chọn "Optimize table" từ menu thả xuống, sau đó nhấp vào nút "Go".

Tối ưu hóa cơ sở dữ liệu WordPress của bạn sẽ loại bỏ mọi overhead được tích lũy lâu ngày.


Khi bạn đã tối ưu hóa cơ sở dữ liệu WordPress của mình, phpMyAdmin sẽ xác nhận rằng các bảng của bạn đã được tối ưu hóa.

phpMyAdmin sẽ xác nhận rằng cơ sở dữ liệu của bạn đã được tối ưu hóa.


Một tùy chọn hữu ích khác mà bạn nên ghi nhớ cho tương lai là "Repair table". Sửa chữa một bảng sẽ giúp bạn sửa một bảng đã bị hỏng.

Sửa chữa một bảng có thể sửa một bảng đã bị hỏng.


WordPress có một công cụ cho phép bạn sửa chữa và tối ưu hóa cơ sở dữ liệu của mình. Bạn có thể tìm hiểu thêm về công cụ này trong phần tối ưu hóa Cơ sở dữ liệu Tự động (Automatic Database Optimizing) của hướng dẫn   Đăng nhập để xem liên kết trên wp-config.php.

Để sử dụng công cụ tối ưu hóa, trước tiên bạn cần thêm dòng này vào tập tin wp-config.php trên trang web của mình.

Mã nguồn [Chọn]
define( 'WP_ALLOW_REPAIR', true );
Khi bạn đã thêm dòng trên vào wp-config.php và lưu tập tin, bạn có thể truy cập công cụ tối ưu hóa tại đường dẫn như sau.

Mã nguồn [Chọn]
http://www.yourwebsite.com/wp-admin/maint/repair.php.
Công cụ tối ưu hóa WordPress cho phép bạn sửa chữa cơ sở dữ liệu của mình hoặc sửa chữa và tối ưu hóa cơ sở dữ liệu của bạn.


Công cụ tối ưu hóa sẽ cố gắng sửa từng bảng cơ sở dữ liệu. Đôi khi, tập lệnh có thể không thể sửa chữa một số bảng nhất định.

WordPress sẽ cố gắng sửa từng bảng cơ sở dữ liệu.


Nếu bạn không sửa chữa thành công cơ sở dữ liệu của mình trong lần thử đầu tiên, chỉ cần chạy lại công cụ tối ưu hóa.

Nếu có bất kỳ sự cố nào trong quá trình sửa chữa, hãy chạy lại tập lệnh sửa chữa.


Nếu bạn chọn "Repair and Optimize Database", WordPress sẽ tối ưu hóa mọi bảng chưa được tối ưu hóa.

Công cụ sẽ tối ưu hóa bất kỳ bảng nào chưa được tối ưu hóa.


Bạn không cần phải đăng nhập để chạy công cụ tối ưu hóa WordPress. Nhược điểm của điều này là bất kỳ ai cũng có thể truy cập tập lệnh của bạn và thực thi nó. Do đó, bạn cần xóa dòng WP_ALLOW_REPAIR khỏi tập tin wp-config.php của mình sau khi bạn đã sử dụng công cụ tối ưu hóa.

3. Cách xóa sự phình to khỏi cơ sở dữ liệu WordPress.

Hầu hết các cơ sở dữ liệu WordPress đều lưu trữ rất nhiều dữ liệu không cần thiết. Sự phình to bổ sung này làm cho các trang web chậm hơn và kém hiệu quả hơn.

Có một số thứ làm tăng khối lượng vào cơ sở dữ liệu trang web của bạn. Tuy nhiên, bằng cách thực hiện theo các phương pháp hay, bạn có thể giảm đáng kể tình trạng phình to, hoặc thậm chí loại bỏ hoàn toàn hiện tượng phình to khỏi trang web của mình.

Chúng ta hãy xem xét các nguyên nhân chính gây ra hiện tượng phình to trong cơ sở dữ liệu WordPress.

3.1. Bản sửa đổi (Revisions)

Hệ thống lưu trữ bảng sửa đổi hay bản nháp của WordPress (WordPress revision system) làm cho nhiều cơ sở dữ liệu WordPress lớn không cần thiết. Được giới thiệu lần đầu trong WordPress 2.6, tính năng này lưu trữ bản sao của mọi bản nháp và cập nhật các bài đăng trên blog của bạn. Đây là một tính năng hữu ích vì nó cho phép bạn khôi phục về các bản sao cũ hơn của bài đăng và kiểm tra các bản nháp trước đó.

Bản sửa đổi cho phép bạn nhìn lại các bản nháp trước đó và xem những thay đổi bạn đã thực hiện.


Thật không may, WordPress không giới hạn số lượng bản sửa đổi được lưu. Nếu bạn đang làm một bài đăng dài, điều này có thể dẫn đến hàng trăm bản sửa đổi được lưu. Mặc dù bài đăng đã xuất bản sẽ chỉ chiếm một hàng trong cơ sở dữ liệu của bạn, nhưng các bản sửa đổi tương ứng có thể sử dụng hàng chục hoặc hàng trăm hàng trong cơ sở dữ liệu của bạn.

Mình là một fan hâm mộ lớn của hệ thống sửa đổi kiểu này, tuy nhiên, mình không tin rằng có bất kỳ lợi ích thực sự nào khi lưu số lượng không giới hạn các bản sửa đổi cho mỗi bài đăng trên blog. Rất may, WordPress cho phép bạn dễ dàng giảm số lượng bản sửa đổi được lưu trữ.

Để giảm số lượng bản sửa đổi được lưu, chỉ cần thêm mã sau vào tập tin wp-config.php của bạn.

Mã nguồn [Chọn]
define( 'WP_POST_REVISIONS', 2 );
Bạn có thể tắt hoàn toàn việc lưu các bản sửa đổi bằng cách thêm mã sau vào tập tin wp-config.php của bạn.

Mã nguồn [Chọn]
define( 'WP_POST_REVISIONS', false );
Mình khuyên bạn không nên vô hiệu hóa hoàn toàn các bản sửa đổi bài đăng. Mặc dù vô hiệu hóa các bản sửa đổi chắc chắn sẽ làm giảm kích thước cơ sở dữ liệu của bạn, nhưng nó sẽ loại bỏ hệ thống an toàn mà các bản sửa đổi cung cấp. Do đó, trong trường hợp bạn đóng trình duyệt do lỗi hoặc mất kết nối Internet, bạn có thể mất mọi thứ bạn đã làm kể từ lần lưu cuối cùng của bản nháp.

Việc giảm số lượng bản sửa đổi được lưu hoặc tắt hoàn toàn các bản sửa đổi bài đăng không ảnh hưởng đến các bản sửa đổi đã được lưu. Do đó, các bản sửa đổi bài đăng được đính kèm với các bài đăng trên blog cũ hơn sẽ vẫn được lưu trữ trong cơ sở dữ liệu của bạn.

Sau khi một bài báo đã được xuất bản, không cần phải giữ lại các bản sửa đổi bài cũ hơn, do đó bạn có thể muốn xem xét việc xóa tất cả các bản sửa đổi khỏi các bài báo đã xuất bản. Có một số plugin WordPress cho phép bạn thực hiện việc này (bạn cũng có thể xóa các bản sửa đổi bằng MySQL, tuy nhiên bạn nên biết rằng sự cố có thể xảy ra nếu bạn không sử dụng đúng lệnh).

Ví dụ: mình đã sử dụng plugin Optimize Database after Deleting Revisions vào đầu năm nay để giảm kích thước cơ sở dữ liệu blog của mình xuống 59%.

Plugin này cho phép bạn xác định số lượng bản sửa đổi được lưu. Nó cũng cho phép bạn xóa các mục đã chuyển vào thùng rác, các mục spam, các thẻ không sử dụng và các tập tin chuyển tiếp đã hết hạn. Các bảng cơ sở dữ liệu cụ thể có thể bị xóa khỏi quá trình tối ưu hóa.

Plugin Optimize Database after Deleting Revisions cũng có một bộ lập lịch. Nó có thể được sử dụng để tự động tối ưu hóa trang web của bạn mỗi giờ một lần, hai lần một ngày, một lần một ngày hoặc một lần một tuần.

Plugin Optimize Database after Deleting Revisions có tính năng lập lịch sẽ tối ưu hóa cơ sở dữ liệu của bạn theo các khoảng thời gian đã định.


Mình cũng muốn nói ngắn gọn về tính năng lưu tự động. Tính năng tự động lưu của WordPress sẽ lưu một lần tự động lưu bài viết của bạn sau mỗi 60 giây. Khoảng thời gian này có thể được thay đổi bằng cách thêm mã sau vào tập tin wp-config.php của bạn.

Mã nguồn [Chọn]
define( 'AUTOSAVE_INTERVAL', 160 ); // Seconds
Rất nhiều blogger đã khuyên nên tắt tính năng lưu tự động vì tính năng lưu tự động sẽ lưu nhiều bản sao của các bài đăng và trang của bạn. Đó là sự hiểu nhầm và điều đó là không đúng sự thật. Autosave chỉ lưu một bản sao bài viết của bạn và sẽ không sử dụng nhiều chỗ trong cơ sở dữ liệu của bạn.

Tính năng tự động lưu là một tính năng an toàn không quan trọng sẽ giúp bạn nếu bạn mất kết nối Internet hoặc đóng trình duyệt do nhầm lẫn. Tính năng này không sử dụng nhiều dung lượng trong cơ sở dữ liệu của bạn, do đó mình khuyến khích bạn tiếp tục kích hoạt và sử dụng nó.

3.2. Các bình luận rác (Spam Comments)

Nếu trang web của bạn nhận được nhiều bình luận rác, bạn có thể thấy rằng các nhận xét spam đang chiếm nhiều dung lượng trong cơ sở dữ liệu của bạn. Theo mặc định, các bình luận spam sẽ tự động bị xóa sau 30 ngày, tuy nhiên, trong thời gian đó, chúng có thể chiếm hàng trăm hoặc thậm chí hàng nghìn hàng trong bảng wp_coments của bạn.

Một plugin chống bình luận rác tốt có thể ngăn chặn nhiều người gửi bình luận rác bằng cách theo dõi hành vi của họ để giảm số lượng bình luận rác mà bạn nhận được.

Akismet là một giải pháp tốt vì nó cho phép bạn loại bỏ các bình luận rác rõ ràng để nhận xét đó bị xóa khỏi cơ sở dữ liệu của bạn ngay lập tức (mặc dù hãy lưu ý rằng các nhận xét hợp pháp cũng có thể bị xóa tự động).

Akismet cho phép bạn loại bỏ các bình luận rác rõ ràng.


Giờ đây, không cần sử dụng plugin vì WordPress đã thêm nút "Empty Spam" vào trang bình luận rác cho phép bạn xóa vĩnh viễn tất cả các bình luận rác ngay lập tức.

Bình luận rác có thể bị xóa chỉ bằng một nút bấm.


Những kẻ gửi bình luận rác có xu hướng nhắm mục tiêu các bài viết cũ có thứ hạng tốt trong các công cụ tìm kiếm. Do đó, bạn có thể giảm đáng kể lượng bình luận rác mà trang web của bạn nhận được bằng cách tắt bình luận về các bài viết cũ hơn một số ngày cụ thể. Cài đặt này nằm trong trang Discussion Settings trong khu vực quản trị WordPress.

Việc đóng các bình luận trên các bài viết cũ hơn có thể làm giảm đáng kể lượng bình luận rác mà trang web của bạn nhận được.


Bình luận rác cũng có thể bị xóa bằng lệnh SQL sau.

Mã nguồn [Chọn]
DELETE FROM wp_comments WHERE comment_approved = 'spam'
Tất cả các bình luận đang chờ phê duyệt có thể bị xóa bằng cách sử dụng lệnh SQL sau.

Mã nguồn [Chọn]
DELETE FROM wp_comments WHERE comment_approved = '0'
Vì bây giờ bạn có thể xóa tất cả thư rác bằng cách sử dụng nút "Empty Spam" được hiển thị trong trang bình luận rác, nên không có lợi ích thực sự nào khi sử dụng truy vấn SQL để xóa thư rác khỏi cơ sở dữ liệu của bạn.

3.3. Các mục đã xóa.

Bất cứ khi nào bạn xóa một mục trong WordPress, chẳng hạn như một bài đăng blog, trang, hình ảnh, nhận xét hoặc liên kết; nó được gửi vào thư mục thùng rác. Đây là một hệ thống an toàn khác từ WordPress giúp bạn không thể vô tình xóa các mục. Nếu bạn muốn, hệ thống cho phép bạn khôi phục các mục hiện đang nằm trong thùng rác.

Trừ khi bạn đang xóa nhiều mục thường xuyên, bạn không cần phải lo lắng về dung lượng các mục đã xóa sẽ chiếm dụng trong cơ sở dữ liệu của bạn. Tuy nhiên, cần phải hiểu cách thức hoạt động của hệ thống thùng rác, đặc biệt nếu bạn phải xóa hàng trăm hoặc hàng nghìn mục khỏi trang web WordPress (cho dù đó là bài đăng, nhận xét, hình ảnh hoặc bất cứ thứ gì).

Các mục đã xóa sẽ tiếp tục được lưu trữ trong cơ sở dữ liệu của bạn cho đến khi thùng rác được dọn sạch. Theo mặc định, các mục trong thùng rác sẽ bị xóa vĩnh viễn sau 30 ngày.

Có thể thay đổi số ngày trước khi dọn sạch thùng rác bằng cách thêm mã sau vào tập  tin wp-config.php của bạn.

Mã nguồn [Chọn]
define( 'EMPTY_TRASH_DAYS', 5 ); // 5 days
Hệ thống thùng rác có thể bị vô hiệu hóa hoàn toàn bằng cách thêm dòng mã sau vào tập tin wp-config.php của bạn.

Mã nguồn [Chọn]
define( 'EMPTY_TRASH_DAYS', 0 ); // Zero days
Mình không tin rằng tắt hệ thống thùng rác là một động thái tốt vì nó có nghĩa là bạn không thể khôi phục bất kỳ mục nào đã bị xóa do nhầm lẫn. Thực tế hơn là chỉ cần giảm số ngày trước khi thùng rác bị xóa.

3.4. Lưu trữ dữ liệu tạm thời trong WordPress (WordPress Transients)

WordPress Transient cung cấp cho các nhà phát triển một cách lưu trữ dữ liệu tạm thời trong cơ sở dữ liệu WordPress. Các bản ghi tạm thời được lưu trữ trong bảng tùy chọn WordPress.

Các bản ghi tạm thời hết hạn có thể thêm vào cơ sở dữ liệu của bạn và làm cho trang web của bạn chạy chậm hơn. Có một số plugin giúp bạn quản lý các bản ghi tạm thời của mình và xóa các bản ghi tạm thời đã hết hạn không còn cần thiết nữa.

Plugin WordPress Transient Cleaner có một tùy chọn để xóa các quá trình lưu trữ dữ liệu tạm thời đã hết hạn và xóa tất cả các quá trình lưu trữ dữ liệu tạm thời. Delete Expired Transients cũng cung cấp chức năng này và plugin cho phép bạn thiết lập nhiệm vụ hàng ngày để xóa các quá trình lưu trữ dữ liệu tạm thời hết hạn.

Transients Manager cho phép xem các quá trình lưu trữ dữ liệu tạm thời đang được sử dụng trên trang web của bạn.


Transients Manager là một trong những giải pháp tốt nhất để xem các quá trình lưu trữ dữ liệu tạm thời của bạn. Nó cho phép bạn xem, chỉnh sửa và xóa các các quá trình lưu trữ dữ liệu tạm thời. Tuy nhiên, plugin không có bất kỳ tùy chọn nào để xóa hàng loạt các tập tin các quá trình lưu trữ dữ liệu tạm thời đã hết hạn.

Quá trình lưu trữ dữ liệu tạm thời không phải là điều bạn cần phải lo lắng thường xuyên, tuy nhiên, bạn nên kiểm tra chúng định kỳ để xác minh rằng chúng không ảnh hưởng đến hiệu suất.

3.5. Các bảng của Plugin và giao diện không được sử dụng.

99% tất cả các plugin WordPress lưu trữ cài đặt và dữ liệu trong cơ sở dữ liệu WordPress của bạn. Thật không may, khi bạn gỡ cài đặt một plugin WordPress, thông tin này sẽ không bị xóa.

Đây là do thiết kế. Nếu dữ liệu bị xóa mỗi khi bạn hủy kích hoạt một plugin, bạn sẽ phải cấu hình lại plugin khi bạn kích hoạt lại nó. Bạn cũng sẽ mất bất kỳ báo cáo hoặc nội dung nào mà plugin đã tạo.

Tuy nhiên, nếu bạn đã quyết định ngừng sử dụng plugin hoặc nếu bạn chỉ đơn giản là thử nghiệm một plugin, bạn sẽ muốn xóa tất cả dữ liệu khi gỡ cài đặt plugin. Một số lượng nhỏ các plugin WordPress bao gồm một tùy chọn trên trang cài đặt của chúng để xóa tất cả dữ liệu, mặc dù phần lớn các plugin không có tùy chọn này.

Do đó, cơ sở dữ liệu WordPress có thể tích lũy rất nhiều sự bổ sung phình to theo thời gian. Không có gì lạ khi một cơ sở dữ liệu WordPress chứa hàng chục bảng cho các plugin đã bị xóa cách đây vài tháng, hoặc thậm chí nhiều năm trước.

Các giao diện WordPress cũng lưu trữ các cài đặt trong cơ sở dữ liệu WordPress và các cài đặt này sẽ vẫn còn trong cơ sở dữ liệu của bạn khi bạn chuyển đổi giao diện.

WPDBSpringClean đánh dấu các bảng không sử dụng trong cơ sở dữ liệu của bạn.


Các bảng không sử dụng có thể được xóa khỏi cơ sở dữ liệu của bạn theo cách thủ công thông qua một công cụ quản lý cơ sở dữ liệu như phpMyAdmin. Tuy nhiên, ngay cả khi bạn đã hiểu rõ về 11 bảng WordPress cốt lõi, bạn sẽ khó phân biệt bảng nào từ các plugin đang hoạt động và bảng nào từ các plugin đã gỡ cài đặt.

3.6. Các plugin bổ sung sự phình to của cơ sở dữ liệu WordPress.

Mỗi plugin bạn cài đặt trên trang web của mình sẽ làm tăng kích thước của cơ sở dữ liệu trang web của bạn. Dung lượng mà một số plugin sử dụng trong cơ sở dữ liệu của bạn là không đáng kể, nhưng một số plugin WordPress có thể thêm rất nhiều trọng lượng vào cơ sở dữ liệu của bạn.

Bất cứ khi nào bạn cài đặt một plugin WordPress mới, bạn nên xem lại lượng tải mà nó đặt trên CPU của máy chủ và dung lượng lưu trữ mà nó sử dụng trong cơ sở dữ liệu của bạn.

Các loại plugin WordPress sau đây được biết đến là nơi lưu trữ nhiều dữ liệu trong cơ sở dữ liệu.

  • Plugin Anti-Spam - Để bảo vệ trang web của bạn, nhiều plugin chống thư rác lưu thông tin như địa chỉ IP và địa chỉ email. Ví dụ: Akismet lưu trữ rất nhiều dữ liệu trong bảng WP_CommentMeta.

  • Các plugin bảo mật - Cũng giống như các plugin chống spam, các plugin bảo mật theo dõi nhiều thông tin về những kẻ gửi bình luận rác và tin tặc.

  • Plugin thống kê - Plugin WordPress cung cấp lưu lượng truy cập và báo cáo phân tích cần lưu trữ lượng lớn dữ liệu trong cơ sở dữ liệu trang web của bạn. Điều này bao gồm lượt xem, lượt truy cập, quốc gia, trình duyệt, hệ điều hành, liên kết giới thiệu, từ khóa, v.v.

  • Các Plugin Bài viết Liên quan và Bài viết Phổ biến - Các plugin WordPress giới thiệu các bài đăng khác nổi tiếng là sử dụng nhiều CPU và nhiều bộ nhớ cơ sở dữ liệu. Những loại plugin này cần lưu trữ nhiều dữ liệu trong cơ sở dữ liệu của bạn, chẳng hạn như số lượt thích, lượt chia sẻ và lượt xem mà mỗi trang trên trang web của bạn đã nhận được.

  • Các Plugin Theo dõi Liên kết - Hầu hết các giải pháp theo dõi liên kết đều cung cấp cho bạn tùy chọn theo dõi số lượng nhấp chuột vào các liên kết của bạn. Điều này rất hữu ích để hiểu thói quen của khách truy cập và xem lưu lượng truy cập đi dẫn đến đâu. Thật không may, việc theo dõi lượt truy cập có thể chiếm nhiều dung lượng trong cơ sở dữ liệu của bạn.

Một số nhà phát triển nhận thức được thực tế là các plugin của họ sử dụng rất nhiều dung lượng lưu trữ. Đó là lý do tại sao một số nhà phát triển bao gồm một tùy chọn trong plugin của họ để xóa dữ liệu.

Ví dụ: mình theo dõi các liên kết bằng Pretty Link. Plugin này cho phép bạn vô hiệu hóa hệ thống theo dõi được tích hợp sẵn. Ba thiết lập theo dõi cũng có sẵn: Theo dõi bình thường, cấu hình theo dõi mở rộng cung cấp nhiều số liệu thống kê hơn nhưng hiệu suất chậm hơn và tùy chọn theo dõi lần nhấp đơn giản cung cấp ít số liệu thống kê hơn nhưng hiệu suất tốt hơn.

Số liệu thống kê cũng có thể bị xóa khỏi khu vực cài đặt. Plugin này cho phép bạn xóa tất cả các lần truy cập hoặc lượt truy cập trong vòng 30 hoặc 90 ngày qua.

Các plugin WordPress khác cho phép bạn đặt lại dữ liệu và xóa các bảng mà plugin đã thêm vào. Tuy nhiên, nói chung, hầu hết các plugin không có tùy chọn xóa tất cả dữ liệu.

Nếu một plugin đang sử dụng nhiều dung lượng lưu trữ trong cơ sở dữ liệu của bạn hoặc làm chậm trang web của bạn đáng kể, hãy xóa nó. Mình chỉ khuyên bạn nên giữ lại một plugin WordPress làm chậm trang web nếu nó cần thiết cho sự thành công của một trang web. Tuy nhiên, mình tin rằng luôn có các giải pháp thay thế có sẵn cho người dùng WordPress.

4. Cách tối ưu hóa cơ sở dữ liệu của bạn bằng plugin WordPress.

Trong suốt bài viết này, mình đã đưa ra lời khuyên về cách tối ưu hóa cơ sở dữ liệu của bạn bằng cách sử dụng phpMyAdmin và wp-config.php. Nếu ý nghĩ sử dụng phpMyAdmin khiến bạn lo lắng, bạn có thể thích sử dụng plugin WordPress để tối ưu hóa cơ sở dữ liệu của mình. Có một số tùy chọn tốt có sẵn.

4.1. Plugin Hummingbird.

Tùy chọn đầu tiên là sử dụng plugin rất tốt đó là Hummingbird

Ngoài một bộ lớn các tính năng tối ưu hóa WordPress từng đoạt giải thưởng, Hummingbird bao gồm công cụ dọn dẹp cơ sở dữ liệu (Hummingbird > Advanced Tools > Database Cleanup) với lập lịch dọn dẹp tự động và các chú giải công cụ hữu ích cho bạn biết loại dữ liệu không cần thiết mà bạn đang xóa khỏi cơ sở dữ liệu của WordPress.

Tự động làm sạch cơ sở dữ liệu của bạn chỉ với một cú nhấp chuột với plugin Hummingbird.


4.2. Plugin WP-Optimize.

WP-Optimize có thể được sử dụng để xóa các bản sửa đổi bài đăng, bản nháp, nhận xét spam, nhận xét chưa được phê duyệt, nhận xét trong thùng rác, tùy chọn tạm thời, pingback và trackback. Nó cũng bao gồm một trang hiển thị kích thước dữ liệu, kích thước chỉ mục và overhead của mỗi bảng cơ sở dữ liệu.

WP-Optimize là một trong những plugin tối ưu hóa được tải xuống nhiều nhất trên   Đăng nhập để xem liên kết.


4.3. Plugin WP-DBManager.

Một plugin WordPress tối ưu hóa phổ biến khác là WP-DBManager. Nó là một plugin có nhiều tính năng cho phép bạn tối ưu hóa và sửa chữa cơ sở dữ liệu của mình. Các bản sao lưu tự động của trang web của bạn cũng có thể được cấu hình.

WP-DBManager là một plugin tốt, nhưng từ quan điểm bảo mật, mình sẽ cẩn thận khi sử dụng nó vì plugin này cũng cho phép bạn làm trống bảng, xóa bảng và chạy các truy vấn MySQL. Do đó, bất kỳ ai truy cập vào trang web của bạn bằng các phương pháp độc hại sẽ có thể gây ra nhiều thiệt hại.


Mình đã giúp nhiều chủ sở hữu trang web trong những năm qua với các vấn đề liên quan đến WordPress. Đáng buồn thay, dường như rất ít người thực hiện các bước để giữ cho cơ sở dữ liệu trang web của họ hoạt động hiệu quả.

Thực sự không có lý do gì cho điều này vì chỉ mất vài phút để cấu hình chính xác một trang web WordPress.

Đây là những gì mình làm trên các trang web WordPress của mình để giữ cho cơ sở dữ liệu của chúng được tối ưu hóa:

  • Giảm số lượng sửa đổi bài đăng xuống còn hai bằng cách thêm define( 'WP_POST_REVISIONS', 2 ); vào tập tin wp-config.php
  • Áp dụng các biện pháp chống bình luận rác mạnh mẽ để giảm đáng kể số lượng bình luận rác được thêm vào cơ sở dữ liệu của mình.
  • Xem lại bất kỳ mục nào mà mình xóa và sau đó xóa chúng vĩnh viễn (thay vì giữ các mục trong thùng rác)

Mình cũng kiểm tra cơ sở dữ liệu của mình định kỳ thông qua phpMyAdmin. Điều này cho mình cơ hội để tối ưu hóa các bảng cơ sở dữ liệu và loại bỏ bất kỳ bảng cơ sở dữ liệu nào không sử dụng.

Đối với một số trang web WordPress, mình đã giảm số ngày các mục nằm trong thùng rác từ 30 xuống còn 5. Tuy nhiên, mình thường không thực hiện bước này vì mình có thói quen xóa các mục vĩnh viễn.

Để giảm số lượng truy vấn đến cơ sở dữ liệu của mình, mình cài đặt một plugin WordPress bộ nhớ cache. Điều này không làm giảm kích thước cơ sở dữ liệu của mình, nhưng nó gây ít căng thẳng hơn cho máy chủ MySQL của mình và đảm bảo các trang của mình được tải nhanh chóng.

Bạn có tối ưu hóa cơ sở dữ liệu của mình không? Nếu có thì bạn thực hiện những bước nào? Hãy chia sẻ kình nghiệm của bạn với mọi người trong bình luận dưới đây.