Một url đẹp sẽ rất tốt cho SEO và thân thiện với công cụ tìm kiếm, mặc định trong WordPress url các hình ảnh khi upload lên được làm sạch nhưng vẫn giữ lại ký tự có dấu và dấu gạch ngang. Vì thế để có một url dẫn đến hình ảnh đẹp và thân thiện, chúng ta cần sử dụng một số thủ thuật.
Sau đây mình sẽ chia sẻ cho các bạn 2 cách để làm sạch url tên ảnh khi upload.
1. Sử dụng function, code tự viết
Các bạn viết các function này vào trong file function.php, có thể tham khảo 2 cách viết sau:
Cách 1: Function đặt lại tên theo tiêu đề bài viết và thêm vào sau ngẫu nhiên chữ số từ 1 đến 9999
function wp_modify_uploaded_file_names($image_name){ if(isset($_GET['post_id'])){ $post_id = $_GET['post_id']; } elseif( isset($_POST['post_id'])){ $post_id = $_POST['post_id']; } if(is_numeric($post_id)){ $post_obj = get_post($post_id); $post_slug = $post_obj->post_name; if($post_slug){ $random_number = rand(1,9999); $image_name['name'] = $post_slug . '-' . $random_number . '.jpg'; } } return $image_name; }
Ví dụ sau khi đặt lại tên: https://example.com/…/lam-sach-ten-anh-khi-upload-len-website-wordpress-2345.jpg
Cách 2: Function đặt lại tên với chuỗi MD5 được mã hóa từ tên gốc của hình ảnh
function so_3261107_hash_filename($filename){ $info = pathinfo($filename); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; $name = basename($filename, $ext); return md5($name) . $ext; } add_filter('sanitize_file_name', 'so_3261107_hash_filename', 10);
Ví dụ sau khi đặt lại tên: https://example.com/…/6f4bcda5cedd1cadf497b5ef1efad203.jpg
2. Sử dụng plugin
Hiện nay thì có khá nhiều plugin với chức năng đặt lại tên hình ảnh, nhưng mình xin giới thiệu đến các bạn plugin Clean Image Filenames, nhận được nhiều đánh giá tốt của cộng đồng và riêng mình cũng thấy plugin này thật sự hữu ích để tạo ra một url đẹp và thân thiện
Sau khi cài đặt, các bạn vào mục Settings > Media và kéo xuống phần Clean Image Filenames, mục File types các bạn chọn Images only để chỉ làm sạch url ảnh, bạn cũng có thể chọn All file types để làm sạch url cho tất cả các file upload lên website.
Sau đó nhấn Save Changes để lưu lại và trải nghiệm thôi, url sau khi đặt lại tên sẽ có dạng https://example.com/…/lam-sach-ten-anh-khi-upload-len-website-wordpress.jpg cho hình ảnh có tên là “Làm sạch tên ảnh khi upload lên website WordPress”
Lời kết
Với 2 cách trên thì mình khuyên các bạn dùng cách thứ 2, cách này dù sao cũng đơn giản, plugin cũng rất nhẹ, cho ra url đẹp mà không mất nhiều thao tác.
Các bạn có thể tham thảo để thực hiện, chúc các bạn thành công!
Code trên em đưa vào funtion nhưng không sài được ạ