Những nguyên nhân có thể khiến website load chậm và hướng khắc phục.
Bạn đã bao giờ tự đặt câu hỏi rằng tại sao cùng sử dụng mã nguồn WordPress, cùng chung một dịch vụ hosting, thậm chí là giao diện giống nhau… nhưng website của đối thủ lại load nhanh hơn và đạt thứ hạng cao hơn trên bảng kết quả tìm kiếm của Google chưa? Có thể là do nguyên nhân khách quan. Cũng có thể bởi vì website của bạn chưa được tối ưu đúng cách. Biết được những nguyên nhân khiến website load chậm sẽ nhanh chóng giúp bạn tìm ra phương pháp đúng đắn để tăng tốc cho website của mình. Và bài viết hôm nay chính là để trả lời câu hỏi đó.
Tham khảo thêm:
Hậu quả của website load chậm
Một website có tốc độ load chậm sẽ bị:
- Google và các công cụ tìm kiếm đánh tụt hạng trên bảng kết quả tìm kiếm. Mặc dù tốc độ load web cũng chỉ là một trong hàng chục yếu tố để xếp hạng tìm kiếm, nhưng nó đang dần trở nên rất quan trọng.
- Giảm trải nghiệm người dùng do phần lớn khách truy cập sẽ thoát khỏi website của bạn nếu thời gian chờ đợi quá lâu. Khi đó, bạn có thể bị mất doanh thu từ các khách hàng tiềm năng.
Các nguyên nhân khiến website load chậm
Cũng giống như những nguyên nhân có thể khiến website bị hack, chúng tôi sẽ chia nguyên nhân khiến website load chậm thành 2 nhóm chính: nguyên nhân khách quan và nguyên nhân chủ quan.
Nguyên nhân khách quan
Là những nguyên nhân bên ngoài, không liên quan tới mã nguồn của website của bạn:
Do host chậm
Host cấu hình thấp, không được tối ưu tốt (nhà cung cấp thiếu kinh nghiệm), quá tải (do có quá nhiều người dùng trên 1 server)… là những nguyên nhân chính có thể khiến host của bạn bị chậm. Bạn hầu như không thể là bất cứ điều gì để cải thiện tình hình. Do đó, sáng suốt lựa chọn một nhà cung cấp có hạ tầng tốt, nhiều kinh nghiệm, uy tín… là điều rất quan trọng.
Do mạng (network) và vị trí địa lý
Server host của bạn đặt ở quá xa người dùng (chẳng hạn host đặt ở Mỹ, trong khi phần lớn lưu lượng truy cập đến từ Việt Nam) thì nó sẽ ảnh hưởng rất nhiều đến tốc độ truy cập, đặc biệt là trong những dịp đứt cáp quang quốc tế. Vì vậy, điều quan trọng là bạn phải xác định được nguồn truy cập website của mình chủ yếu đến từ đâu, để lựa chọn vị trí đặt server cho phù hợp, càng gần nguồn truy cập thì càng tốt. Nếu host của bạn đặt ở xa nguồn truy cập, hãy xem xét sử dụng các dịch vụ CDN, chẳng hạn như CloudFlare (hoàn toàn miễn phí) giống cách mà WP Căn bản đang làm.
Tham khảo thêm: Nên chọn host Việt Nam hay host nước ngoài cho WordPress?
Do hệ thống phân giải DNS tên miền
Bạn nghĩ tên miền không liên quan đến tốc độ load của website? Nếu vậy thì bạn sai rồi. Hệ thống phân giải DNS tên miền ảnh hưởng kha khá tới tổng thời gian load web. Đó là lý do bạn nên chọn các hệ thống phân giải DNS tên miền có tốc độ càng nhanh càng tốt. Và một trong những hệ thống miễn phí, chất lượng rất tốt nhất chính là CloudFlare.
Tham khảo thêm: Tại sao bạn nên sử dụng CloudFlare làm máy chủ DNS?
Nguyên nhân chủ quan
Là những nguyên nhân liên quan trực tiếp đến mã nguồn website của bạn:
Sử dụng theme quá nặng
Những giao diện nhiều tính năng, nhiều hiệu ứng, bố cục phức tạp, thiết kế cầu kỳ… thường sẽ rất nặng. Sở dĩ như vậy bởi vì để có được vẻ bề ngoài lộng lẫy, bắt mắt kia, chúng sẽ phải nhồi nhét vào HTML một lượng lớn các file CSS, JS, web font và hình ảnh. Điều này khiến cho page-size tăng lên, đồng thời tạo nhiều request (yêu cầu) hơn tới máy chủ web. Và hậu quả thì chắc bạn cũng đã biết rồi phải không nào.
Tham khảo thêm: Làm thế nào để chọn theme phù hợp với blog WordPress của bạn?
Cài quá nhiều plugin
Nhiều người có thói quen cài tất cả những plugin mà họ cho là “hay ho” lên website WordPress của mình, kể cả khi chúng không thực sự cần thiết. Tệ hơn, những plugin không còn được sử dụng nữa vẫn ngang nhiên tồn tại và bớt xén một phần tài nguyên. Chúng làm database trở nên cồng kềnh, CPU của host phải xử lý nhiều truy vấn hơn, page-size của web lớn hơn… dẫn đến web load chậm hơn.
Lời khuyên:
- Chỉ cài đặt những plugin nào thực sự cần thiết và không thể thay thế được.
- Thường xuyên cập nhật plugin, tìm kiếm các phương án nhẹ hơn nhưng mang lại hiệu quả tương được hoặc tốt hơn.
- Vô hiệu hóa và xóa bỏ các plugin không còn sử dụng nữa.
Tham khảo thêm: Những plugin không nên cài cho website WordPress
Không cache và tối ưu dữ liệu tĩnh
Cache (hay tạo bộ nhớ đệm) là một trong những phương pháp hiệu quả nhất để tăng tốc độ load cho website. Bạn không những cần phải cache dữ liệu trên server (server cache) mà còn phải thiết lập để cache dữ liệu trên trình duyệt web của người dùng (browser cache). Các bản cache sẽ giúp web load nhanh hơn do những tài nguyên tĩnh như JS, CSS, hình ảnh… không phải tải lại trong những lần tiếp theo (với truy vấn tương tự). CPU của host cũng nhờ thế mà giảm được nhiều truy vấn không cần thiết. Vì vậy, sẽ rất sai lầm nếu bạn không bật tính năng cache CSS, JS, HTML, hình ảnh… cho website của mình.
HTML, CSS, JS, hình ảnh… cũng nên được nén, gộp để giảm kích thước (ngay trên host) trước khi chúng được gửi tới trình duyệt web của người dùng. Việc này giúp giảm page-size cũng như số lượng request tới mày chủ.
WordPress có sẵn rất nhiều plugin có thể giúp bạn làm điều này, chẳng hạn như WP Rocket, LiteSpeed Cache, ShortPixel, EWWW Image Optimizer, Autoptimize…
Sử dụng quá nhiều widget
Các widget có thể giúp website của bạn trở nên đẹp hơn, chuyên nghiệp hơn, thân thiện với người dùng hơn… Nhưng chúng cũng có thể khiến website load chậm lại rất nhiều, đặc biệt là khi bạn sử dụng các widget kiểu như Facebook Like Box, Google Maps, Google Plus… Bởi vì chúng cần rất nhiều file JS, CSS (tải từ bên ngoài host) mới hiển thị và hoạt động được.
Sử dụng Google Fonts, external JS & CSS, external Icon Fonts
Sử dụng Google Fonts, Icon Fonts (Dashicons, Font Awesome, Fonttelo…) và các loại external JS, CSS (Bootstrap…) có thể tạo ra phong cách, sự sinh động cho website của bạn. Nhưng chúng đồng thời cũng chính là nguyên nhân làm cho website load chậm. Bởi vì những file này thường được lưu trữ trên các server đặt tại nước ngoài và bạn không có quyền cache hay nén chúng.
Tham khảo thêm: Khắc phục lỗi Google Fonts trong Google PageSpeed Insights
Sử dụng quá nhiều hình ảnh và quảng cáo
Quảng cáo thực sự là con dao hai lưỡi. Nó có thể mang lại cho bạn doanh thu để trang trải cuộc sống hoặc chí ít là để duy trì hoạt động của website. Tuy nhiên, chèn quá nhiều quảng cáo hoặc sử dụng những loại quảng cáo có code không được tối ưu có thể khiến bạn mất đi nhiều thứ. Dữ liệu quảng cáo thường được tải từ server bên ngoài, không được nén hay tối ưu nên ảnh hưởng rất nhiều đến tốc độ load web, đặc biệt là những thời điểm mạng quốc tế gặp vấn đề. Đã từng có khách hàng than phiền với tôi về việc anh ta sử dụng hosting có server đặt trong nước nhưng tốc độ load web vẫn chậm. Tôi kiểm tra thì mới phát hiện ra là web của anh ta tải nhiều quảng cáo Google AdSense + widget Facebook Like Box từ server nước ngoài. Trong những lúc đứt cáp thế này thì mạng nào load nhanh cho nổi?
Tham khảo thêm: Trì hoãn tải script của bên thứ ba trong WordPress
Trên đây là những nguyên nhân chính có thể khiến một website nói chung và WordPress nói riêng, load chậm. Nếu bạn đang rơi vào tình cảnh tương tự, đừng vội trách cứ hay đổ lỗi cho một ai đó (nhà cung cấp hosting, người thiết kế web, nhà cung cấp hạng tầng mạng…) mà hãy suy xét thật kỹ để tìm ra nguyên nhân chính xác và hướng xử lý phù hợp nhất. WP Căn bản đã có hẳn 1 serie hướng dẫn tăng tốc WordPress, nếu bạn muốn tự tối ưu tốc độ load thì có thể tham khảo thêm.
Theo bạn, còn những nguyên nhân gì khiến website load chậm mà chưa được liệt kê ở trên? Hãy chia sẻ với chúng tôi quan điểm và ý kiến của bạn trong khung bình luận bên dưới.
Nếu bạn thích bài viết này, hãy theo dõi blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất nhé. Cảm ơn rất nhiều. :)
Chào anh Hiếu, em đang định sử dụng 1 plugins auto coupon, nó chỉ hoạt động trên một trang. Nếu bài viết khác k sử dụng nó có bị chậm bởi plugins đó không anh?
Cái này còn tùy thuộc vào việc plugin quy định load CSS và JS trên toàn bộ các trang hay chỉ load trên những trang có sử dụng bạn ạ.
Trang web của mình 6 tháng gần đây có tốc độ load rất chậm dẫn đến việc bị rớt thứ hạng trên Google. Bạn xem trang và tư vấn giúp mình nhé. Chi phí thế nào liên hệ lại giúp mình. 0983 584 206
Bạn có thể tham khảo dịch vụ WordPress Hosting và dịch vụ tối ưu website WordPress của bên mình nhé. Riêng khoản đến giờ mà site vẫn chạy HTTP là thấy không ổn rồi. :P
Mình không phải dân chuyên nhưng cũng có tìm hiểu mấy thuật ngữ nhờ một bạn tối ưu, hiện tại tốc độ load trang trung bình 6s, mình thấy tương đối cao. Không biết bạn chủ website có dịch vụ tối ưu không vậy?
Mình xin đính kèm tên miền: https://donghothanhtung.com
Bên mình có dịch vụ tối ưu website WordPress nhưng chỉ áp dụng cho các khách hàng sử dụng dịch vụ WordPress Hosting do bên mình cung cấp thôi bạn ạ.
P/s: site của bạn đã tối ưu gì đâu? CSS, JS, HTML, hình ảnh… đều chưa nén.
Mình tắt plugin tối ưu đi rồi tại thấy web bị nặng mà thấy tốc độ load cũng không cải thiện được bao nhiêu cả.
Bạn có thể cài thử plugin Swift Performance Lite (Free), lúc nó hiện ra bảng cấu hình thì lựa chọn AutoConfig. Mình nghĩ sẽ cải thiện được một phần tốc độ đấy. Bạn thử xem.
Hôm trước mình cũng thử cài plugin này cho 1 bạn xài web bán hàng, load gần 20s lận. Cài xong thì tốc độ load nhanh hẳn.
Ps: Đôi khi cài plugin này sẽ gây ra một số lỗi, như vài thành phần không hiển thị, là do plugin đã nén và gộp ít file css/js, khiến chúng không load được. Lúc đó bạn chỉ cần trả lời lại cmt lại, mình sẽ check và giúp lọc ra các file đó.
Chào admin!
admin có thể hướng dẫn cho tôi cách tối ưu website sử dụng Wordpress được không?
Tôi gặp vấn đề lớn đó là tối ưu dữ liệu và source code mặc dù tôi đã sử dụng liteSpeed Cache cho web mà vẫn bị lỗi. Và lỗi tải trang làm cho trang không thể load được hình ảnh.
Tôi đang sử dụng wordpress 5.0.2, theme flatsome, web bán hàng(woocommerce).
Mong ad sớm phản hồi bình luận của tôi!
cảm ơn ad
Bên mình chỉ có dịch vụ tối ưu website WordPress chứ không có hướng dẫn tối ưu website cho từng cá nhân bạn ạ, kể cả khi bạn trả nhiều tiền. Nếu bạn muốn tiết kiệm chi phí thì có thể tham khảo các bài viết trong serie Tăng tốc WordPress. :)
Nếu xử lý tấc cả các bước trên mà vẫn chậm thì hãy vào xem Cpanel vì có thể là bạn đã bị tấn công, bị chèn mã độc, làm cho CPU của host chạy tối đa. Đây là trường hợp tuy hiếm gặp những nó làm cho web trở nên rất chậm.
Chuẩn rồi. Mình cũng vừa xử lý website cho 1 khách hàng bị nhiễm mã độc hôm qua. Nó làm cho host bị full CPU và chậm như rùa. :P
Hồi đó mình bị tấn công trang web, nó phát sinh ra hàng ngàn trang 404 và đi dùm cho hàng nghìn link, cũng không biết làm sao cho nên lưu lại dữ liệu bài viết, xoá hết mã nguồn, cài lại từ đầu luôn, nhờ bên host xoá hết. Cũng may mà dữ liệu ít nên cài lại cũng khoẻ. Liền sau đó bị gg cảnh cáo, phải gỡ lỗi của GG và cả tháng sau vẫn còn hàng ngàn trang web 404. Nhưng tới giờ vẫn chưa yên tâm là mã độc đã hết chưa.
Chuyển qua dùng host của bên mình đi. Miễn phí quét mã độc và phòng chống tái nhiễm. Mình đã xử lý hàng trăm website cho khách hàng (nhiễm mã độc từ host khác chuyển sang) nhưng chưa thấy trường hợp nào tái nhiễm. :)
Cảm ơn bạn, ổn định được là mừng lắm rồi, không dám di chuyển nữa
Chào anh! Hiện tại e muốn tìm một nhà cung cấp host tốt để chạy con site tmdt tầm gần 2000 sp mỗi sp có thể có 3-5 hình ảnh, chạy slider animation, 5-7 banners, hình có độ phân giải tầm 100-150kb thì phải dùng host như nào cho tốt ạ?
Không cần phải tìm đâu xa. Hãy thử ngay dịch vụ WordPress Hosting của WP Căn bản. :)
Tối ưu các file JS, CSS và HTML luôn là giải pháp hàng đầu để giảm dung lượng load trang, nhưng cần phải tìm hiểu thật kỹ chức năng của từng phần, plugin cũng như theme đang sử dụng. Ví dụ theme Sahifa, tối ưu JS bằng AutoOptimize hay Wp-rocket thì vỡ giao diện và 1 số module, function mất hiệu quả ngay. Do đó người dùng cần test trên localhost hay site demo chứ không nên làm ngay lập tức trước các việc có thể tác động trực tiếp website.
Thực ra là test trực tiếp trên live-site cũng không sao bạn ạ. Bị lỗi thì chỉ cần tắt tính năng tối ưu CSS, JS, HTML đi là xong thôi. Vì nguyên tắc của các plugin này là copy nội dung của các file JS, CSS vào 1 file mới rồi tối ưu chứ không can thiệp trực tiếp vào file gốc. :) Tất nhiên, nếu bạn cẩn thận hơn thì vẫn nên test trước trên site clone hoặc localhost. :D
HTML, CSS, JS, hình ảnh… cũng nên được nén, gộp để giảm kích thước ( Công nhận là làm xong xong thao tác này blog load nhanh hơn rất nhiều, tuy nhiên có thể ko biết cách tối ưu mà giao diện bị vỡ).
Kiểm tra xem file nào gộp vào bị lỗi thì exclude (loại trừ) nó đi là được mà. :)
Bạn Hiếu có bài viết khá toàn diện.
Tuy nhiên đối với hình ảnh, mình thấy nhiều website có cực nhiều ảnh nhưng load vẫn rất nhanh.
Lý do mà mình nghĩ ảnh hưởng nhiều nhất đến tốc độ load trang đó chính là CODE
Chào anh, em có nhúng một số file js ngoài như của Google Maps, Bình luận Facebook… và kiểm tra thấy những file đó làm web bị chậm. giờ có cách nào khắc phục không ạ ?
Không có cách nào để khắc phục cả bạn ạ. Cách duy nhất là bỏ chúng đi thôi. :)