워드프레스 관련 네이버 카페에 망보드 플러그인을 활용하여 방문자가 글을 작성하도록 허용할 때 게시판 게시물 내에 링크를 추가할 경우 nofollow 속성을 추가할 수 있는 방법에 대한 질문이 최근에 올라온 적이 있습니다. 망보드 스킨 파일을 수정하여 링크에 nofollow를 추가하는 것이 가능합니다.
워드프레스 망보드 플러그인: 사용자가 등록하는 게시물 내의 링크에 nofollow 속성 추가하기
Rank Math SEO 플러그인의 기능 사용하기
쉬운 방법으로는 SEO 플러그인의 기능을 활용할 수 있습니다. 예를 들어, Rank Math 플러그인에서는 외부 링크(eternal link)에 [**nofollow**] 속성을 추가하는 옵션이 있습니다.
Rank Math 검색엔진 최적화 » 일반 설정 » 링크 탭에서 외부 링크 팔로우 안 함(Nofollow External Links) 옵션을 활성화하하면 외부 링크에 [**nofollow**] 속성이 일괄적으로 추가됩니다.
이 방법을 이용하면 사이트의 모든 외부 링크에 [**rel="nofollow"**] 속성이 자동으로 추가됩니다.
망보드 스킨 파일 수정하기
망보드 게시물에서만 모든 링크에 [**nofollow**]를 추가하려면 스킨 파일을 수정할 수 있습니다. 먼저 망보드 스킨 커스터마이징 방법에 대한 문서를 참고하여 새로운 스킨 폴더를 만듭니다.
스킨 폴더를 새롭게 만들었다면 스킨 폴더 내의 [**view.php**] 파일을 열어서 두 군데를 수정합니다. 이 작업을 위해서는 FTP/SFTP 접속이 가능해야 합니다.
콘텐츠 영역의 시작에 버퍼링 시작 함수를 추가합니다.
ob_start();
콘텐츠 영역의 끝부분에 버퍼된 콘텐츠를 가져와서 수정한 다음, 출력합니다.
$content = ob_get_clean();
echo str_replace(' href=', ' rel="nofollow" href=', $content);
외부 링크에 대해서만 [**rel="nofollow noopener"**] 속성을 추가하고 싶은 경우에는 최종적으로 다음과 같이 [**view.php**] 파일을 수정합니다.
// ... 코드의 시작부]
<div class="mb-style1 board-view">
<?php
ob_start(); // <-- start buffering
do_action('mbw_board_skin_header');
?>
<!-- ... [나머지 코드] -->
<?php
$content = ob_get_clean(); // <-- get the buffered content
$domain = parse_url(get_bloginfo('url'), PHP_URL_HOST);
$content = preg_replace_callback(
'#<a\s+([^>]*\s+)?href=["\'](http[^"\']+)["\']#i',
function ($matches) use ($domain) {
$link = $matches[2];
if (strpos($link, $domain) === false) { // If it's an external link
return '<a ' . $matches[1] . 'href="' . $link . '" rel="nofollow noopener"';
}
return $matches[0]; // Return the original link if not external
},
$content
);
echo $content; // <-- 수정된 콘텐츠 출력
?>
<script type="text/javascript"> jQuery( document ).ready(function(){ sendBoardViewData('board_hit'); });</script>
코드를 직접 수정하는 것에 어려움을 겪는 경우 다음 파일을 다운로드하여 기존 파일을 대체할 수 있습니다.
FTP를 통해 접속하여 커스텀하려는 스킨 폴더 내의 [**view.php**] 파일을 대체하시기 바랍니다. (상기 파일은 [**bbs_basic**] 스킨 폴더 내의 [**view.php**] 파일을 가지고 수정되었습니다.)
참고
https://avada.tistory.com/2854
https://avada.tistory.com/1994
https://avada.tistory.com/2897