WEBSITE WORDPRESS BỊ CHẬM, NGUYÊN NHÂN VÀ CÁCH KHẮC PHỤC?
Trong quá trình sử dụng và vận hành, website wordpress bị chậm là điều không thể tránh khỏi, và lượng dữ liệu của web ngày một tăng trong khi hiệu suất của Hosting/ VPS không thay đổi. Vậy đâu là nguyên nhân dẫn đến tình trạng này?
NHỮNG NGUYÊN NHÂN KHIẾN WEBSITE WORDPRESS TẢI CHẬM
Cấu hình Hosting/ VPS
Về phía máy chủ thì có 2 nguyên nhân chính đó là:
Cấu hình không đủ
Chúng ta đều phải hiểu rằng mỗi website sẽ có khả năng sử dụng tài nguyên máy chủ khác nhau. Giả sử website của bạn sử dụng nhiều tài nguyên hơn bình thường (website bán hàng, hoặc các website sử dụng nhiều tính năng phức tạp) thì bây giờ bạn sẽ cần một cấu hình dịch vụ Hosting/ VPS cao hơn bình thường để mọi tính năng trên website đều xử lý mượt mà, bởi vì thường là website sẽ tải các tiến trình theo thứ tự, chỉ cần một trong các tiến trình tải bị chậm thì thời gian tải toàn website sẽ bị chậm theo.
Đối với Shared Hosting dùng cPanel, có một cách để biết cấu hình không đủ cho website đó là vào cPanel và xem thống kê CPU/Physical Memory bên cột phải. Nếu thấy nó báo màu cam hoặc đỏ lòm như thế này thì website bạn đã sử dụng quá nhiều tài nguyên.
Bạn cũng có thể vào phần CPU and Concurrent Connection Usage để xem lại lịch sử những lần mà gói host của bạn vượt quá tài nguyên.
Còn đối với sử dụng VPS hoặc máy chủ riêng mà bạn có quyền truy cập vào SSH của máy chủ thì có thể dùng lệnh “top -c” để xem tình trạng CPU cũng như các tiến trình chiếm CPU:
Mỗi website có một điều kiện tải khác nhau nên nếu các bạn làm hết tất cả các cách khắc phục dưới đây mà vẫn không hiệu quả thì chắc hẳn bạn cần nâng cấp lên các gói Hosting/ VPS cao hơn.
Lỗi từ máy chủ
Dù khá khó để xảy ra nhưng đây vẫn là một nguyên nhân gây chậm website bất thình lình không rõ nguyên nhân. Thường thì với máy chủ Shared Hosting, bạn có thể vào cPanel => Server Information để xem tình trạng tải của máy chủ xem có bị quá tải không, hoặc có thể là có sự cố gì đó từ phía nhà cung cấp.
Thường thì nếu có sự cố từ phía server thì thời gian Time To First Bytes (TTFB) khi tải trang sẽ rất cao (khoảng trên 5 giây nếu dùng dịch vụ của nhà cung cấp trong nước, còn nước ngoài thì nhưng lúc đứt cáp thì cũng sẽ bị như vậy). Để xem thời gian TTFB khi tải trang thì bạn có thể mở trình duyệt Google Chrome rồi truy cập vào website của mình, sau đó ấn chuột phải vào trang và chọn Inspect (Kiểm tra) rồi tìm liên kết tải lâu nhất để xem TTFB như hình ảnh bên dưới.
Sẽ xuất hiện bảng thông tin như ảnh sau, các bạn chọn tab Network:
Sau đó, các bạn nhấn phím F5 trên bàn phím nhiều lần, đến khi tìm thấy dòng liên kết tải mất nhiều thời gian nhất. Ở đây, website của mình đã được tối ưu hóa website, nên liên kết tải chậm nhất trang chủ của mình được khoanh vùng như hình dưới. Và tổng thời gian load cả trang chủ, chỉ mất 741 mili giây. Quá nhanh phải không nào.
Tải chậm từ các liên kết bên ngoài
Nếu website có sử dụng nhiều liên kết bên ngoài như mã nhúng Facebook, Tawk.to, PushCrew,…thì cũng là một nguyên nhân gây chậm website vì nếu tốc độ mạng của người truy cập vào các liên kết này chậm thì cũng sẽ tăng thời gian tải của website bạn lên. Do vậy nên hạn chế sử dụng mã nhúng của dịch vụ bên ngoài, chỉ dùng với các dịch vụ thật sự cần thiết hoặc nhúng riêng ở một trang thích hợp.
MỘT SỐ CÁCH KHẮC PHỤC WEBSITE WORDPRESS TẢI CHẬM
Hạn chế sử dụng nhiều plugin
Mỗi một plugin khi cài vào website thì mức tiêu hao tài nguyên sẽ tăng thêm ít hay nhiều tùy thuộc vào loại plugin, do vậy bạn nên hạn chế sử dụng các plugin không thật sự cần thiết hoặc không dùng đến. Đặc biệt có một số plugin nên cân nhắc sử dụng như:
- Google XML Sitemaps: Sitemap bạn có thể dùng plugin Yoast SEO để cài đặt mà không cần một plugin riêng cho nó. Bởi vì khi sitemap cập nhật, nếu số lượng trang của bạn nhiều thì máy chủ sẽ cần khá nhiều tài nguyên để cập nhật tập tin sitemap.
- Các plugin bảo mật: Việc bảo mật WordPress tuy phức tạp mà cũng đơn giản, do vậy bạn không cần thiết sử dụng nhiều plugin bảo mật khác nhau mà chỉ nên dùng một plugin duy nhất. Plugin mình khuyến khích sử dụng là iThemes Security vì có đủ các tính năng cần thiết để bảo mật website WordPress.
- Các plugin tự động liên kết với từ khóa trong bài viết: Một số người dùng vì muốn tăng số lượng liên kết nội bộ trong website nên đã sử dụng những plugin tự động liên kết với từ khóa trong bài viết đến tag, category hoặc bài viết. Việc này là không cần thiết vì việc lạm dụng các plugin này sẽ khiến bài viết của bạn chỉ toàn liên kết rất mất thẩm mỹ, bạn có thể thực hiện việc này thủ công hoặc sử dụng plugin Internal Link Manager để chỉ tự liên kết với các từ khóa bạn mong muốn tới trang chỉ định.
Sử dụng cache trên website wordpress
Trên mỗi website bất kỳ đều nên có cache, có rất nhiều kỹ thuật caching cho WordPress khác nhau nhưng mỗi website nên đều có HTML Cache để giảm thiểu việc máy chủ sử dụng nhiều tài nguyên để xử lý. Nếu bạn không am hiểu lắm về kỹ thuật thì có thể sử dụng plugin WP Super Cache hoặc LiteSpeed Cache để tạo cache cho website, như vậy là website bạn đã tiết kiệm một khoản tài nguyên kha khá rồi. Hoặc bạn có thể tham khảo tính năng Warmup của Swift Performance, cache sẽ được tự động tạo ra trước và hoạt động ngầm trên website (prebuild cache). Tại đây.
Nén hình ảnh trước khi upload lên website
Lỗi này rất thường hay gặp với một số người sử dụng, đó là upload một tấm ảnh nguyên gốc chưa qua tối ưu nặng cả chục MB lên website. Như vậy có nghĩa là khi người dùng tải trang, trình duyệt họ sẽ tải hàng chục MB hình ảnh chưa bao gồm các thành phần khác, tốn phải 5 giây là ít.
Phương pháp nén hình ảnh PNG tốt nhất hiện nay
Và một số phương pháp tối ưu hình ảnh khác.
Giảm tần suất chạy WP Cron
Mỗi website WordPress đều có các cronjob riêng được tích hợp thẳng vào mã nguồn để thực thi một số việc có tính lặp đi lặp lại như kiểm tra phiên bản mới, xóa các bình luận trong thùng rác, hoặc một số tính năng mà plugin/theme có sẵn.
Một đặc điểm của việc WP Cron dùng nhiều tài nguyên đó là tập tin wp-cron.php luôn chạy với mức sử dụng CPU cao, cái này bạn chỉ có thể xem được khi xem với lệnh top trong máy chủ Linux.
Để xem tất cả cron có trong website WordPress thì bạn có thể sử dụng plugin WP Control. Sau đó nếu thấy trong này chỉ có các cron không cần thiết thì bạn có thể tắt WP Cron bằng cách chèn đoạn này vào tập tin wp-config.php:
[code]
define(‘DISABLE_WP_CRON’, true);
[/code]
Sau đó tạo một cronjob trong Hosting/Máy chủ chạy định kỳ mỗi ngày 2 lần như sau:
[code]
* */12 * * * /usr/bin/php /home/path/public_html/wp-cron.php >/dev/null 2>&1
[/code]
Tập tin admin-ajax.php sử dụng nhiều CPU
Ngoài wp-cron.php thì còn một tập tin khác đói CPU không kém đó là tập tin /wp-admin/admin-ajax.php. Thường thì tập tin này sẽ hoạt động nhiều khi bạn sử dụng WooCommerce hoặc các plugin sử dụng Hearbeat API của WordPress. Nếu bạn thấy tập tin admin-ajax.php của bạn xử lý liên tục thì đây là lúc bạn cần kiểm soát lại tần suất hoạt động của tập tin này.
Cách đơn giản nhất đó là sử dụng plugin Hearbeat Control để tắt luôn Hearbeat API nếu bạn nghĩ rằng website không cần cái này, hoặc giảm tần suất hoạt động của tập tin này lại.
Dọn dẹp database, đặc biệt là bảng wp_options
Những ai là lập trình viên thì chắc chắn không xa lạ gì với việc tất cả dữ liệu của bảng “wp_option” trong WordPress sẽ tải ra hết một lượt cho mỗi lần website tải. Điều này có nghĩa là nếu bạn kiểm tra database mà thấy bảng này có dung lượng lớn thì cần nên xem lại và tối ưu.
Cập nhật WordPress phiên bản mới nhất
Bất cứ ứng dụng nào, việc cập nhật phiên bản mới nhất vẫn là điều hết sức cần thiết nhằm nâng cao khả năng bảo mật, tránh mọi hành vi xâm hại từ virus hay mã độc ảnh hưởng đến tốc độ duyệt web, bên cạnh đó bổ sung nhiều tính năng hữu ích giúp tối ưu website tốt hơn.
ĐƠN VỊ THIẾT KẾ WEBSITE WORDPRESS CHUYÊN NGHIỆP – WEB MTP
Web MTP là đơn vị cũng cấp các dịch vụ cần thiết để vận hành và quản trị website một cách tốt nhất.
Website: https://webmtp.com/
Liên hệ: 0931.912.379
Ở trên chỉ là một số cách đơn giản mà mọi người ai cũng có thể tự làm được để tối ưu lại website của mình để website nhanh hơn từ việc tiết kiệm tài nguyên cho máy chủ. Với một số các cách nâng cao khác mình sẽ đề cập ở một bài viết khác chi tiết hơn. Ngoài bài viết này thì mình cũng có một số bài viết khác liên quan đến việc tăng tốc website cho WordPress mà bạn có thể tham khảo bên dưới.
Dịch vụ tối ưu hóa website đạt chuẩn đến 99%
Tôi đã tối ưu hóa website wordpress trên pagespeed insights như thế nào?
Cảm ơn các bạn đã theo dõi các bài viết tại Web MTP. Và trong thời gian chờ đợi bài viết tiếp theo, các bạn có thể tham khảo các bài viết liên quan hấp dẫn khác tại website này nhé!
Mời bạn xem nhiều bài hấp dẫn khác