Khi ta upload ảnh trong WordPress, hệ thống tự tạo những file ảnh có kích thước nhỏ hơn dựa trên kích thước của ảnh gốc, các file kích thước được khai báo sẵn là

  • thumbnail (150 x 150)
  • medium (300 x 300)
  • medium-large (768 x ?)
  • large (1024 x 1024)

Nếu có dùng WooCommerce, plugin này sẽ tự tạo thêm các file kích thước

  • shop_thumbnail (180 x 180)
  • shop_catalog (300 x 300)
  • shop_single (600 x 600)

Mỗi plugin hay theme đều có thể sẽ tạo ra các ảnh với các kích thước khác nhau, tùy vào mục đích của tác giả. Thế nên, khi ta upload 1 file ảnh có kích thước lớn hơn 1024 px, thì có đến ít nhất 5 files được lưu trên server. Điều này có thể sẽ tiêu tốn kha khá dung lượng lưu trữ, cũng như số lượng file trên server trong tương lai.

Mình có cân nhắc tới việc hủy cơ chế tự tạo các file ảnh này của WordPress để tối ưu dung lượng lưu trữ trên server. Code được chèn vào file functions.php như sau

function remove_default_image_sizes( $sizes ) {
  unset( $sizes[ 'thumbnail' ] );
  unset( $sizes[ 'medium'] );
  unset( $sizes[ 'medium_large'] );
  unset( $sizes[ 'large'] );
  return $sizes;
}
add_filter( 'intermediate_image_sizes_advanced', 'remove_default_image_sizes' );

Lưu ý: Nên giữ lại ảnh tự tạo từ plugin WooCommerce nếu muốn các trang liên quan hoạt động ổn định.