All links in "header" have _blank as target and "rel=noopener noreferrer" attributes, why? | Community
Skip to main content
Answered

All links in "header" have _blank as target and "rel=noopener noreferrer" attributes, why?

  • March 15, 2026
  • 1 reply
  • 31 views

We are using the Intercom helpcenter and in the “header” section of the helpcenter, we added a link to a place where customers can login. Aim is that after a succesful login, the visitor creates conversations in the messenger as authenticated (JWT) users.

Our problem now is that all the links in the helpcenter have:

  • Target attribute with value “_blank”
  • And rel attributes with value “noopener noreferrer”

Is there a way to change this? Reason: I want to use the referer as a callback redirect url after succesful login. By instructing the browser not to add the referer, I cannot do this.

 

 

Best answer by Dara K

Hey ​@Rogier Lommers 

This is how the Intercom Help Center currently behaves.

What’s going on

  • The Help Center renderer forces header/footer links to open with target="_blank" and rel="noopener noreferrer".
  • noopener and noreferrer are added for security (to prevent tab-napping and limit cross-origin leakage).
  • Because of noreferrer, the browser does not send the Referer header to your login page, so you can’t reliably use Referer as the post-login redirect target.

This behaviour is not configurable in the Help Center today – you can’t turn off _blank or remove noopener noreferrer just for that login link.

What to do instead:
You’ll need to adjust your login / redirect flow so it doesn’t depend on the HTTP Referer from the Help Center. Typical options:

  • Use an explicit redirect parameter

    • Change the header link to something like:
      https://your-app.com/login?redirect=/help-center
    • On your side, read the redirect param after login and send the user back to the correct page.
  • Use an OAuth-style state / redirect mechanism

    • Link to a fixed login entry point (e.g. /login-start), and include any context you need (locale, brand, etc.) as query params.
    • After authentication, your app uses those params to decide where to send the user, instead of relying on Referer.
  • If you really must derive the destination dynamically

    • Instead of Referer, design the flow so the Help Center page itself encodes where to go (via query / hash) in the URL you link to, and your app reads that.

1 reply

Forum|alt.badge.img+5
  • Intercom Team
  • Answer
  • March 20, 2026

Hey ​@Rogier Lommers 

This is how the Intercom Help Center currently behaves.

What’s going on

  • The Help Center renderer forces header/footer links to open with target="_blank" and rel="noopener noreferrer".
  • noopener and noreferrer are added for security (to prevent tab-napping and limit cross-origin leakage).
  • Because of noreferrer, the browser does not send the Referer header to your login page, so you can’t reliably use Referer as the post-login redirect target.

This behaviour is not configurable in the Help Center today – you can’t turn off _blank or remove noopener noreferrer just for that login link.

What to do instead:
You’ll need to adjust your login / redirect flow so it doesn’t depend on the HTTP Referer from the Help Center. Typical options:

  • Use an explicit redirect parameter

    • Change the header link to something like:
      https://your-app.com/login?redirect=/help-center
    • On your side, read the redirect param after login and send the user back to the correct page.
  • Use an OAuth-style state / redirect mechanism

    • Link to a fixed login entry point (e.g. /login-start), and include any context you need (locale, brand, etc.) as query params.
    • After authentication, your app uses those params to decide where to send the user, instead of relying on Referer.
  • If you really must derive the destination dynamically

    • Instead of Referer, design the flow so the Help Center page itself encodes where to go (via query / hash) in the URL you link to, and your app reads that.