Xóa chuỗi phiên bản khỏi các tệp JS và CSS trong WordPress

Chuỗi phiên bản trong WordPress thường có dạng “?ver=xxx”, việc xóa chuỗi phiên bản này giúp cải thiển thiện hiệu xuất cache và băng thông tiêu thụ. Trong bài viết này, tôi sẽ hướng dẫn bạn cách để xóa bỏ nó một cách nhanh chóng.

Tại sao chuỗi phiên bản “?ver=xxx” được thêm vào các tệp JS và CSS?

Chuỗi phiên bản khi xem ở chế độ nguồn trang.

Nhận diện và bảo trì nội bộ

Một số plugins, themes dựa vào chuỗi phiên bản “?ver=xxx” để nhận diện các phiên bản đã thiết kế, từ đó thực thi lệnh cập nhật khi được chỉ định.

Caching và Cache Busting

Việc các tệp JS, CSS có thêm chuỗi phiên bản “?ver=xxx” thường được sử dụng để đảm bảo rằng khi tệp JS hoặc CSS được cập nhật, trình duyệt không sử dụng phiên bản cũ từ bộ nhớ cache mà thay vào đó sẽ tải phiên bản mới nhất từ máy chủ. Điều này giúp tránh các vấn đề liên quan đến cache và đảm bảo người dùng nhận được các bản cập nhật mới nhất của trang web.

Tại sao nên xóa bỏ chuỗi phiên bản “?ver=xxx” khỏi các tệp JS và CSS?

Sử dụng tham số “?ver=xxx” trong các tệp JS và CSS có thể gây ra các vấn đề về bộ nhớ cache.

Khi bạn kích hoạt chế độ Browser Cache (Bộ nhớ đệm trình duyệt), các tệp tài nguyên như HTML, CSS, JS, Font, Image,… sẽ được lưu vào bộ nhớ của trình duyệt. Cơ chế này giúp tiết kiệm tài nguyên và băng thông tiêu thụ khi bạn truy cập website nhiều lần.

Các trình duyệt web và dịch vụ CDN Proxy cũ hiểu rằng đây là một tệp tài nguyên động và buộc tải lại tệp trực tiếp từ máy chủ mỗi khi truy cập.

Điều này dẫn tới hiệu quả của Browser CacheCDN giảm đi rất nhiều.

Làm đẹp chỉ số trên các công cụ đo tốc độ Pagespeed Insight, Gtmetrix,…

Một số người sẽ xem các công cụ như Pagespeed Insight, Gtmetrix như là thước đo và tiêu chuẩn tốc độ của trang web. Các công cụ này thường sẽ khuyến nghị về việc xóa bỏ các chuỗi truy vấn (Remove Query Strings) để cải thiện bộ nhớ cache.

Việc xóa bỏ chuỗi phiên bản “?ver=xxx” sẽ cải thiện điểm số của bạn trên các công cụ này, tuy nhiên điều quan trọng mà bạn cần chú ý là trải nghiệm và tốc độ thực tế thay vì những điểm số như trên.

Cách xóa bỏ chuỗi phiên bản “?ver=xxx” khỏi các tệp JS và CSS?

Xóa bỏ chuỗi phiên bản “?ver=xxx” thông qua file Functions.php của giao diện

Để thực hiện theo cách này, bạn hãy sao chép và dán các hàm dưới đây vào file functions.php của giao diện.

/*------------ Remove "?ver=" in URL ------------*/
function remove_string_version( $src ) {
	if ( strpos( $src, 'ver=' ) ) {
		$src = remove_query_arg( 'ver', $src );
	}
	return $src;
}
add_filter( 'script_loader_src', 'remove_string_version', 15, 1 );
add_filter( 'style_loader_src', 'remove_string_version', 15, 1 );

/*------------ Remove version in Head and RSS------------*/
function remove_version_in_head_rss() {
    return '';
}
add_filter('the_generator', 'remove_version_in_head_rss');

Sau khi chèn xong thì bạn file functions.php sẽ trông giống như ảnh dưới

Chèn code xóa chuỗi phiên bản ?ver=xxx trong file functions.php

Nguyên lý hoạt động đó là các hàm trên sẽ tìm và thực hiện xóa bỏ các chuỗi phiên bản “?ver=” trong URL của các tệp JS, CSS. Đồng thời vô hiệu hóa chức năng hiển thị chuỗi phiên bản trong Head và RSS của WordPress.

Xóa bỏ chuỗi phiên bản “?ver=xxx” bằng plugin

Hầu hết các plugin cache đều có chức năng xóa bỏ chuỗi phiên bản này, có thể kể đến như Litespeed Cache, W3 Total Cache,…

Bạn chỉ cần cài đặt 1 trong các plugin trên và thực hiện kích hoạt tính năng Remove Query Strings (Xóa các chuỗi truy vấn) theo hướng dẫn của plugin đó là được.

Xóa chuỗi phiên bản trong plugin Litespeed cache.

Tổng kết

Việc tối ưu những thành phần nhỏ như xóa bỏ chuỗi phiên bản “?ver=xxx” sẽ góp phần cải thiện tốc độ và hiệu xuất tổng thể của web. Nếu bạn có ý kiến hoặc cách làm tối ưu hơn, hãy bình luận ở bên dưới nhé.

Câu hỏi thường gặp?

Q. Loại bỏ chuỗi phiên bản “?ver=xxx” có tác động đến SEO không?

A. Không, việc loại bỏ phiên bản “?ver=xxx” không ảnh hưởng đến SEO của trang web.

Q. Tôi có thể mất dữ liệu nếu loại bỏ phiên bản “?ver=xxx” từ các tệp JS và CSS không

A. Không, việc loại bỏ phiên bản “?ver=xxx” không ảnh hưởng đến dữ liệu trên trang web của bạn.

Leave a Comment