Tối ưu hình ảnh WordPress sang WebP tự động

Nỗi đau gặp phải với hình ảnh WordPress
Khi làm các dự án thiết kế web WordPress, tôi nhận ra một vấn đề rất phổ biến: website nhìn đẹp nhưng tốc độ load lại rất chậm. Sau khi kiểm tra bằng PageSpeed và xem dung lượng tài nguyên tải về, tôi phát hiện nguyên nhân chính đến từ hình ảnh quá nặng.
WordPress mặc định cho phép upload các định dạng như JPG, JPEG, PNG. Đây đều là định dạng phổ biến nhưng dung lượng thường rất lớn nếu không được nén kỹ.
Ảnh PNG và JPEG quá nặng
Nhiều khách hàng gửi ảnh banner dung lượng 1–3MB. Chỉ cần vài ảnh lớn ở trang chủ là tổng dung lượng trang có thể lên đến 5–10MB.
Điều này khiến website:
- Load chậm trên mobile
- Tốn băng thông hosting
- Giảm trải nghiệm người dùng
Điểm PageSpeed thấp
Khi kiểm tra bằng Google PageSpeed Insights, tôi thường thấy cảnh báo:
- Serve images in next-gen formats
- Properly size images
- Reduce unused resources
Google gần như luôn khuyến nghị sử dụng WebP.
Website load chậm ảnh hưởng SEO
Website chậm không chỉ ảnh hưởng trải nghiệm người dùng mà còn ảnh hưởng trực tiếp đến SEO:
- Tỷ lệ thoát trang tăng
- Thời gian onsite giảm
- Khó cạnh tranh top tìm kiếm
Tốc độ tải trang là một yếu tố quan trọng trong SEO Onpage. Nếu bạn chưa tối ưu phần này, bạn có thể xem thêm bài hướng dẫn chi tiết về SEO Onpage tại đây để hiểu rõ cách Google đánh giá website.
Lúc đó tôi quyết định phải tối ưu hình ảnh WordPress một cách triệt để.
Chỉ upload được JPEG và PNG gây nhiều bất tiện
Một vấn đề khác tôi gặp khi tối ưu hình ảnh WordPress là hệ thống mặc định chỉ cho upload các định dạng phổ biến như JPEG và PNG.
Điều này gây khá nhiều bất tiện trong quá trình làm việc:
- Không upload trực tiếp được ảnh WebP đã tối ưu sẵn
- Không dùng được các định dạng ảnh mới nhẹ hơn
- Phải convert thủ công bên ngoài rồi đổi lại định dạng
- Mất thêm thời gian xử lý trước khi đăng bài
Ví dụ, có những dự án tôi đã tối ưu toàn bộ ảnh sang WebP bằng công cụ bên ngoài, nhưng khi upload lên WordPress lại bị báo lỗi “file type not permitted”.
Điều này khiến quy trình làm việc bị gián đoạn và không tối ưu. Vì vậy tôi quyết định viết thêm function để mở rộng định dạng upload và kết hợp luôn logic convert ảnh sang WebP tự động, giúp hệ thống xử lý trọn vẹn ngay từ server.
Vì sao tôi không dùng plugin để convert ảnh sang WebP
Trên WordPress có rất nhiều plugin hỗ trợ convert ảnh sang WebP tự động. Tuy nhiên tôi quyết định không dùng vì những lý do sau.
Plugin làm website nặng hơn
Mỗi plugin thêm vào đều:
- Tăng số lượng file tải
- Thêm hook và query
- Tăng tài nguyên server
Nếu website đã dùng WooCommerce, SEO plugin, cache plugin… thì thêm một plugin nữa sẽ làm hệ thống phức tạp hơn.
Dễ xung đột
Plugin tối ưu ảnh có thể xung đột với:
- Theme custom
- CDN
- Plugin cache
- WooCommerce
Tôi muốn kiểm soát toàn bộ logic xử lý ảnh nên không muốn phụ thuộc bên thứ ba.
Khó kiểm soát và phụ thuộc
Khi dùng plugin:
- Không biết chính xác nó xử lý thế nào
- Gỡ plugin có thể lỗi ảnh
- Không tối ưu theo nhu cầu riêng
Vì vậy tôi chọn cách viết function trong functions.php để WordPress tự động chuyển WebP.
Giải pháp: Viết function tự động convert ảnh sang WebP
Mục tiêu của tôi rất đơn giản:
- Tự động convert ảnh sang WebP khi upload
- Cho phép upload tất cả các định dạng ảnh khác
- Không dùng plugin
- Không làm nặng website
- Hoạt động ổn định lâu dài
Cách hoạt động của function
Khi người dùng upload ảnh lên WordPress:
- WordPress nhận file upload
- Function kiểm tra định dạng ảnh
- Nếu file đã là WebP → giữ nguyên, không xử lý lại
- Nếu là JPEG, PNG hoặc các định dạng ảnh hợp lệ khác → tiến hành convert sang WebP
- Chỉ lưu lại file WebP đã tối ưu trong thư mục uploads
- Không giữ lại file gốc để tránh tốn dung lượng
Toàn bộ quá trình diễn ra tự động.
Full code WordPress tự động chuyển WebP
Bạn chỉ cần copy đoạn code ở link github vào file functions.php của theme.
Lưu ý khi sử dụng
- Hosting cần hỗ trợ GD hoặc Imagick
- PHP nên từ 7.4 trở lên
- Server phải bật hỗ trợ WebP
Nếu không đủ điều kiện, function sẽ không tạo được ảnh WebP.
Kết quả sau khi áp dụng
Sau khi triển khai cho các dự án thiết kế web của mình, tôi nhận được kết quả rất rõ ràng.
Dung lượng ảnh giảm 50–70%
Ví dụ thực tế:
- JPEG 800KB giảm còn khoảng 250–300KB
- PNG 1.2MB giảm còn khoảng 300–400KB
Giảm dung lượng nhưng vẫn giữ chất lượng hiển thị tốt.
Tăng tốc website WordPress rõ rệt
Sau khi convert ảnh sang WebP:
- Điểm PageSpeed tăng 15–30 điểm
- Thời gian load trang giảm 1–2 giây
- Website mượt hơn trên mobile
Điều này ảnh hưởng trực tiếp đến tỷ lệ chuyển đổi.
Hosting nhẹ hơn
Ảnh nhẹ hơn đồng nghĩa:
- Ít băng thông
- Ít tài nguyên CPU
- Phù hợp cả hosting tầm trung
Đây là lợi ích lâu dài chứ không chỉ ngắn hạn.
SEO cải thiện
Google ưu tiên:
- Website load nhanh
- Trải nghiệm người dùng tốt
- Hình ảnh định dạng thế hệ mới
Sau khi tối ưu hình ảnh WordPress bằng WebP, tôi thấy website index nhanh hơn và ổn định thứ hạng tốt hơn.
Vì sao WebP quan trọng khi tăng tốc website
WebP là định dạng ảnh do Google phát triển.
Ưu điểm:
- Nhẹ hơn JPEG
- Giữ chất lượng tốt
- Hỗ trợ hầu hết trình duyệt hiện nay
Nếu bạn muốn tăng tốc website WordPress một cách bền vững thì WebP gần như là bắt buộc.
Tôi áp dụng kỹ thuật này cho tất cả dự án thiết kế web
Sau khi test ổn định, tôi đã tích hợp sẵn logic convert ảnh sang WebP vào toàn bộ hệ thống theme của mình.
Khi bàn giao website cho khách:
- Ảnh đã tự động tối ưu
- Không cần cài plugin
- Không lo xung đột
Website được tối ưu ngay từ đầu thay vì sửa chữa khi đã chậm.
Kết luận
Tối ưu hình ảnh WordPress không phải là việc làm thêm sau này, mà nên thực hiện ngay từ đầu.
Việc WordPress tự động chuyển WebP bằng custom function giúp:
- Giảm dung lượng ảnh
- Tăng tốc website
- Cải thiện SEO
- Kiểm soát hoàn toàn hệ thống
Nếu bạn đang xây dựng website và muốn tối ưu tốc độ ngay từ nền tảng, tôi đã có hệ thống theme được tối ưu sẵn, bao gồm convert ảnh sang WebP tự động và cấu trúc chuẩn SEO.
Tốc độ website không chỉ là kỹ thuật.
Đó là lợi thế cạnh tranh.