Phần quản trị wp-admin WordPress bị chậm và cách khắc phục

Nếu theo dõi Vũ Trụ Số bạn cũng biết hiện tại WordPress đang làm CMS số 1 thế giới với hơn sử dụng mã nguồn mở này.

Tuy có nhiều ưu điểm nhưng nhiều người dùng gặp tình trạng phần quản trị wp-admin khi chúng bị ì ạch, bị chậm hoặc bị treo.

Dưới đây là một số lời khuyên để bạn có thể tối ưu phần quản lý WordPress Dashboard.

Nguyên nhân là cho wp-admin bị chậm

Làm gì thì làm bạn cũng phải tìm ra được nguyên nhân vì sao wp-admin thì mới giải quyết dứt điểm được tình trạng wp-admin treo, lag, chậm …

Có rất nhiều nguyên nhân làm cho wp-admin bị chậm, bạn phải xác định được nguyên nhân chính xác để khắc phục triệt để vấn đề này, một số vấn đề thường gặp nhất đó là do plugin lỗi hoặc không được tối ưu, website có quá nhiều lượt truy cập sẽ làm chậm ở mọi nơi trên website nếu như phần cứng không đáp ứng yêu cầu, do theme lỗi và hàng tấn nguyên nhân khác.

Bật debug website lên và tìm nguyên nhân wp-admin bị chậm

Cách để bật debug lên và tìm lỗi là cách thông dụng nhất để bạn tìm ra nguyên nhân có phải do theme hoặc plugin nào gây ra hay không, cách bạn có thể xem tại .

Sau khi bật debug lên bạn nên cài thêm plugin để xem thử website đang bị chậm ở truy vấn nào hoặc theme, plugin nào bị lỗi hay không, Query Monitor sẽ cho bạn biết hầu như mọi thứ.

Một khi bạn tìm ra nguyên nhân gây ra wp-admin chậm bạn có thể.

– Thay thế plugin chậm bằng 1 plugin tốt hơn hoặc nâng cấp chúng lên để fix lỗi.
– Theme bị chậm, hãy xem vị trí nào chậm và fix hoặc đổi 1 theme khác tốt hơn.

Ngoài ra, khi bật debug lên bạn cũng nên check error.log để xem website của bạn có gặp phải sự cố gì hay không. Các thông tin báo lỗi sẽ được ghi lại trong file Error.log

Vấn đề này thường rất rộng, đòi hỏi bạn phải có 1 số kiến thức về lập trình hoặc hiểu biết về hệ thống để có thể tìm ra nguyên nhân cụ thể, dựa vào các các thông báo lỗi để tìm ra chính xác nguyên nhân.

Một số nguyên nhân có thể do xung đột plugin, xung đột script, sử dụng phiên bản PHP lỗi thời …

Kiểm tra bộ nhớ được sử dụng giới hạn

Bạn nên cài 1 trong 3 plugin sau để xem thử tổng bộ nhớ mà bạn đang sử dụng bao nhiêu, nếu tổng bộ nhớ được sử dụng cao mà mặc định WordPress lại giới hạn bộ nhớ thì sẽ gây ra lỗi hoặc chậm.

Theo mặc định WordPress sẽ giới hạn bộ nhớ cho một “script” ở đây cụ thể sẽ một plugin nào đó bạn đang dùng ở mức 40 MB. Có nghĩa là mỗi một plugin bạn cài đặt và sử dụng không được sử dụng vượt quá 40 MB bộ nhớ. Với mức giới hạn mặc định này trong một số trường hợp khi cài plugin lớn (WooCommerce, bbPress, NextGEN Gallery …) có thể sẽ ngốn dung lượng bộ nhớ vượt mức cho phép và gây ra lỗi đại loại như: “Allowed memory size of xxxxxx bytes exhausted.”

– Kiểm tra xem toàn bộ trang web của bạn sử dụng bao nhiêu bộ nhớ với plugin WP Server Health Stats .
– Dung lượng bộ nhớ mà theme và plugin của bạn sử dụng là bao nhiêu với Query Monitor .

Tất nhiên không thể để mặc định bộ nhớ quá thấp mà bạn có thể tăng bộ nhớ lên bằng cách sau thêm đoạn code dưới đây vào file wp-config.php

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

WP_MEMORY_LIMIT giúp tăng/quy định giới hạn bộ nhớ tối đa mỗi plugin được phép sử dụng.
WP_MAX_MEMORY_LIMIT giúp tăng/quy định giới hạn bộ nhớ tối đa mỗi plugin được phép sử dụng và chỉ có ảnh hướng đến trang quản trị wp-admin của WordPress.

Sử dụng Object caching

Bạn có nghe tới 2 thuật ngữ như “Memcache” và “Redis” chưa. Redis (là mô-đun tiêu chuẩn và tốt nhất hiện nay) là một mô-đun máy chủ cho phép bạn lưu trữ các truy vấn trong cơ sở dữ liệu của mình, vì nó lưu thông tin đó trong bộ nhớ chứ không phải trên đĩa (như bộ nhớ đệm trang) nên cho tốc độ truy xuất rất nhanh.

Nếu hosting của bạn có hỗ trợ “Memcache” hoặc “Redis” thì hãy bật chúng lên ngay để phần quản trị wp-admin được mượt mà hơn.

Nếu bạn có điều kiện hơn nữa có thể mua Object Cache Pro để tối ưu hiệu quả hơn nữa, tuy nhiên bạn nên đọc thêm các mục phía dưới và đặc biệt là mục VPS/Hosting chất lượng.

Tắt WordPress Heartbeat API

Kể từ phiên bản 3.6, WordPress đã giới thiệu thêm một API mới có tên là WordPress Heartbeat API. Nó cho phép trình duyệt web giao tiếp với máy chủ khi bạn đăng nhập vào bảng quản trị WordPress. Chức năng này giúp WordPress xử lý những thứ như hiển thị thông báo cho các tác giả khác rằng bài viết đang được ai đó chỉnh sửa. Các plugin cũng có thể tận dụng tính năng Heartbeat để hiển thị thông báo theo thời gian thực.

Mặc dù đây là tính năng khá tuyệt vời, tuy nhiên nó có thể gây ra vấn đề trong một số trường hợp nhất định. Trên các trang khác nhau, Heartbeat sẽ kiểm tra theo các khoảng thời gian khác nhau.

Ví dụ trên trang chỉnh sửa bài viết, nó sẽ kiểm tra mỗi 15 giây một lần, trong khi đó trên bảng điều khiển sẽ là mỗi phút một lần… Mỗi lần kiểm tra lại tạo ra một yêu cầu POST thêm vào số executions (tác vụ phải thực thi) của host và thời gian CPU đã sử dụng.

API sử dụng tệp tin /wp-admin/admin-ajax.php để thực hiện lệnh gọi AJAX. Nếu bạn nhận thấy một số lượng đáng kể các yêu cầu POST bởi tập tin đó thì có nghĩa là bạn cần giới hạn công việc của Heartbeat hoặc ngừng nó hoàn toàn.

Bạn có thể control WordPress Heartbeat API với plugin được phát triển bởi WP Rocket (một plugin tối ưu tốc độ website hàng đầu hiện nay)

HTTP API Calls

Nếu bạn đã cài plugin Query monitor bạn có thể check xem có các HTTP API bên thứ 3 có bị chậm hay không, có rất nhiều trường hợp website của bạn phải chờ đợi HTTP API của website thứ 3 phản hồi xong thì website của bạn mới tải xong, điều này làm cho WP-ADmin của bạn cực kỳ chậm.

Phần này khá nâng cao nên bạn phải có kiến thức để hiểu và cài đặt cho đúng, ví dụ mình không sử dụng plugin bản quyền nào khác và không cần tới các kết nối qua API thì mình sẽ loại bỏ các HTTP API Calls bằng cách thêm đoạn code sau vào file wp-config.php

define( 'WP_ACCESSIBLE_HOSTS', '*.wordpress.org,*.github.com' );

Đoạn code trên có nghĩa chỉ chấp nhận wordpress.orggithub.com các kết nối API khác sẽ bị chặn lại, đỡ mất thời gian kết nối.

Nếu bạn sử dụng API bên nào khác thì có thể thêm vào white list vào đoạn code ở trên nhé.

Kiểm tra phản hồi DNS

Trong phần quản trị hoặc ngoài Frontend website bạn đều nên check xem DNS bạn đang đặt ở đâu và phản hồi của DNS (DNS Lookups) như thế nào, phần này tuy tác động nhỏ nhưng mình khuyên bạn nên và thêm domain vào đây để quản lý là tốt nhất.

Bạn có thể xem qua bài viết mình đã nên những mà bạn có thể đọc:

Tạo cache wp-admin hoặc người dùng đã đăng nhập

Một số plugin tối ưu website tích hợp việc tạo cache phần quản trị wp-admin tuy nhiên bạn nên cân nhắc để sử dụng vì đôi khi nó gây ra lỗi khó chịu khi bạn edit post, page hoặc gặp một số vấn đề với giỏ hàng hoặc trang đăng nhập.

Bạn cần kiểm thử và thường xuyên theo dõi website để xem nó có ảnh hưởng tới trải nghiệm hay không.

Kiểm tra plugin bảo mật bạn đang cài vào website

Bạn có Wordfence hoặc Sucuri? Có rất nhiều trường hợp plugin bảo mật phải check và kiểm tra bảo mật liên tục nên gây cho wp-admin bị chậm hoặc treo. Bạn có thể xem ở Query Monitor để biết tình trạng cụ thể.

Tối ưu database và giới hạn post revisions và autosaves

Bạn có thể sử dụng 1 số plugin tối ưu database như: WP-Optimize, Optimize Database after Deleting Revisions, Advanced Database Cleaner, WP-Sweep, Smart Cleanup Tools …

Các plugin nêu trên đều xóa bỏ bản xem lại hết hạn, và bản sao lưu khi bạn viết bài đã hết hạn. Ngoài ra chúng cũng sẽ nén và tối ưu database giúp tăng tốc độ truy xuất cơ sở dữ liệu.

Tuy nhiên, bạn nên sao lưu lại dữ liệu trước khi thực hiện các thao tác với plugin tương tác với cơ sở dữ liệu của WordPress.

Nâng cấp hosting hoặc VPS (Quan trọng nhất)

Nếu bạn đã làm tất cả các cách phía trên mà tình trạng trong phần quản trị vẫn không khá hơn thì hãy nghĩ đến việc nâng cấp hosting hoặc VPS, hoặc ngay từ đầu bạn cũng nên biết website của bạn đang chạy ở VPS hoặc hosting với cấu hình ra sao, công nghệ webserver nhưu thế nào để đỡ tốn thời gian.

Bạn nên xem tổng quát các vấn đề trên website rồi hãy quyết định, nếu website của bạn có nhiều lượt truy cập gây quá tải cho gói web hosting hiện tại thì việc tối ưu toàn diện website và nâng cấp website bạn nên nghĩ đến.

Nếu bạn muốn tối ưu toàn diện cho website của mình thì có thể tham khảo Vũ Trụ Số đang cung cấp.

Một máy chủ tốt cần có những gì?

Chọn một nhà cung cấp máy chủ/hosting tốt là điều bạn nên làm để không gặp phải tình trạng website bị ì ạch, bị treo dù website của bạn không có nhiều lượt truy cập hoặc dù bạn dùng theme/plugin đều tốt.

– Sử dụng ổ cứng SSD hoặc NVMe
– Sử dụng công nghê webserver mới (Litespeed hoặc Nginx hoặc APACHE mới)
– Hỗ trợ OPCACHE hoặc Object cache
– Hỗ trợ các phiên bản PHP mới
– Không nồi nhét nhiều website và 1 server

Bạn có thể thử gói hosting chuyên dụng do Vũ Trụ Số cung cấp để trải nghiệm hoặc sử dụng một số dịch vụ máy chủ ảo hàng đầu thế giới khác như Vultr, Linode, DO, Upcloud …

Nếu bạn gặp khó khăn hoặc có bất cứ thắc mắc nào cần tư vấn hay liên hệ với chúng tôi qua zalo: 0868017791 để được hỗ trợ. Xin cảm ơn.

Nếu bạn thấy bài viết có ích hãy sao chép link và chia sẻ bài viết
daotiendung

Tiến Dũng Đào chuyên quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress với hơn 5 năm phát triển theme và plugin. Sở thích của anh là đọc, viết blog, đi du lịch, tập võ và chia sẻ các kiến thức cho mọi người.

Bài viết liên quan