TIẾT KIỆM DUNG LƯỢNG CHO WEBSITE WORDPRESS

Khi quản trị website, dung lượng của toàn bộ mã nguồn đóng vai trò rất quan trọng trong việc vận hành lâu dài. Nếu tổng dung lượng website thấp, việc di chuyển website sang các server khác sẽ dễ dàng hơn và việc sao lưu dữ liệu cũng nhanh chóng, không gặp trở ngại. Ngược lại, nếu dung lượng quá cao so với cần thiết, sẽ gây nhiều khó khăn, đặc biệt là việc sao lưu sẽ trở nên vất vả hơn nhiều.
 
Tuy nhiên, qua quá trình hỗ trợ, mình thấy nhiều bạn làm website mà không chú ý đến việc tối ưu hóa dung lượng mã nguồn đúng cách. Điều này dẫn đến tình trạng nhiều website không có nhiều dữ liệu nhưng tổng dung lượng lại lên đến hàng chục GB. Trong bài viết này, mình sẽ chia sẻ những điều cần biết và nên làm để tiết kiệm dung lượng mà vẫn đảm bảo website hoạt động hiệu quả.
 
TỐI ƯU HÌNH ẢNH TRƯỚC KHI UPLOAD
 
WordPress có một trình quản lý hình ảnh mạnh mẽ, và mình khuyến khích mọi người nên tải ảnh trực tiếp lên host của website để tiện tái sử dụng và quản lý, đồng thời đảm bảo an toàn hơn so với việc upload lên các dịch vụ lưu trữ hình ảnh khác.
 
Tuy nhiên, không phải hình ảnh nào cũng nên upload trực tiếp mà cần phải tối ưu trước. Giả sử ảnh của bạn có độ phân giải lên tới 2k, 3k (chiều rộng tối đa), nhưng thực tế người dùng trên website không cần đến độ phân giải cao như vậy. Nếu chiều rộng nội dung trên website chỉ có 800px, thì dù ảnh của bạn có nét đến mấy cũng chỉ hiển thị được 800px. Người dùng phải click vào để xem ảnh đầy đủ, điều này chỉ cần thiết cho các website nhiếp ảnh hoặc wallpaper yêu cầu chất lượng ảnh cao. Đối với các website bán hàng, ảnh chỉ cần có chiều rộng tối đa là 1000px vì điều này đủ để khách hàng xem sản phẩm. Nếu ảnh quá lớn sẽ làm website tải chậm, dẫn đến việc mất khách hàng do trải nghiệm kém.
 
Kế tiếp, đôi khi dung lượng hình ảnh quá cao so với chất lượng cần thiết để hiển thị trên website. Do đó, trước khi upload, bạn nên giảm dung lượng hình ảnh một cách hợp lý. Việc giảm dung lượng thường không làm giảm chất lượng ảnh đến mức mắt thường có thể nhận thấy, nên bạn không cần quá lo lắng. Bạn có thể cài đặt các plugin như EWWW Image Optimizer, WP Smush hoặc đầu tư $5/tháng để sử dụng Kraken như mình để hình ảnh tự động được tối ưu khi upload lên website.
 
Cuối cùng, hãy kiểm soát các tập tin ảnh tự sinh ra của WordPress mà đôi khi không cần dùng đến. Để quản lý và xóa bớt các ảnh không sử dụng, bạn có thể tham khảo bài viết quản trị hình ảnh trên WordPress toàn tập của mình.
 
KHÔNG NÊN LƯU BẢN BACKUP Ở HOST
 
Backup dữ liệu website nhằm mục đích phục hồi lại khi dữ liệu bị hỏng hoặc khi host hiện tại gặp vấn đề không thể truy cập được và cần di chuyển sang host khác. Do đó, việc lưu bản backup trên chính host đang chạy website gần như vô nghĩa, không chỉ nguy hiểm mà còn tốn dung lượng của host.
 
Bạn nên lưu giữ các tập tin backup ở những nơi an toàn như các dịch vụ lưu trữ đám mây như Dropbox, Google Drive, hoặc Amazon S3 (được khuyến nghị sử dụng). Các dịch vụ này rất uy tín và hầu như không bị gián đoạn, trong khi máy tính cá nhân có thể không an toàn và ổn định hơn host của bạn.
 
Để tránh tốn thời gian tải bản backup về máy rồi upload lên các dịch vụ kia, bạn có thể sử dụng các plugin như BackWPUp hoặc BackupBuddy. Những plugin này sẽ tự động gửi bản backup lên các dịch vụ lưu trữ đám mây một cách nhanh chóng và tiện lợi.
 
KIỂM TRA LOG LỖI VÀ KHÔNG NÊN LOG KHI CHƯA CẦN THIẾT
 
Ngoài việc backup, các tập tin log lỗi hoặc log truy cập (access log) trên host là nguyên nhân chính gây hao tốn tài nguyên của host. Đối với log lỗi website, chúng ta không cần phải lưu log liên tục vì không phải lúc nào cũng cần xem log lỗi. Chỉ khi debug để tìm và vá lỗi thì mới cần bật log lên. Nếu bạn không muốn webserver lưu log lỗi trong website, hãy thêm đoạn sau vào file wp-config.php (tốt nhất là đặt ở đầu file, ngay dưới dòng <?php):
 
tiết kiệm dung lượng cho web, tiết kiệm dung lượng, dung lượng web wordpress
Bên cạnh đó, hãy chắc chắn rằng bạn đã thiết lập WP_DEBUG là false trong wp-config.php để tắt chế độ debug. Đồng thời, xóa các tập tin .log hay error_log trên host nếu có.
 
Đối với access log, nếu bạn sử dụng Shared Host thì không thể tắt đi, nhưng nếu dùng máy chủ riêng thì có thể tắt bằng cách xóa dòng khai báo access log trong tập tin cấu hình của webserver.
 
KIỂM TRA THƯ MỤC WP-CONTENT
 
Có rất nhiều plugin lưu lại những dữ liệu không cần thiết trong thư mục wp-content như các tập tin log của plugin hay các tập tin lưu tạm. Tại thư mục wp-content, ngoại trừ thư mục cache và hình ảnh thì chúng ta không nên lưu gì thêm ở đây.
 
KHÔNG NÊN LƯU VIDEO HOẶC CÁC TẬP TIN NÉN
 
Đối với những website có nhiều video, tốt nhất bạn nên upload lên YouTube nếu không cần bảo mật video. Nếu video của bạn yêu cầu trả phí thành viên mới xem được, càng không nên upload trực tiếp lên host chạy WordPress vì các trình phát thông thường có thể dễ dàng bị download bằng các phần mềm như Internet Download Manager. Thay vào đó, bạn có thể sử dụng Wistia hoặc SproutVideo để chống download.
 
Đối với các tập tin nén để người khác download, bạn có thể upload lên các dịch vụ lưu trữ như Mega.co.nz, Fshare hoặc tìm một dịch vụ máy chủ giá rẻ nhưng có dung lượng lưu trữ lớn để upload và cho người dùng download từ đó.
 
TỐI ƯU DATABASE
 
Cơ sở dữ liệu (database) cũng sử dụng ổ cứng trên host để lưu trữ, nên nếu database của bạn càng lớn thì càng tốn nhiều dung lượng lưu trữ. Khi backup toàn bộ website, dung lượng này sẽ được tính vào bản backup, khiến kích thước bản backup rất lớn. Mình vừa chứng kiến một website WordPress dùng WooCommerce có database lên tới 4GB, trong đó 3.7GB là dữ liệu rác - đây hoàn toàn là sự thật.
 
Bạn hãy chắc chắn đã tối ưu bảng wp_options của database để không chứa nhiều dữ liệu rác. Bên cạnh đó, bạn cũng nên làm sạch thủ công database định kỳ để dữ liệu được thông suốt hơn. Để càng lâu, database sẽ càng lớn và khó tối ưu.
 
Nếu bạn dùng WooCommerce, hãy kiểm tra bảng wp_options xem có lớn không. Nếu lớn, có thể do nó chứa nhiều session và transient không còn sử dụng. Hãy chạy các lệnh sau nhiều lần để dọn dẹp bớt:
 
tiết kiệm dung lượng cho web, tiết kiệm dung lượng, dung lượng web wordpress
 
Nếu database của bạn lớn, cần chạy lệnh này nhiều lần, vì nên giới hạn mỗi lần xóa 20,000 dòng để tránh host bị đơ do MySQL xử lý quá nhiều.
 
Hiện tại database là 32MB, và mình chưa xóa bớt các dữ liệu không dùng đến trong wp_postmeta. Nói như vậy để bạn hiểu rằng WordPress không ăn nhiều database như bạn tưởng.
 
LỜI KẾT
 
Qua nội dung bài ở trên thì mình cũng đã thấy việc tối ưu dung lượng website thực chất không quá phức tạp như chúng ta nghĩ nhưng lợi ích của nó thì rất to lớn, bởi lẽ bạn chắc chắn sẽ không thể nào lưu trữ website trên cùng 1 host trong thời gian dài mà có thể sẽ cần chuyển đi nơi khác, và việc dữ liệu nhẹ sẽ giúp chúng ta làm các việc này nhanh và đơn giản hơn.

 

 HỖ TRỢ TRỰC TUYẾN