Optional hardening
Your site does not say how much of your page address to share with other sites
Your site does not send a Referrer-Policy header, which controls how much of your page address is passed to other sites when visitors click a link. Current browsers already limit this by default, so this is optional hardening. If you add it, strict-origin-when-cross-origin is the sensible choice.
Your site does not say how much of your page address to share with other sites. The Referrer-Policy header is missing. Current browsers share only your domain when a visitor clicks out, but older browsers and some apps send the full page address.
Send the technical line below to whoever runs your site. Each of these is a one-line change in the server or hosting settings, and none of them changes how the site looks.
What it means
When a visitor clicks a link on your site, or your page loads something from another site, the browser tells that other site where the visitor came from. This is called the referrer.
The referrer can be just your domain, such as https://example.com/, or the full address, such as https://example.com/order/12345?email=jane@example.com. The Referrer-Policy header tells browsers which one to send, and when.
Your site does not send this header, so each browser uses its own default. Chrome, Edge, Firefox and Safari now default to sending only your domain to other sites, and the full address only within your own site. That is the same as the recommended setting.
Why it matters
Page addresses sometimes carry private details: an order number, a search term, a name or email address from a form, or a password reset link. If the full address is sent to another site, that detail goes with it.
Because current browsers already trim the address by default, the real-world gain from adding the header is small. It locks the behavior in for older browsers and makes your choice explicit instead of relying on defaults that could change.
That is why EverThread rates this as optional. It is worth doing if you are already changing headers, especially if your page addresses ever contain customer details. It is not worth losing sleep over.
How to check your own site
- Open your home page in Chrome, Edge or Firefox. Right-click the page, choose Inspect, and open the Network tab.
- Reload the page. Click the first row in the list, which is the page itself, and look at the Response Headers section.
- Look for
referrer-policy. If it is not there, the header is missing and browsers are using their defaults.
How to fix it
Any website
- Use
Referrer-Policy: strict-origin-when-cross-origin. Links within your own site keep the full address, so your own analytics still work. Other sites see only your domain. Nothing is sent from a secure page to a plain http page. - If you want to share even less,
same-originsends nothing at all to other sites. Partners and affiliate programs you link to will then no longer see that visitors came from you, so check that first. - Avoid
unsafe-urlandno-referrer-when-downgrade. Both send your full page address to other sites.
WordPress
- Headers are usually best set at the server or CDN, not inside WordPress.
- Check your host's dashboard for a security headers setting. Names vary by host.
- If your host runs Apache, add the lines from the Apache section below to the
.htaccessfile in your site's main folder. - A plugin is the fallback. Search the plugin directory for "security headers" and pick one that is actively maintained.
Shopify, Squarespace, Wix and other hosted builders
- These platforms run the servers, so you usually cannot add custom headers.
- Referrer-Policy is one of the few settings that also works as a tag on the page. If your platform lets you add code to the page head, add the tag below. In Shopify this is the
theme.liquidfile under Edit code. In Squarespace it is Code Injection. In Wix it is Custom Code. Menu names and plan requirements vary. - The tag protects your visitors the same way, but it is not a header, so EverThread will keep listing the header as missing. Since this is optional, that is fine to leave.
<meta name="referrer" content="strict-origin-when-cross-origin">Cloudflare
- Go to Rules and create a response header rule. Depending on your dashboard, this is under Transform Rules, then Modify Response Header, or under Rules, Overview, as a Response Header Transform Rule.
- Apply it to all incoming requests. Choose Set static, enter
Referrer-Policyas the header name andstrict-origin-when-cross-originas the value, then deploy. - Rules only apply to traffic that goes through Cloudflare, shown as an orange cloud in your DNS settings.
Apache (.htaccess)
- Add these lines to the
.htaccessfile in your site's main folder, or to your server's site settings. This needs themod_headersmodule, which most hosts have on.
<IfModule mod_headers.c>
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>Nginx
- Add this line inside your site's
serverblock, then reload Nginx.
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
What to send your developer
Send Referrer-Policy: strict-origin-when-cross-origin on HTML responses. It matches the modern browser default, so it is a low-risk change that pins the behavior. Individual links can override it with rel="noreferrer" or a referrerpolicy attribute, which is useful for links from pages whose URLs carry tokens, such as password resets. Better still, keep personal data out of URLs entirely and use POST for forms that carry it. The same policy works in a <meta name="referrer"> tag when headers cannot be set. See MDN on Referrer-Policy.
Referrer-Policy: strict-origin-when-cross-origin
Common questions
Will this break my analytics?
Not with strict-origin-when-cross-origin. Your own analytics see full addresses for movement within your site. Sites you link to still see your domain as the source. Only the stricter values, such as no-referrer, hide you from partners' reports.
If browsers already do this, why does EverThread mention it?
Because the header makes the choice yours instead of each browser's, and it covers older browsers that still send full addresses. EverThread marks it as optional for exactly this reason.
What is the difference between referer and referrer?
Only spelling. The original request header was misspelled Referer decades ago and kept for compatibility. The newer policy header uses the correct spelling, Referrer-Policy.