Referrer Policy
Header HTTP hoặc thuộc tính HTML điều khiển mức độ thông tin referrer được gửi khi chuyển hướng hoặc tải tài nguyên bên ngoài.
Referrer Policy là gì?
Referrer Policy là một cơ chế kiểm soát mức độ thông tin về trang nguồn (referrer) được gửi đi khi trình duyệt yêu cầu tài nguyên bên ngoài — như ảnh, script, iframe, hoặc khi người dùng nhấp vào liên kết dẫn đến trang khác. Chính sách này được thiết lập qua header HTTP Referrer-Policy hoặc thuộc tính HTML referrerpolicy trên thẻ <a>, <img>, <script>, <iframe> và một số thẻ khác.
Giá trị của chính sách xác định trình duyệt có gửi URL đầy đủ, chỉ phần gốc (origin), hay không gửi gì cả — tùy vào mức độ bảo mật và quyền riêng tư mà chủ sở hữu trang muốn áp dụng.
Tại sao quan trọng trong SEO?
Referrer Policy ảnh hưởng trực tiếp đến khả năng theo dõi lưu lượng và phân tích hành vi người dùng — hai yếu tố then chốt trong tối ưu hóa nội dung và cấu trúc website. Nếu đặt sai, bạn có thể:
- Mất dữ liệu referrer trong Google Analytics hoặc các công cụ phân tích, khiến báo cáo lưu lượng từ các trang đối tác, mạng xã hội hoặc email bị ghi nhận sai thành (direct) / (none);
- Gây lỗi tải tài nguyên bên ngoài (ví dụ: font từ Google Fonts, CDN hình ảnh, script quảng cáo), làm chậm tốc độ trang và ảnh hưởng đến Core Web Vitals;
- Ảnh hưởng gián tiếp đến trải nghiệm người dùng nếu các tính năng phụ thuộc vào referrer (như chuyển hướng thông minh, kiểm tra nguồn gọi API) hoạt động không đúng.
Google không xếp hạng trang dựa trực tiếp vào Referrer Policy, nhưng vì nó tác động đến hiệu suất, tính toàn vẹn dữ liệu phân tích và khả năng tương tác với hệ sinh thái web, nên đây là yếu tố kỹ thuật SEO bắt buộc kiểm tra trong audit toàn diện.
Cách hoạt động
Khi trình duyệt thực hiện yêu cầu HTTP (ví dụ: tải ảnh từ https://example.com/image.jpg khi đang ở trang https://site-a.vn/bai-viet), nó có thể gửi header Referer chứa URL nguồn. Giá trị này phụ thuộc vào Referrer Policy được khai báo tại thời điểm yêu cầu:
- Nếu không có chính sách nào, trình duyệt áp dụng giá trị mặc định — hiện tại là
strict-origin-when-cross-origin(theo tiêu chuẩn WHATWG); - Nếu có chính sách cụ thể trên toàn miền (qua header HTTP), nó áp dụng cho mọi yêu cầu từ trang đó;
- Nếu có thuộc tính
referrerpolicytrên từng thẻ, giá trị đó sẽ ghi đè chính sách toàn cục cho yêu cầu riêng lẻ đó.
Hướng dẫn thực hiện
Dưới đây là các cách triển khai phổ biến, an toàn và phù hợp với mục tiêu SEO:
- Thiết lập qua header HTTP (khuyến nghị cho toàn bộ website):
Thêm dòng sau vào cấu hình web server:
- Apache (
.htaccess):Header set Referrer-Policy "strict-origin-when-cross-origin" - Nginx:
add_header Referrer-Policy "strict-origin-when-cross-origin" always; - Cloudflare: Thiết lập trong Rules → HTTP Response Header
- Apache (
- Sử dụng thẻ
<meta>(chỉ áp dụng cho tài liệu HTML, không ảnh hưởng đến yêu cầu từ script hoặc iframe):
<meta name="referrer" content="strict-origin-when-cross-origin"> - Áp dụng trên từng thẻ khi cần kiểm soát chi tiết:
<a href="https://doi-tac.com" referrerpolicy="no-referrer">Liên kết đối tác</a>
<img src="https://cdn.example.com/photo.jpg" referrerpolicy="origin">
Lưu ý: Giá trị no-referrer chặn hoàn toàn referrer — chỉ dùng khi cần bảo mật cao (ví dụ: trang thanh toán). Với đa số trang nội dung, strict-origin-when-cross-origin là lựa chọn cân bằng nhất giữa bảo mật và khả năng theo dõi.
Lỗi thường gặp
- Lỗi 1: Đặt
no-referrertoàn cục
→ Dẫn đến mất toàn bộ dữ liệu referrer trong Google Analytics, đặc biệt từ mạng xã hội và email.
Cách khắc phục: Chuyển sangstrict-origin-when-cross-originhoặcorigin-when-cross-origin. - Lỗi 2: Giá trị không hợp lệ hoặc viết sai chính tả
→ Trình duyệt bỏ qua chính sách và dùng giá trị mặc định — gây bất định trong phân tích.
Cách khắc phục: Kiểm tra chính tả bằng công cụ như SecurityHeaders.com hoặc DevTools → tab Network → xem header phản hồi. - Lỗi 3: Mâu thuẫn giữa header và thẻ
<meta>
→ Header HTTP luôn ưu tiên hơn thẻ<meta>. Nếu cả hai cùng tồn tại với giá trị khác nhau, thẻ<meta>bị bỏ qua.
Cách khắc phục: Loại bỏ thẻ<meta>nếu đã thiết lập qua header, hoặc thống nhất giá trị.
Ví dụ thực tế
Một trang tin tức Việt Nam (https://baoviet.vn/tin-moi) nhúng ảnh từ CDN quốc tế (https://cdn.baoviet.vn/photo.jpg). Nếu Referrer Policy được đặt là origin, trình duyệt sẽ gửi Referer: https://baoviet.vn — đủ để CDN xác thực nguồn gọi, nhưng không tiết lộ đường dẫn cụ thể (giữ riêng tư). Ngược lại, nếu đặt no-referrer, CDN không nhận được thông tin nào và có thể từ chối phục vụ ảnh — gây lỗi hiển thị và làm tăng tỷ lệ thoát.
Bảng dưới đây so sánh các giá trị phổ biến:
| Giá trị | Mô tả ngắn | Phù hợp với SEO? | Ghi chú |
|---|---|---|---|
strict-origin-when-cross-origin |
Gửi origin đầy đủ khi cùng nguồn; gửi origin (không path/query) khi khác nguồn; gửi full URL khi chuyển hướng cùng nguồn. | Có — khuyến nghị mặc định | Được hỗ trợ từ Chrome 64+, Firefox 69+, Safari 15.4+ |
origin-when-cross-origin |
Gửi full URL khi cùng nguồn; gửi chỉ origin khi khác nguồn. | Có — nhưng ít bảo mật hơn | Phù hợp nếu cần dữ liệu referrer chi tiết từ các trang đối tác |
no-referrer |
Không gửi bất kỳ thông tin referrer nào. | Không — trừ trường hợp đặc biệt | Gây mất dữ liệu phân tích, dễ ảnh hưởng đến Core Web Vitals |
unsafe-url |
Gửi full URL trong mọi trường hợp — kể cả khi xuống HTTP. | Không — nguy cơ rò rỉ thông tin nhạy cảm | Không bao giờ sử dụng trên trang HTTPS có form đăng nhập hoặc thanh toán |
Câu hỏi thường gặp
Referrer Policy có ảnh hưởng đến thứ hạng Google không?
Không trực tiếp. Google không dùng Referrer Policy làm tín hiệu xếp hạng. Tuy nhiên, nếu chính sách gây lỗi tải tài nguyên, làm chậm trang hoặc làm hỏng phân tích hành vi người dùng, thì các yếu tố gián tiếp như Core Web Vitals, tỷ lệ thoát hoặc thời gian ở lại có thể bị ảnh hưởng — từ đó tác động đến hiệu quả SEO dài hạn.
Tôi nên kiểm tra Referrer Policy ở đâu?
Dùng trình duyệt Chrome hoặc Edge: mở DevTools → tab Network → tải lại trang → click vào bất kỳ yêu cầu nào → xem phần Response Headers. Tìm dòng Referrer-Policy. Ngoài ra, có thể kiểm tra nhanh tại securityheaders.com hoặc Observatory by Mozilla.
Có cần thiết lập Referrer Policy cho trang tĩnh (HTML thuần)?
Có. Ngay cả trang HTML không có backend vẫn có thể gửi referrer khi người dùng nhấp liên kết hoặc tải tài nguyên. Việc thiết lập giúp kiểm soát dữ liệu xuất đi, đảm bảo tính nhất quán và tuân thủ chính sách bảo mật nội bộ — đặc biệt khi trang nằm trong hệ sinh thái doanh nghiệp hoặc có liên kết tới các hệ thống nhạy cảm.