궁금한 내용을 검색해보세요!
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서근 개발노트
티스토리에 팔로잉
FRONT-END/JAVASCRIPT

[JS] 내부링크를 현재 창으로 열도록 해주는 방법

서근
QUOTE THE DAY

-
Written by SeogunSEOGUN

반응형

웹 사이트에 설정되어있는 링크들중에 만약 로컬 페이지의 링크라면, target="_balnk"로 설정되어 새창으로 열리는 링크를 강제로 현재창으로 바꿔주는 스크립트에 대해 알아보겠습니다.

내부 링크와 외부 링크

SEO 최적화 중에 내부 링크와 외부 링크를 사용하는 것은 조금 구별된다고 합니다.

  • 내부 링크: 내 사이트 내의 다른 글로 연결되는 링크
  • 외부 링크:  타 사이트로 연결되는 링크

외부 사이트로 연결되는 링크를 걸면 내 사이트의 평판 일부를 해당 사이트로 넘겨주게 되므로, SEO 모범 관행 중 하나는 권위 있는 사이트가 아니거나 내가 제어할 수 없는 사이트로 링크를 걸 때에는 target="_blank" rel="nofollow" 속성을 추가합니다.

 

외부 링크를 현재 창으로 열리도록 설정하면 방문자가 해당 링크를 클릭하여 사이트를 이탈하게 되므로 SEO에 좋지 않을 수 있습니다.

 

반대로, 내 사이트의 링크를 새창으로 열리게 한다면 이 또한 이탈률을 증가하게 되는 것이죠.

애드센스와의 관계

이는 애드 센스에서와 의 관계에도 중요하게 작용됩니다. 

 

내 사이트에서 내 사이트로 이동할 때 현재 창에서 열리게 된다면,  링크 클릭 시 다음 페이지가 로드되면서 모바일 전면광고가 노출될 수 있는 상태가 되어 사용자들에게 전면광고가 노출될 수 있는 확률이 높아지게 된다고 합니다.

내부 링크와 외부 링크의 사용

정리해보자면 다음과 같습니다.

  • 내부 링크: 현재 창에서 열기 
  • 외부 링크: 새창으로 열기

내 사이트 링크를 현재 페이지로 바꿔주는 스크립트

이미 블로그나 개인 웹사이트에 설정된 내부 링크 즉, target="_blank" 링크를 일일이 변경해주기 어렵다면, 로컬 사이트를 판별하여 내 사이트라면 target="_blank"를 무시하고 현재 페이지에서 열리게 해 줄 수 있습니다.

 

아래 코드를 복학하여 html 내부의 </body> 바로 위에 적용시켜 주면 됩니다.

<body>

  <!--이곳에 스크립트 붙여넣기-->
  
</body>
<script>
  var links = document.getElementsByTagName("a");
  var thisHref = window.location.hostname;
  for (var i = 0; i < links.length; i++) {
    templink = links[i].href;
    a = getLocation(templink);
    if (a.hostname == thisHref) {
      links[i].removeAttribute("target");
    }
  }

  function getLocation(href) {
    var location = document.createElement("a");
    location.href = href;
    if (location.host == "") {
      location.href = location.href;
    }
    return location;
  };
</script>

적용 후, target="_blank"로 되어이 있는 내부 링크를 클릭하면 새창으로 열리지 않고 현재 페이지에서 열리는 것을 확인할 수 있습니다.


오늘은 이렇게 웹  사이트에 설정되어있는 링크들 중에 만약 로컬 페이지의 링크라면, target="_balnk"로 설정되어 새창으로 열리는 링크를 강제로 현재 창으로 바꿔주는 스크립트에 대해 알아보았습니다.

 

읽어주셔서 감사합니다🤟


잘못된 내용이 있으면 언제든 피드백 부탁드립니다.


서근


위처럼 이미지 와 함께 댓글을 작성할 수 있습니다.