1. Vì Sao WordPress Không Hỗ Trợ Upload SVG Mặc Định?
Mặc dù SVG là định dạng hình ảnh vector phổ biến với ưu điểm vượt trội như dung lượng nhẹ, không bị vỡ hình khi phóng to và hỗ trợ hiển thị sắc nét trên mọi thiết bị, nhưng mặc định WordPress lại không cho phép upload file SVG.
Lý do chính: Vấn đề bảo mật. File SVG là dạng tệp XML, có thể chứa mã độc hoặc đoạn script nếu không được kiểm soát đúng cách. Chính vì vậy, WordPress đã vô hiệu hóa upload SVG để đảm bảo an toàn cho hệ thống.
2. Có Nên Sử Dụng Plugin Để Upload SVG?
Trên thực tế, có nhiều plugin hỗ trợ upload SVG. Tuy nhiên, việc cài quá nhiều plugin có thể làm web nặng, giảm tốc độ và ảnh hưởng đến hiệu suất. Đặc biệt với những ai thích một website nhẹ nhàng, tối ưu, thì cách tốt nhất là thêm đoạn code đơn giản vào file functions.php, hoàn toàn không cần cài thêm plugin.
Kinh nghiệm thực tế: Mình đã từng tối ưu cho hơn 200 website. Trong đó, có tới 70% khách hàng phản ánh rằng sau khi gỡ bớt các plugin không cần thiết (trong đó có plugin hỗ trợ SVG), tốc độ web tăng trung bình 20-30%.
3. Cách Cho Phép Up Ảnh SVG Mà Không Cần Cài Plugin
Bước 1: Thêm Code Hỗ Trợ SVG Vào File functions.php
Mở file functions.php
trong theme hoặc child theme bạn đang sử dụng, sau đó thêm đoạn code dưới đây:
1 2 3 4 5 6 7 | // Cho phép upload file SVG function muathemewpgiare_allow_svg_uploads($file_types) { $new_filetypes = array(); $new_filetypes['svg'] = 'image/svg+xml'; return array_merge($file_types, $new_filetypes); } add_filter('upload_mimes', 'muathemewpgiare_allow_svg_uploads'); |
Bước 2: Kích Hoạt Upload Không Kiểm Tra MIME
Mở file wp-config.php
và thêm đoạn sau (đặt phía trên dòng /* That's all, stop editing! Happy publishing. */
):
1 | define('ALLOW_UNFILTERED_UPLOADS', true); |
Lưu ý: Đoạn cấu hình này cho phép upload file không lọc MIME, không chỉ riêng SVG. Bạn cần sử dụng cẩn thận, đảm bảo file tải lên là an toàn, không chứa mã độc.
Bước 3: Kiểm Tra Upload File SVG
Truy cập Media → Thêm mới (Media → Add New).
Kéo file
.svg
vào và kiểm tra. Nếu bạn thấy file upload thành công, đồng nghĩa rằng mọi thứ đã hoạt động chính xác.
4. Ưu Nhược Điểm Của Phương Pháp Này
Ưu Điểm | Nhược Điểm |
---|---|
Nhẹ, không cần plugin | File SVG có thể chứa mã độc nếu không kiểm soát nguồn file |
Tối ưu tốc độ web | Cần kiến thức cơ bản về chỉnh sửa code |
Đơn giản, dễ thực hiện | Phải đảm bảo file SVG từ nguồn uy tín |
Mẹo nhỏ: Chỉ nên upload file SVG do chính bạn thiết kế hoặc từ nguồn đáng tin cậy. Tránh tải SVG từ các website không rõ nguồn gốc.
5. Cách Kiểm Tra File SVG An Toàn Trước Khi Upload
Mở file SVG bằng Notepad hoặc bất kỳ trình soạn thảo text nào.
Kiểm tra xem bên trong chỉ chứa các thẻ
<svg>...</svg>
và các thuộc tính vẽ hình.Đảm bảo không có đoạn script như
<script>...</script>
hoặc các mã nhúng khả nghi.
Nếu bạn không rành, có thể sử dụng các công cụ như SVG Sanitizer (tìm trên Google) để làm sạch file trước khi upload.
6. Nâng Cao – Cách Hạn Chế Chỉ Admin Được Upload SVG
Nếu bạn muốn an toàn hơn, có thể giới hạn quyền upload SVG chỉ dành cho quản trị viên. Thêm đoạn code sau vào functions.php
:
1 2 3 4 5 6 7 | function muathemewpgiare_restrict_svg_to_admin($file_types) { if (current_user_can('administrator')) { $file_types['svg'] = 'image/svg+xml'; } return $file_types; } add_filter('upload_mimes', 'muathemewpgiare_restrict_svg_to_admin'); |
Tác dụng:
Chỉ tài khoản có quyền Administrator mới có thể upload SVG.
Các vai trò khác như Editor, Author, Contributor sẽ không thể upload SVG, giúp hạn chế rủi ro.
7. Kết Luận – Up Ảnh SVG Trên WordPress Đơn Giản Hơn Bạn Nghĩ
Việc cho phép up ảnh SVG mà không cần cài plugin hoàn toàn khả thi, đơn giản và an toàn nếu bạn biết cách thực hiện đúng. Đây là giải pháp cực kỳ phù hợp cho những website cần sự tối ưu về tốc độ, đặc biệt là các trang thiết kế hiện đại, cần icon vector hoặc logo chất lượng cao.
Ghi nhớ: Đừng ngại chỉnh sửa chút code — đổi lại là một website gọn nhẹ, chạy nhanh và chuyên nghiệp hơn hẳn.