Tối ưu hóa hiệu suất trang web bằng cách kiểm soát Hotlinking

Hiệu suất trang web đóng một vai trò quan trọng trong việc thu hút và giữ chân khách hàng. Một trong những vấn đề tiềm ẩn có thể ảnh hưởng đến hiệu suất trang web của bạn là Hotlinking. Trong bài viết này, chúng ta sẽ tìm hiểu về Hotlinking và cách kiểm soát nó để tối ưu hóa hiệu suất trang web.

Hiểu về Hotlinking

Hotlinking, còn được gọi là “liên kết trực tiếp,” là hành động mà một trang web khác sử dụng liên kết trực tiếp đến tài nguyên đặt trên trang web của bạn, chẳng hạn như hình ảnh hoặc tệp âm thanh, thay vì tải tài nguyên đó lên máy chủ của họ.

Tại sao Hotlinking có thể gây hại cho trang web của bạn?

Hotlinking có thể gây hại cho trang web của bạn vì nó tiêu tốn băng thông máy chủ của bạn mà không mang lại lợi ích nào.

Để rõ hơn, hãy đặt một tình huống cụ thể như sau:

Bạn có một trang web về tin tức, trong mỗi bài viết của bạn có ít nhất 5 hình ảnh, mỗi ảnh trung bình khoảng 200kb.

Một trang web nào đó tiến hành copy những hình ảnh của bạn và nhúng trực tiếp vào web của họ.

Vấn đề phát sinh từ đây, khi một người dùng truy cập bài viết của bạn, trình duyệt của họ sẽ gửi yêu cầu lên máy chủ của bạn để tải các hình ảnh về trình duyệt. Điều này sẽ yêu cầu máy chủ phải tiêu tốn băng thông cho các tệp hình ảnh được tải về.

Với kịch bản trên, thay vì máy chủ của bạn chỉ phải tiêu tốn mức băng thông khoảng ~1MB cho 5 ảnh được tải xuống, thì bạn phải tốn gấp đôi là ~2MB vì một ai đó nhúng hình ảnh của bạn trên website của họ.

Nếu giả sử trang web kia lấy nội dung của bạn với số lượng lớn hơn, ví dụ như 100, 1000 bài viết thì sao? Chưa kể nếu số lượng truy cập website của họ là 20,000, 30,000 lượt mỗi bài viết thì sao?

Bạn sẽ thấy lượng băng thông khủng khiếp mà máy chủ của bạn phải gánh chịu trong khi bạn chẳng được một xu nào từ họ. Máy chủ và website của bạn sẽ chậm hơn đáng kể với đối thủ của bạn.

Nếu bạn nghĩ bạn chỉ cần sử dụng các máy chủ hosting không giới hạn băng thông là được chứ gì?

Bạn đã lầm! Những lời quảng cáo như Hosting không giới hạn băng thông không hoàn toàn đúng với sự thật.

Nhà cung cấp Hosting của bạn có thể không giới hạn tổng số lượng băng thông hàng tháng mà website của bạn tiêu thụ, nhưng họ sẽ giới hạn tốc độ truyền tải băng thông trên một khoảng thời gian nhất định, ví dụ như 1gbps nội địa và quốc tế.

Điều này thường thấy nhất trên các dịch vụ chia sẻ tài nguyên như Share Hosting, Cloud Hosting hoặc các Cloud Server giá rẻ.

Làm thế nào để kiểm soát Hotlinking?

Để kiểm soát Hotlinking và tối ưu hóa hiệu suất trang web của bạn, bạn có thể thực hiện các biện pháp sau:

1. Cấm Hotlinking

Sử dụng tùy chọn cấm Hotlinking trên máy chủ của bạn để từ chối các yêu cầu liên kết trực tiếp đến tài nguyên của bạn.

Đối với máy chủ Apache, bạn có thể chèn các rewrite rule sau vào .htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]

Giải thích về ý nghĩa của các rewrite rule ở trên.

Ở dòng số 3, bạn cần thay thế yourdomain.com thành tên miền của bạn, dòng này nhằm xác định website nào được phép sử dụng hình ảnh.

Ở dòng số 4, 5 và 6, các dòng này nhằm cho phép các công cụ tìm kiếm vẫn được phép lập chỉ mục và thu thâp dữ liệu, bởi vì vẫn có một số lượng quản trị viên muốn SEO về hình ảnh.

Ở dòng cuối cùng, hãy thay thế link ảnh http://dropbox.com/hotlink-placeholder.jpg thành một link ảnh nào đó mà bạn đã upload lên hệ thống trung gian. Mục đích của việc này đó là thông báo rằng website cho các website khác rằng họ đang sử dụng trái phép hình ảnh của bạn.

Với máy chủ sử dụng Nginx, bạn có thể chèn rule sau vào nginx.conf

location ~ .(gif|png|jpeg|jpg|svg)$ {
     valid_referers none blocked ~.google. ~.bing. ~.yahoo. yourdomain.com *.yourdomain.com;
     if ($invalid_referer) {
        return   403;
    }
}

Hãy nhớ thay thế yourdomain.com thành domain của bạn.

Ở trên các dòng bảng điều khiển hosting phổ biến như Cpanel, Plesk, tùy chọn Hotlink Protect đều được trang bị sẵn, bạn chỉ cần truy cập vào Bảng điều khiển và bật nó lên là xong.

toi uu hoa hieu suat trang web bang cach kiem soat hotlinking cpanel
toi uu hoa hieu suat trang web bang cach kiem soat hotlinking plesk

2. Sử dụng CDN

Content Delivery Network (CDN) có thể giúp phân phối tải trang web của bạn và giảm áp lực lên máy chủ chính.

Bản thân các dịch vụ CDN cũng có sẵn chế độ ngăn chặn hotlinking, nên bạn hoàn toàn có thể ngăn chặn khi phát hiện hình ảnh bị nhúng trái phép.

Bạn hoàn toàn có thể chọn các dòng CDN trả phí để vừa tối ưu hóa hình ảnh, vừa bảo vệ website tốt.

Còn nếu bạn có ngân sách hạn hẹp hơn, hãy thử dùng CDN miễn phí của Cloudflare.com, họ có sẵn Hotlink Protection cho bạn.

toi uu hoa hieu suat trang web bang cach kiem soat hotlinking 4

3. Mã hóa hình ảnh, gắn watermark

Nén và tối ưu hóa hình ảnh trên trang web chỉ giúp giảm kích thước tệp và tăng tốc độ tải trang. Nó không ngăn những trang web khác sử dụng các công cụ tự động để cào và nhúng hàng loạt hình ảnh của bạn.

Việc sử dụng các công nghệ mã hóa và giải mã hình ảnh có thể giúp ích cho bạn, tuy nhiên việc triển khai kỹ thuật này tương đối khó, bạn nên làm việc với lập trình viên của bạn để xem có nên chọn phương án này hay không.

Nếu có thể hãy dán watermark lên các hình ảnh của bạn để khẳng định chủ quyền sở hữu. Điều này cũng khiến những website khác từ bỏ việc làm dụng việc nhúng hình ảnh của bạn.

toi uu hoa hieu suat trang web bang cach kiem soat hotlinking 6

4. Sử dụng plugin

Hầu hết, các plugin bảo mật như Defender Security, Wordfence Security, Solid Security,… đều có sẵn tính năng bảo vệ Hotlinking, bạn có thể chọn một plugin phù hợp với website của mình.

toi uu hoa hieu suat trang web bang cach kiem soat hotlinking 3

Đây là một cách dễ dàng để bạn có thể ngăn chặn việc lạm dụng Hotlinking, tuy nhiên tôi vẫn khuyến khích bạn kích hoạt nó ở cấp độ máy chủ để giảm bớt gánh nặng và giúp website sạch sẽ hơn cho sau này.

Tổng kết

Tối ưu hóa hiệu suất trang web bằng cách kiểm soát Hotlinking là một phần quan trọng trong việc duy trì trang web hoạt động tốt và hấp dẫn. Điều này không chỉ giúp cải thiện trải nghiệm người dùng mà còn có lợi cho SEO của bạn.

Câu hỏi liên quan

Q. Hotlinking có thể gây mất băng thông nhiều không?

A. Tùy theo mức độ lạm dụng mà số lượng băng thông bị chiếm dụng có thể nhiều hoặc ít.

Q. Làm thế nào để tôi kiểm tra xem trang web của tôi có đang bật chặn Hotlinking không?

A. Bạn có thể sử dụng các công cụ trực tuyến như Free Hotlinking Checker để kiểm tra các yêu cầu liên kết đến tài nguyên của bạn. Ngoài ra, việc kiểm tra dữ liệu thống kê băng thông trên hosting cũng là giải pháp hữu hiệu trong trường hợp này.

Q. Tôi cần phải trả phí cho dịch vụ CDN?

A. Có, dịch vụ CDN thường có phí, nhưng chúng mang lại lợi ích đáng kể cho hiệu suất trang web của bạn.

Q. Hotlinking có ảnh hưởng đến SEO của trang web không?

A. Có, Hotlinking có thể ảnh hưởng đến SEO của trang web bởi vì nó có thể làm giảm tốc độ tải và trải nghiệm người dùng.

Leave a Comment