SEO check

Unsafe Cross-Origin Links and rel noopener noreferrer

What rel noopener noreferrer does, whether you still need it, and how our free audit flags insecure cross-origin resources on your page.

Free to use 10 min read Updated Oct 2026

Do you still need rel noopener noreferrer today?

Mostly not. Browsers began treating target="_blank" as if noopener were present between 2019 and 2021: Safari 12.1 first, then Mozilla Firefox 79, then Google Chrome and Microsoft Edge 88, according to the MDN Web Docs compatibility data.

Rule of thumb: noopener is the default now, so write it for clarity and old browsers. Add noreferrer only when you want to hide the referrer.

Two reasons remain to keep typing it. Older and embedded browsers predate the change, and the retired Edge Legacy ignores noopener but does honor noreferrer. The Lighthouse unsafe links audit, a best practices check titled "Links to cross-origin destinations are unsafe", still flags new tab anchors that have neither value.

Be selective with noreferrer, because it hides referral data from partners, and WordPress core stopped adding it automatically in version 5.6. For that effect on every link at once, the Referrer-Policy header applies it site wide. The Cross-Origin-Opener-Policy header can isolate a whole site too, but it affects popups and OAuth sign in, so treat it as a second layer.

No direct ranking effect is documented either. Google Search Central describes nofollow, sponsored and ugc for qualifying outbound links and says nothing about noopener or noreferrer there. For link equity questions, see our guide to nofollow, sponsored and ugc.

rel noopener noreferrer in WordPress, React and other platforms

Platforms differ, so verify the rel value in the page source.

PlatformDefault behaviorWhat to do
WordPressThe Gutenberg block editor toggle adds target="_blank". Core's older automatic rel filter was deprecated in 6.7.Do not rely on core. Check the saved markup for a rel value, including themes, widgets and Elementor link settings.
React and JSXNothing is added for you.Write rel="noopener noreferrer" on each target="_blank" anchor. The ESLint rule jsx-no-target-blank flags misses and asks for noreferrer unless allowReferrer is set.
Static HTML and templatesWhatever you typed.Fix it once in the shared link component or partial.
Shopify, Wix and page buildersVaries by theme and element.Look for a link setting or the code view.

Common rel noopener noreferrer mistakes

  • Noreferrer on every link. A partner dashboard then shows your clicks as direct traffic. Keep noreferrer for links where hiding the source is the point.
  • Noopener as an SEO lever. It carries no ranking signal and cannot stand in for nofollow, sponsored or ugc.
  • Fixing anchors only. The rel line turns green while this row stays red, because the http:// image, script and iframe URLs it counts sit in other tags.
  • A stale head tag. One leftover http:// canonical or icon link keeps the count at 1 after the body is clean.
  • Late widgets. Chat, social and ad scripts inject links after load and our crawler sees them, so change them in the widget settings.
  • Trusting a pass too far. Uppercase HTTP://, srcset and media tags are not read, so confirm in the DevTools Issues panel.

How to Fix

The short version, the same steps you see when you click How to Fix in your report.

Why this fails: the Unsafe Cross-Origin Links line counts every img, script, iframe and link URL on your rendered page that starts with http://, whether it points at your own site or a third party. Each one loads or references something unencrypted.

How to fix it:

  1. Open the expanded list in the report (sign in to see the URLs), or search the page source for http:// inside src and href values.
  2. Open each address with https:// first to confirm the host serves it. If it does not, host the file yourself or switch provider.
  3. Change every flagged URL to https://, including link tags in the head such as canonical, icon and preload, which are counted too.
  4. Edit the template, the CMS setting or the stored database content, not only the front end output, so the change survives the next publish.
HTML
<script src="http://cdn.example.com/widget.js"></script>
<script src="https://cdn.example.com/widget.js"></script>

If your report also shows the Noopener and Noreferrer line, add rel="noopener noreferrer" to the external links it flags, starting with those that use target="_blank":

HTML
<a href="https://example.com" target="_blank" rel="noopener noreferrer">Partner site</a>
  • WordPress: edit the block or theme file, run a serialization safe search and replace on stored content after a backup, then check the page source.
  • Static HTML and React: edit the shared link component or partial once.
  • Apache and Nginx: a 301 from http to https plus the header Content-Security-Policy: upgrade-insecure-requests (Apache: Header always set, Nginx: add_header) is a safety net only, because a 301 covers page requests and this check still counts stale http:// URLs in your HTML.

Re-test: clear any page cache, run the report again and confirm Unsafe Cross-Origin Links shows the green check with a count of 0. For the full migration walkthrough, read the Mixed Content guide.

Re-test my website

Frequently Asked Questions

What does rel noopener noreferrer do?
It stops a page opened from your link from reaching back to your tab through window.opener, and it stops the Referer header from being sent. The noopener value covers the first part, and noreferrer adds the second, so the destination sees the visit as direct traffic.
Is rel noopener noreferrer still needed?
Mostly not in modern browsers, because target _blank has implied noopener since Safari 12.1, Firefox 79 and Chrome 88. Keep it for older browsers, clear intent and audits such as the Lighthouse one titled Links to cross-origin destinations are unsafe. Treat noreferrer as optional, since it hides referral data.
What are unsafe cross-origin links?
The phrase has two meanings. In Lighthouse it means new tab links with neither noopener nor noreferrer. In our report it means img, script, iframe and link URLs that start with http://. The section on how SEO Site Checker tests this line explains which one we count.
How do I fix unsafe cross-origin links?
Switch every flagged http:// URL to https:// in your source or CMS content, after confirming the https address works. Then add rel noopener or noreferrer to external links that open in a new tab, clear your cache and run the audit again, following the fix steps above.
Does rel noopener noreferrer affect SEO?
No direct ranking effect is documented. Google describes nofollow, sponsored and ugc for qualifying outbound links and does not list noopener or noreferrer. The only indirect effect is in analytics, where noreferrer can hide your outbound clicks in a partner's referral report.
What is the difference between noopener, noreferrer and nofollow?
Noopener and noreferrer are browser security and privacy values, while nofollow is a hint to search engines about how you relate to the linked page. They can sit together in one rel attribute separated by spaces, for example rel='noopener sponsored'. Our nofollow guide covers nofollow, sponsored and ugc.
Will noreferrer break my analytics or affiliate tracking?
It can. The destination receives no Referer header, so your visits may appear as direct traffic and a partner relying on referral data may not see you as the source. If that matters, use noopener alone. WordPress core stopped adding noreferrer in version 5.6.
Do I need rel noopener on links without target _blank?
No. The risk only exists when a link opens a new tab or window, so same tab links and internal links need no noopener. Our separate Noopener and Noreferrer line is stricter and checks every external anchor, whether or not it uses target _blank.

See how your site scores right now

Paste your address into the free report, then use the How to Fix button on anything that needs work.

Free to use. Results in under a minute for most sites.