워드프레스 망보드 플러그인: 사용자가 등록하는 게시물 내의 링크에 nofollow 추가하기

워드프레스 정보를 제공하는 블로그 Avada 2023. 10. 3. 00:20 • 댓글:

워드프레스 관련 네이버 카페에 망보드 플러그인을 활용하여 방문자가 글을 작성하도록 허용할 때 게시판 게시물 내에 링크를 추가할 경우 nofollow 속성을 추가할 수 있는 방법에 대한 질문이 최근에 올라온 적이 있습니다. 망보드 스킨 파일을 수정하여 링크에 nofollow를 추가하는 것이 가능합니다.

워드프레스 망보드 플러그인: 사용자가 등록하는 게시물 내의 링크에 nofollow 속성 추가하기

Rank Math SEO 플러그인의 기능 사용하기

쉬운 방법으로는 SEO 플러그인의 기능을 활용할 수 있습니다. 예를 들어, Rank Math 플러그인에서는 외부 링크(eternal link)에 [**nofollow**] 속성을 추가하는 옵션이 있습니다.

Rank Math 검색엔진 최적화 » 일반 설정 » 링크 탭에서 외부 링크 팔로우 안 함(Nofollow External Links) 옵션을 활성화하하면 외부 링크에 [**nofollow**] 속성이 일괄적으로 추가됩니다.

워드프레스 망보드 플러그인: 사용자가 등록하는 게시물 내의 링크에 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>

코드를 직접 수정하는 것에 어려움을 겪는 경우 다음 파일을 다운로드하여 기존 파일을 대체할 수 있습니다.

view.php
0.01MB

FTP를 통해 접속하여 커스텀하려는 스킨 폴더 내의 [**view.php**] 파일을 대체하시기 바랍니다. (상기 파일은 [**bbs_basic**] 스킨 폴더 내의 [**view.php**] 파일을 가지고 수정되었습니다.)

참고

https://avada.tistory.com/2854

 

클라우드웨이즈(Cloudways) SFTP 접속 방법

해외 클라우드 호스팅인 클라우드웨이즈(Cloudways)를 사용하면 Amazon AWS, Vultr, DigitalOcean, Linode 등의 서버를 생성하여 수월하게 관리할 수 있습니다. AWS 등에서는 SFTP나 SSH에 접속하려면 까다로운

avada.tistory.com

https://avada.tistory.com/1994

 

해외호스팅 블루호스트 FTP 사용하기 (계정 생성 및 파일질라 설정)

해외호스팅 중 하나인 블루호스트 (Bluehost)에서 FTP를 통해 파일을 웹호스팅 서버로 업로드하거나 다운로드할 수 있습니다. FTP와 함께 File Manager (파일 관리자)를 사용하면 보다 빠르고 편리하게

avada.tistory.com

https://avada.tistory.com/2897

 

엘리멘터 무료 버전 vs. 프로 버전 비교

엘리멘터(Elmentor)는 500만 개가 넘는 사이트에 설치되어 사용되고 있는 인기 워드프레스 페이지 빌더 플러그인입니다. 엘리멘터는 무료 버전과 프로 버전으로 제공됩니다. Elementor 프로 버전에서

avada.tistory.com