Nguyên nhân WordPress Admin chậm chạp và cách khắc phục

Nguyễn Hải Hưng 9 phút đọc

Bạn có nhận ra rằng là sau 1 thời gian sử dụng, trang quản trị WordPress của bạn (WordPress Admin) trở nên chậm chạp dần không? Điều này thực sự gây khó chịu và mất thời gian khi bạn truy cập vào quản trị WordPress để chỉnh sửa thứ gì đó.

Vậy đâu là nguyên nhân? Và cách khắc phục sự chậm chạp này như thế nào?

Hôm nay, chúng ta sẽ cùng tìm hiểu vấn đề này và giải quyết nó các bạn nhé!

Điều gì khiến WordPress Admin trở nên chậm chạp?

Có rất nhiều yếu tố làm cho Admin Dashboard chậm, dưới đây là các nguyên nhân chính được tổng hợp theo kinh nghiệm của chúng tôi:

  • Máy chủ (Server/Hosting) thiếu tài nguyên hoặc quá tải.
  • Sử dụng nhiều Plugin làm ngốn bộ nhớ.
  • Phiên bản PHP lỗi thời.
  • WordPress Heartbeat API không được tối ưu.
  • Cơ sở dữ liệu không được tối ưu.
  • Giới hạn bộ nhớ (Memory Limit) thấp.
  • Số lượng nội dung hiển thị trên Admin WordPress quá nhiều.
  • Sử dụng các Widget không cần thiết.

Dựa theo 8 nguyên nhân phổ biến này, chúng ta cùng đưa ra cách khắc phục bên dưới nhé!

Hướng dẫn khắc phục

Nâng cấp hệ thống máy chủ (Server/Hosting)

Lỗi này thường phổ biến nhất là do bạn sử dụng máy chủ lưu trữ WordPress không đủ đáp ứng, hoặc sử dụng các gói Hosting tài nguyên thấp.

Tùy thuộc vào quy mô website mà đòi hỏi cấu hình máy chủ khác nhau. Đặc biệt là các website thương mại điện tử (WooCommerce), chúng ta sẽ cần có cấu hình resource mạnh hơn để mọi thứ vận hành trơn tru.

Do đó, hãy chắc chắn rằng Hosting của bạn luôn đảm bảo có cấu hình mạnh mẽ (Ram, CPU,…).

Xử lý các Plugin gây chậm

Cách dễ dàng nhất để phát hiện ra các Plugins gây ngốn tài nguyên máy chủ, là sử dụng plugin Query Monitor. Nó sẽ dễ dàng cho chúng ta biết được có những tiến trình nào đang chạy ở giao diện quản trị, và thời gian xử lý là bao nhiêu.

Bạn chỉ cần cài đặt và kích hoạt Plugin Query Monitor (theo hướng dẫn), sau đó vào Queries by Caller và xem thời gian thực thi các lệnh như hình bên dưới:

Bạn hãy xem xét việc Deactive Plugin gây chiếm tài nguyên này, hoặc thay thế bằng plugin khác nhẹ nhàng hơn.

Nâng cấp phiên bản PHP

WordPress là mã nguồn mở, được xây dựng dựa trên ngôn ngữ PHP. Đây là lý do khiến WordPress đề xuất người dùng thường xuyên cập nhật lên các phiên bản PHP mới nhất.

Không chỉ bảo mật hơn, các bản PHP mới đem đến sự cải tiến đáng kể về hiệu suất so với bản cũ.

Phiên bản PHP 7.4 có khả năng xử lý gấp 3 lần số lượng request/giây mà PHP 5.6 xử lý được, nhưng theo thống kê của WordPress, đa phần người dùng lại đang sử dụng PHP 5.6 (hoặc cũ hơn).

Với hầu hết các Hosting hiện nay đã hỗ trợ các phiên bản PHP mới nhất, nếu bạn có quyền truy cập vào quản trị Hosting hãy thay đổi phiên bản PHP cao nhất ngay nhé (Xem hướng dẫn).

Còn nếu không thể tự thực hiện, bạn hãy liên hệ ngay cho nhà cung cấp để được hỗ trợ nhé.

Lưu ý: Một vài trường hợp, website của bạn sẽ không thể hoạt động do có Plugin hoặc Giao diện không tương thích với phiên bản mới.

Giới hạn hoặc vô hiệu hóa WordPress Heartbeat API

WordPress Heartbeat API hỗ trợ tự động lưu và các tính năng thông báo dữ liệu theo thời gian thực (real-time) giữa trình duyệt và máy chủ lưu trữ WordPress.

Heartbeat API gửi các yêu cầu (yêu cầu POST) bằng cách sử dụng tệp /wp-admin/admin-ajax.php. Mỗi yêu cầu thực thi tập tin PHP bằng với thời gian CPU trên máy chủ.

Điều này có thể gây ra một lượng lớn các request được gửi đến máy chủ của bạn, dẫn đến việc sử dụng CPU tăng cao, gây chậm website.

Chúng ta có thể dễ dàng kiểm soát điều này, bằng cách sử dụng plugin Heartbeat Control.

  • Heartbeat Behavior: Bạn có thể tùy chỉnh bật, tắt, hoặc điều chỉnh  Heartbeat.
  • Locations: Chọn khu vực muốn kiểm soát API.
  • Frequency: Tần suất của việc gọi Heartbeat API. Giá trị nằm trong khoảng từ 15 đến 300 giây.

Nếu không có vấn đề gì ảnh hưởng đến website, vô hiệu hóa toàn bộ Heartbeat API là cách tốt nhất bạn nên sử dụng.

Dọn dẹp Database (đặc biệt với website sử dụng WooCommerce)

Nếu bạn đã sử dụng WordPress được một thời gian, sẽ có rất nhiều dữ liệu thừa trong cơ sở dữ liệu của bạn như: bản sửa đổi bài đăng, bình luận spam, bản nháp, thùng rác, dữ liệu meta mồ côi, v.v.

Bạn nên làm sạch các dữ liệu thừa này, để tiết kiệm dung lượng lưu trữ và làm website gọn nhẹ hơn.

Bạn có thể thực hiện 1 cách an toàn mà không ảnh hưởng gì đến website bằng cách sử dụng plugin WP Rocket:

Có thể bạn chưa biết:

Hosting WordPress tại Mắt Bão cung cấp cho bạn sẵn công cụ để bạn có thể tự cài đặt Plugin WP Rocket bản quyền này (Xem hướng dẫn).

Tăng giới hạn bộ nhớ (Memory limit)

Đôi khi, quản trị admin WordPress của bạn đang bị bottleneck (nghẽn cổ chai) do giới hạn bộ nhớ PHP trên web.

Chỉ cần tăng giới hạn bộ nhớ trong website là mọi thứ sẽ được giải quyết. Nếu nhà cung cấp hosting cho phép bạn tự tăng giới hạn bộ nhớ PHP, hãy sử dụng dòng lệnh sau để chèn vào file wp-config.php:

define('WP_MEMORY_LIMIT', '256M');

Và nếu không thể can thiệp, hãy liên hệ với bộ phận hỗ trợ nhà cung cấp hosting ngay bạn nhé.

Giới hạn số lượng nội dung hiển thị trên Admin WordPress

WordPress có cung cấp cho chúng ta một tính năng là Screen Options trong Dashboard.

Chức năng này cho phép tắt/mở hiển thị các trường thuộc tính, thiết lập số lượng item trên mỗi trang,…

Bạn hãy tắt bớt các thông tin/thuộc tính không cần hiển thị, đồng thời giới hạn thấp số lượng item hiển thị cũng góp phần giảm tải cho Admin Dashboard.

Vô hiệu hóa các Widget không cần thiết

Quản trị WordPress mặc định thường đi kèm với rất nhiều Widgets mà có khi chúng ta không bao giờ sử dụng.

Tuy nhiên, ngay cả khi không sử dụng, các Widget vẫn tải thông tin và hoạt động làm chậm khu vực quản trị.

Để vô hiệu hóa các Widget không cần thiết, bạn có thể sử dụng plugin Widget Disable.

Sau khi bạn cài đặt và kích hoạt, hãy vào Appearance →  Disable Widgets và loại bỏ tất cả các Widget không dùng nhé.

Tổng kết

Qua 8 hướng dẫn trên, chúng ta có thể phần nào tối ưu lại trang quản trị website của mình, giúp tăng tốc và hoạt động mượt mà hơn.

Chúng tôi luôn hy vọng có thêm thật nhiều ý kiến/đóng góp từ các bạn!