Categories Database

Tối ưu hóa CSDL của WordPress bằng plugin WP-Optimize

plugin wp-optimize

Plugin WP-Optimize là công cụ hiệu quả giúp chúng ta dọn dẹp cơ sở dữ liệu (CSDL) của WordPress một cách tự động và nhờ thế trang web đạt tới hiệu suất tối đa.

Đây là plugin tôi thích sử dụng kết hợp với vài plugin khác như WP Fastest Cache (tạo trang tĩnh), EWWW Image Optimizer (tối ưu hóa hình ảnh), Autoptimize (tối ưu hóa HTML, CSS, JS) và AMP for WordPress (tối ưu hóa cho kết nối internet di động) để đem đến tốc độ website tốt nhất (*).

(*): Lưu ý, bên cạnh các plugin trên, tôi có một số gợi ý khác để các bạn tham khảo:

Cập nhật: vật đổi sao rời, giờ thì tôi có thể thực hiện hầu hết các chức năng tối ưu hóa ảnh, CSS, JS, tạo trang tĩnh và thậm chí là cả database với plugin có chất lượng cao có tên LiteSpeed cache. Riêng về tối ưu CSDL thì WP-Optimize vẫn có khả năng tốt hơn LiteSpeed cache ở mặt nào đó.


#1. Các chức năng chính

  • Loại bỏ tất cả các dữ liệu không cần thiết (ví dụ như các bình luận spam, không phê duyệt, trong thùng rác, dữ liệu cũ) cộng với các tùy chọn bổ sung pingbacks, trackbacks.
  • Nén/chống phân mảnh bảng MySQL chỉ với một nút nhấn.
  • Kiểm soát chi tiết, cụ thể việc tối ưu hóa nào bạn muốn thực hiện.
  • Thực hiện việc tối ưu hóa, dọn dẹp hàng tuần (hoặc theo thời khóa biểu khác mà bạn muốn).
  • Thực hiện việc tối ưu hóa mà không cần chạy các truy vấn thủ công.
  • Tự động kích hoạt backup dữ liệu trước khi tối ưu hóa thông qua plugin UpdraftPlus.
  • Hiển thị thống kê cho cơ sở dữ liệu và dự đoán dung lượng tiết kiệm được.
  • Giao diện di động thân thiện và dễ sử dụng.
  • Được dịch ra một số ngôn ngữ.

#2. Plugin WP-Optimize giúp bạn

  • Mở rộng không gian: Khi bạn chỉnh sửa bài post hoặc page trên website của bạn, WordPress tự động lưu các bản revision mới vào cơ sở dữ liệu. Nếu bạn chỉnh sửa bài nào đó nhiều lần (và đặc biệt trong trường hợp bài đó dài), cơ sở dữ liệu của bạn sẽ nhanh chóng đầy lên với nhiều bản revision cũ không có nhiều công dụng và lấy đi không gian lưu giữ giá trị. Plugin WP-Optimize loại bỏ các bản revision không cần thiết, đem lại nhiều megabytes dữ liệu giá trị và làm tăng tốc độ cũng như hiệu năng. Nó cũng dọn dẹp bảng dữ liệu chứa bình luận, loại bỏ tất cả spam và các bình luận không phê duyệt chỉ với một cú nhấp chuột.
  • Kiểm soát: WP-Optimize báo cáo chính xác bảng cơ sở dữ liệu nào đang lãng phí không gian, cung cấp cho bạn cái nhìn sâu, khả năng tùy chỉnh để giữ trang web nhanh và đạt hiệu suất cao.
  • Giữ mọi thứ sạch sẽ, thông thoáng: Khi được bật, WP-Optimize có thể quét sạch dữ liệu rác tự động theo lịch trình, giữ lại dữ liệu một số tuần theo ý muốn của bạn.

Khi bạn sử dụng plugin này lần đầu tiên hoặc nó mới cập nhật, bạn hãy backup cơ sở dữ liệu của mình (chúng tôi khuyên bạn dùng UpdraftPlus). Mặc dù không sử dụng truy vấn nguy hiểm nào, nhưng backup cơ sở dữ liệu lúc nào cũng là thực hành tốt trước khi bạn thực hiện bất cứ thay đổi nào với cơ sở dữ liệu.


#3. Nó giúp bạn như thế nào?

  • Các bảng dữ liệu trong MySQL (cơ sở dữ liệu mà WordPress sử dụng) theo thời gian sẽ trở nên kém hiệu quả khi dữ liệu được thêm vào, loại bỏ, và di chuyển tới lui. Yêu cầu MySQL tối ưu bảng dữ liệu của nó càng sớm và lặp lại điều này sẽ giúp trang web của bạn chạy nhanh nhất có thể. Điều đó sẽ không tự xảy ra, bạn cần dùng plugin để thực hiện.
  • Mỗi khi bạn lưu bài viết mới, WordPress tạo một bản revision của bài viết đó. Nếu bạn chỉnh sửa bài viết 6 lần bạn có thể có 5 phiên bản copy của bài viết đó dưới dạng revision. Điều này sẽ nhanh chóng đẩy thêm nhiều dữ liệu (hiếm khi được sử dụng) vào bảng cơ sở dữ liệu của bạn, làm cho chúng cồng kềnh không cần thiết và làm truy cập chậm lại.
  • Tương tự kịch bản được mô tả ở trên, có thể có hàng ngàn bình luận spam và không được phê duyệt trong bảng dữ liệu comment, WP-Optimize có thể quét dọn và loại bỏ chúng chỉ với một click.
  • WP-Optimize báo cáo các bảng dữ liệu chứa không gian lãng phí cũng như cho phép thu nhỏ và loại bỏ các không gian lãng phí đó.
  • Tự động dọn dẹp cơ sở dữ liệu hàng tuần và cung cấp tùy chọn “giữ lại dữ liệu cũ một vài tuần”.

#4. WP-Optimize phiên bản cao cấp

Phiên bản miễn phí của WP-Optimize rất tốt, nhưng họ còn cung cấp phiên bản cao cấp, tính phí còn mạnh mẽ hơn với nhiều tính năng mở rộng đem lại sự tự do hoàn toàn và cực kỳ mềm dẻo:

  • Hỗ trợ multisite: mở rộng khả năng tối ưu hóa cơ sở dữ liệu để chúng hoạt động cho nhiều trang WordPress cùng một lúc. Nếu bạn quản lý nhiều hơn một website, bạn sẽ cần phiên bản WP-Optimize Premium.
  • Linh hoạt và khả năng kiểm soát: cung cấp cho bạn quyền lựa chọn tối ưu một bảng cụ thể hoặc sự kết hợp lại của một vài bảng nào đấy trong một hay nhiều trang thay vì tối ưu hóa toàn bộ bảng cơ sở dữ liệu.
  • Tối ưu hóa hình ảnh: loại bỏ các hình ảnh không được sử dụng trong trang WordPress, cộng với hình ảnh có kích cỡ nhất định, được xác định trước.
  • Lập lịch chi tiết hơn: cung cấp các lựa chọn rộng trong việc lên lịch tự động tối ưu hóa. Cụ thể chính xác thời gian và chạy quét dọn hàng ngày, hàng tuần, hai lần một tuần hoặc hàng tháng và thực hiện bất kỳ số lượng bổ sung tối ưu hóa nào.
  • Giao diện đồ họa người dùng liền mạch: giao diện lập kế hoạch, quản lý tối ưu hóa multi-site cực kỳ rõ ràng.
  • Hỗ trợ WP-CLI: cung cấp cách quản lý tối ưu hóa từ giao diện dòng lệnh.

#5. Một số câu hỏi

Dữ liệu của tôi có an toàn không?

Có; việc tối ưu hóa không thực hiện bất kỳ “thủ thuật” nào hoặc can thiệp theo cách thức nguy hiểm. Các truy vấn dọn dẹp được sử dụng là các câu lệnh MySQL phổ biến, được xác định rõ ràng. Mặc dù vậy, chúng tôi luôn khuyến khích bạn backup để dự phòng bất cứ khả năng nào có thể xảy ra; không chỉ là trục trực về cơ sở dữ liệu, mà còn cả hackers, các lỗi do con người thao tác, vân vân.

Tôi có thể mong chờ trang của mình tiết kiệm được những gì?

Điều này hoàn toàn phụ thuộc vào trang của bạn – độ lớn của nó thế nào, có bao nhiêu người dùng tương tác với nó, nó được đưa vào sử dụng bao lâu rồi, và nó được tối ưu hóa lần cuối khi nào. Dù sao, dung lượng tiết kiệm được và tốc độ được cải thiện là đáng kể; thực sự đáng giá để đảm bảo rằng cơ sở dữ liệu của bạn đã được tối ưu hóa.

WP-Optimize không đem đến tiết kiệm đáng kể nào cho cơ sở dữ liệu của tôi

Đây là trường hợp hiếm; nó có thể có nguyên nhân từ việc bạn sử dụng gói share host và công ty bán gói host đó không cho phép bạn chạy các đoạn mã tối ưu thông qua các câu lệnh SQL. Hãy hỏi công ty bán host của bạn về vấn đề này.

Plugin này đã được thử nghiệm và kiểm tra rồi phải không?

Đúng vậy – WP-Optimize là plugin được cài đặt nhiều nhất trong lãnh vực tương ứng, với hơn 500 ngàn người dùng và đã được phát triển hơn 7 năm rồi.

WP-Optimize có hỗ trợ bảng InnoDB không?

WP-Optimize sẽ bị vô hiệu hóa một số tính năng nếu nó nhận thấy bảng dữ liệu là InnoDB. Tối ưu hóa bảng cơ sở dữ liệu on-disk không khả dụng, nhưng các tính năng dọn dẹp vẫn làm việc.

Có bất cứ lỗi nào trong plugin này không?

Plugin vẫn tiếp tục phát triển; điều đấy nghĩa là không thể nào loại trừ hết các tình huống không lường trước và các lỗi có thể xảy ra. Vì thế tôi khuyến khích các bạn kiểm tra nó trên local host hoặc thực hiện backup cơ sở dữ liệu (để phòng xa).

Bạn có thể giúp tôi khôi phục lại cơ sở dữ liệu không?

Chúng tôi sợ rằng điều này là không thể. Hãy đảm bảo rằng bạn đã tạo một bản sao lưu toàn bộ cơ sở dữ liệu trước khi sử dụng WP-Optimize lần đầu tiên hoặc khi bạn có một bản cập nhật lớn cho phiên bản mới. Chúng tôi khuyên bạn sử dụng UpdraftPlus để làm điều này.


#6. Hướng dẫn sử dụng plugin WP-Optimize

Sau khi cài đặt, bạn vào tab WP-Optimize để thực hiện tối ưu. Các lựa chọn mặc định sẽ như thế này:

các lựa chọn mặc định WP-Optimize

Bạn có thể thấy thông báo là website của tôi sử dụng cơ sở dữ liệu InnoDB (41) nên những bảng này sẽ không được tối ưu, trong khi những bảng khác sẽ được tối ưu (other tables will be optimized – 21). Bạn nên tick chọn vào chỗ Optimize database tables (trong hình trên mình quên chưa tick), còn phần Optimize InnoDB thì không nên tick.

Giải thích ý nghĩa các tùy chọn và thông báo trong ảnh trên (con số cụ thể sẽ khác, phụ thuộc vào website của bạn).

  • Clean all post revision: 882 post revisions in your database nghĩa là trang của tôi có 882 phiên bản lưu trữ dành cho phục hồi bài viết trong cơ sở dữ liệu, tick chọn vào đây sẽ xóa các dữ liệu này. Lời khuyện: nên tick.
  • Clean all auto-draft: 8 auto draft post in your database nghĩa là trang của tôi có 8 bản nháp tự động lưu trong cơ sở dữ liệu, tick chọn vào đây sẽ xóa dữ liệu này. Lời khuyên: nên tick.
  • Clean all trashed post: 3 trashed posts in your database nghĩa là có 3 bài post trong thùng rác, tick chọn vào đây sẽ xóa dữ liệu này. Lời khuyên: nên tick.
  • Remove spam and trashed comments: 1020 spam commments found nghĩa là loại bỏ comment spam và comment trong thùng rác. Lời khuyên: nên tick, bạn có thể xem lại review ở phần spam xem có đúng là các comment đó là spam hay không trước khi thực hiện xóa toàn bộ.
  • Remove unapproved comments: 14 unapproved comments found nghĩa là có 14 bình luận chưa được phê duyệt, tick chọn vào đây sẽ xóa hết các bình luận này. Lời khuyên: không nên tick chọn vội, bạn nên vào xem cụ thể các comment chưa được xét duyệt này rồi xóa sau cũng chưa muộn.

Các lựa chọn chuyên sâu:

các lựa chọn chuyên sâu
  • Remove expired transient options nghĩa là xóa các tùy chọn tạm thời. Hiện mình không rõ ý nghĩa của lựa chọn này.
  • Remove pingbacks nghĩa là xóa pingbacks, nếu bản thân bạn là người bật pingbacks thì không nên tick chọn để xóa nó.
  • Remove trackbacks nghĩa là xóa trackbacks, tương tự nên bản thân bạn là người bật trackbacks thì không nên tick chọn để xóa nó. Để tìm hiểu sâu hơn nữa ý nghĩa và sự khác biệt giữa pingbacks và trackbacks, bạn hãy đọc bài viết này.
  • Clean post meta data nghĩa là xóa các siêu dữ liệu của bài post trong cơ sở dữ liệu. Trong thông báo trong ảnh trên nó nói rằng mình có 58 siêu dữ liệu không dùng vào việc gì và có thể cần xóa bỏ.
  • Clean comment metadata nghĩa là xóa bỏ các siêu dữ liệu của bình luận cũng như các hàng dữ liệu của Akismet (plugin cực kỳ mạnh mẽ trong khả năng chống spam). Trong thông báo trên nó nói có đến 19 012 hàng dữ liệu Akismet chưa được sử dụng.
  • Clean orphaned relationship data nghĩa là xóa bỏ các dữ liệu quan hệ không được sử dụng.

Lưu ý: Các mục được đánh dấu màu đỏ thực hiện các hoạt động cơ sở dữ liệu chuyên sâu hơn. Trong một số trường hợp rất hiếm (very rare cases), nếu server vận hành cơ sở dữ liệu của bạn bị treo, quá tải (crash) cùng lúc khi quá trình tối ưu đang diễn ra, dữ liệu có thể bị hỏng. Bạn có thể muốn backup trước khi thực hiện tối ưu hóa.

Sau khi tick chọn tất cả những lựa chọn bạn mong muốn. Bạn tick vào tùy chọn sau nếu dùng plugin UpdraftPlus, điều đó sẽ giúp website được backup (nếu không sử dụng plugin này bạn không cần tick chọn/và cũng không thể tick chọn):

tick vào lựa chọn dùng plugin UpdraftPlus

Cuối cùng bạn nhấn Run all selected optimizations để thực hiện tối ưu.


#7. Thông tin bảng

Thông tin về các bảng nằm ở tab Table information. Ở đây nó thông báo cho ta biết tên bảng (Table), số lượng Records (bản ghi), kích cỡ cơ sở dữ liệu (Data Size), kiểu dữ liệu (Type):

bảng cơ sở dữ liệu

#8. Cài đặt

Thông tin về cài đặt nằm ở tab Settings. Ở đây bạn thiết lập một số cài đặt liên quan đến lịch backup cũng như việc lưu trữ dữ liệu cũ trong khoảng thời gian bao lâu.

Cài đặt chung / General settings

cài đặt chung

Cài đặt (keep last) này cho phép giữ lại dữ liệu 2 tuần từ giai đoạn chọn và loại bỏ các dữ liệu rác trước đó. Còn Enable admin bar link nghĩa là cho phép hiển thị thanh admin cho WP-Optimize lên thanh quản trị trên cùng.

Nếu bạn muốn lên lịch tối ưu hóa cơ sở dữ liệu một cách tự động, bạn tick như hình dưới đây:

lên lịch trình tối ưu hóa

Cuối cùng nhấn Save Settings để lưu cài đặt.


#9. Kinh nghiệm thực tế

Mình coi WP-Optimize là quá trình tổng vệ sinh website, do vậy trên thực tế mình không dùng nó quá thường xuyên. Một năm chỉ bật lên một đến hai lần để thực hiện dọn dẹp sau đó lại tắt đi.

Bởi vì dọn dẹp quá thường xuyên không hẳn sẽ hữu ích, chẳng hạn như việc giữ lại các revision cũ có thể vô cùng giá trị nếu chúng ta cần dùng đến nó (điều này cũng giống như một đồ vật cũ trong nhà vậy, không phải vật cũ, ít dùng là ta sẽ ném vào thùng rác ngay, bởi vài tháng sau khi cần đến sẽ vẫn có cái mà dùng).

OK, tất nhiên điều đó đúng với tôi thôi. Các bạn có thể có các lựa chọn khác thích hợp với bản thân hơn.

Xin chào và hẹn gặp lại trong bài viết khác.

Comments are closed.

Back to Top