사이트에 달리는 스팸 댓글 때문에 골치 아프신가요?
저희도 같은 경험을 했습니다. 하루 평균 100개의 스팸 댓글이 달리던 시절이 있었으니까요.
일일이 수동으로 삭제하다 보면 정말 지치게 됩니다. 여러분도 분히 그럴 겁니다.
저희는 스팸 댓글 관리에 드는 시간과 노력을 줄이기 위해 다양한 방법을 실험해 봤고, 그중에서 실제로 효과가 좋은 방법들을 찾아냈습니다.
이 글에서는 워드프레스에서 스팸 댓글을 차단하는 구체적인 방법을 모두 알려드립니다.
본격적으로 시작하기 전에 "애초에 왜 내 사이트에 스팸 댓글이 달리는 걸까?"라는 궁금증이 드신다면, 아래 '스팸 봇은 왜 내 사이트를 노릴까?' 섹션으로 바로 건너뛰셔도 좋습니다.
워드프레스 댓글 스팸 예방 방법
매일 수백 개의 스팸 댓글이 달린다면 빠른 대응이 무엇보다 중요합니다. 설정이 쉬우면서도 확실하게 작동해 시간과 노력을 아껴주는 솔루션이 필요합니다.
선호도 순으로 정리한 추천 방법은 다음과 같습니다.
1. 플러그인으로 워드프레스 댓글 스팸 막기
스팸 댓글을 차단하거나 제거하는 가장 쉬운 방법은 플러그인을 활용하는 것입니다. 설치와 설정이 간단하고 시간을 크게 절약할 수 있습니다.
특히 유용했던 플러그인들을 소개합니다.
① Akismet으로 무료 댓글 스팸 차단하기 (기본 내장)
Akismet은 모든 워드프레스 사이트에 기본으로 설치되어 있는 스팸 방지 플러그인입니다. 자가 학습 알고리즘으로 댓글을 분석하여, 명백한 스팸은 자동으로 제거하고 나머지는 검토 대상으로 분류해 줍니다.
활성화 방법은 다음과 같습니다.
- 관리자 대시보드에서 플러그인 메뉴를 클릭합니다. 설치된 플러그인 목록에서 Akismet을 찾아 활성화를 누릅니다.
- Akismet 계정 설정 화면이 나타나면 "Set up your Akismet account"를 클릭합니다.
- Akismet 웹사이트로 이동하면 요금제를 선택할 수 있습니다. 개인 또는 비영리 블로그용 무료 요금제와 상업용 사이트를 위한 유료 옵션이 있습니다. 선택 후에는 사이트 URL, 이메일 주소 등의 정보를 입력하면 됩니다.
- 모든 정보를 입력하고 나면 Akismet이 API 키를 이메일로 발송합니다. 워드프레스 대시보드로 돌아가 플러그인 > Akismet > 설정으로 들어간 뒤, 열리는 창에서 "Manually enter API key"(API 키 직접 입력)를 선택하세요.
- API 키를 입력하면 설정이 완료됩니다!
이제 Akismet이 즉시 스팸 댓글 차단을 시작합니다. 개별 댓글 작성자별 활동 통계를 보여줘 반복적으로 스팸을 올리는 사용자를 파악하는 데도 도움이 되며, 댓글에 삽입된 링크까지 감지해서 검토 대상으로 표시해 줍니다.
② Antispam Bee 플러그인으로 스팸 차단하기
Antispam Bee는 스팸 댓글 필터링과 제거에 특화된 워드프레스 플러그인입니다. 유연한 옵션을 통해 스팸 댓글을 분류하고 관리할 수 있으며, 주요 기능은 다음과 같습니다.
- 지역(Geo) 기반 댓글 차단
- 이메일 스팸 알림
- 특정 언어 댓글만 허용
- 대시보드 위젯으로 스팸 통계 표시
- 로컬 스팸 데이터베이스와 의심 댓글 비교
설치 후 활성화만 하면 바로 사용할 수 있고, 원하는 기능을 골라서 켜면 됩니다.
③ 댓글 폼에 reCAPTCHA 추가하기
reCAPTCHA in WP Comments Form 플러그인은 사용자가 댓글을 제출하기 전에 구글 reCAPTCHA 인증 단계를 추가해 사람인지 봇인지 확인합니다.
봇을 식별하고 차단하는 가장 효과적인 방법 중 하나입니다. 사이트에 reCAPTCHA를 다는 것은 현관문에 잠금장치를 다는 것과 같습니다. 봇에게는 열쇠가 없으니까요!
활성화 방법:
- 워드프레스 사이트에 reCAPTCHA in WP Comments Form 플러그인을 설치하고 활성화합니다.
- Akismet과 마찬가지로 API 키 발급이 필요합니다. 플러그인 > AntiSpam Bee > 설정 경로에서 발급 및 활성화 절차를 단계별로 확인할 수 있습니다.
활성화 후에는 세부 설정을 조정해 스팸 댓글을 감지했을 때 어떻게 처리할지 선택할 수 있습니다. 실제 reCAPTCHA는 아래 화면처럼 표시됩니다.
다만 reCAPTCHA의 유일한 단점은 사용자 경험을 해친다는 점입니다. 댓글 제출 과정에 단계가 하나 더 늘어나면 정상 방문자조차 댓글 작성을 포기할 수 있습니다.
보너스 팁: Cloudways 호스팅을 사용 중이라면, 저희가 협업해 제공하는 봇 방지(Bot Protection) 기능을 활용해 보세요! 불필요한 요청을 보내는 각종 악성 봇을 차단하고 CPU 사용량을 40% 이상 줄여줍니다.
이 기능을 활성화했을 때 봇이 차단되는 모습은 아래 스크린샷과 같습니다.
단 하루 만에 15,000개가 넘는 요청이 차단된 것을 확인할 수 있습니다. 자세한 내용은 Cloudways Bot Protection 공식 안내를 참고하세요.
2. 워드프레스 기본 기능으로 댓글 스팸 막기
플러그인으로 스팸 댓글을 쉽게 차단할 수 있다는 걸 살펴봤습니다. 하지만 사이트에 플러그인을 더 추가하고 싶지 않다면? 걱정하지 마세요. 워드프레스에는 스팸 댓글을 관리하고 차단할 수 있는 기본 기능이 이미 많이 내장되어 있습니다.
① 댓글 검토(Moderation) 켜기
하루에 몇 개 정도의 스팸 댓글만 달린다면 수동 관리로도 충분할 수 있습니다. 모든 댓글을 사이트에 게시 전에 직접 승인하도록 설정해 보세요.
설정 > 토론으로 이동한 뒤 "댓글을 수동으로 승인해야 게시"(Comment must be manually approved) 옵션을 선택합니다.
이후 모든 댓글은 댓글 섹션에 자동으로 저장되며, 직접 검토해 진짜 방문자가 남긴 댓글만 승인하면 됩니다.
② 댓글 폼에서 URL 필드 제거하기
스팸 댓글의 가장 흔한 목적은 바로 백링크 획득입니다. 글쓴이를 칭찬하면서 엉뚱한 사이트 링크를 남기는 스팸 댓글을 본 적이 있을 겁니다. 이것은 블랙햇 SEO 링크 기법으로, 사이트의 외부 링크 수를 불필요하게 늘려 SEO에 악영향을 줍니다.
이 문제는 처음부터 URL 입력란 자체를 없애는 것으로 해결할 수 있습니다!
이를 위해서는 functions.php 파일의 코드를 수정해야 합니다.
코드를 변경하기 전에는 반드시 사이트 백업을 먼저 하세요. BlogVault 같은 신뢰할 수 있는 백업 플러그인을 사용하면 서버에 백업본을 보관할 수 있어, 문제가 생겨도 몇 초 만에 사이트를 복구할 수 있습니다.
백업을 마쳤다면 아래 순서대로 진행하세요.
- 워드프레스 대시보드에서 외모(Appearance) 메뉴에 마우스를 올리고 드롭다운에서 테마 편집기(Theme Editor)를 클릭합니다. 현재 테마의 코드 화면으로 이동합니다.
- Theme Files(테마 파일) 목록 상단에서 functions.php 파일을 찾아 클릭합니다.
- 파일 끝에 아래 코드를 추가한 뒤 파일 업데이트를 클릭합니다.
//* Remove URL field from comments
function remove_url_comments($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','remove_url_comments');
이제 댓글 폼에서 웹사이트 URL 입력란이 더 이상 표시되지 않습니다.
③ 댓글 글자 수 최소·최대 제한 걸기
일부 스팸 봇은 "Hello"처럼 한 단어짜리 댓글을 남기도록 설계되어 있습니다. 겉보기엔 무해해 보이기 때문에 자동 스팸 차단 도구가 이런 댓글을 잡아내지 못하죠. 글자 수 제한을 강제로 걸어두면 이런 봇을 걸러낼 수 있습니다!
댓글 필드에 글자 수 제한을 추가하려면 functions.php 파일을 수정해야 합니다.
- 외모 > 테마 편집기로 이동해 functions.php 파일을 연 뒤, 파일 끝에 아래 코드를 추가합니다.
add_filter( 'preprocess_comment', 'wpb_preprocess_comment' );
function wpb_preprocess_comment($comment) {
if ( strlen( $comment['comment_content'] ) > 5000 ) {
wp_die('Comment is too long. Please keep your comment under 100 characters.')
}
if ( strlen( $comment['comment_content'] ) < 60 ) {
wp_die('Comment is too short. Please use at least characters.');
}
return $comment;
}
- 파일 업데이트를 클릭합니다. 이후 누군가 설정한 글자 수 범위를 벗어난 댓글을 작성하려 하면 아래와 같은 안내 메시지가 표시됩니다.
④ 댓글 기능 영구 비활성화하기
스팸 댓글 관리에 시간을 쓰고 싶지 않다면 댓글 기능을 아예 꺼버리는 것이 가장 확실한 방법입니다!
워드프레스에서는 오래된 글의 댓글만 닫거나, 블로그 전체의 댓글을 영구적으로 비활성화할 수 있습니다.
오래된 글의 댓글 닫기:
- 설정 > 토론으로 이동합니다.
- 기타 댓글 설정에서 "X일이 지난 글의 댓글 자동 종료"(Automatically close comments on posts older than X days)를 활성화하고, 원하는 일수로 숫자를 변경합니다.
- 이제 지정한 일수보다 오래된 글에는 댓글을 달 수 없습니다.
댓글 영구 비활성화:
- 사이트의 댓글 기능을 완전히 끄려면 설정 > 토론으로 이동합니다.
- "새 글에 댓글 허용"(Allow people to submit comments on new posts) 옵션을 비활성화합니다.
이후 사용자들은 새 글에 댓글을 달 수 없게 됩니다.
3. 방화벽으로 워드프레스 댓글 스팸 막기
스팸 댓글은 봇이 웹사이트를 악용하는 방법 중 하나일 뿐입니다. 봇은 사이트 비밀번호를 추측해 해킹하려 들기도 합니다.
모든 종류의 봇을 차단하고 웹사이트를 완벽하게 보호하려면 방화벽을 사용해야 합니다.
MalCare의 방화벽 보호는 각종 봇으로부터 사이트를 지키는 가장 포괄적이고 효과적인 솔루션입니다.
작동 원리를 살펴보겠습니다.
MalCare의 실시간 방화벽 보호는 여러 방법을 동원해 악성 봇이 사이트에 접근하지 못하도록 합니다. 사이트로 들어오는 요청을 끊임없이 분석하고, 스팸 봇이 주로 사용하는 악성 IP 주소를 식별해 자동으로 차단합니다. 로그인 보호 기능도 제공하며, 워드프레스 관리자 대시보드(백엔드)에 대한 무단 접근 기록을 감사 로그로 남깁니다.
MalCare 방화벽 보호 활성화 방법:
- 가입 페이지에서 MalCare 계정을 생성합니다.
- 웹사이트 URL을 등록하고 플러그인을 설치합니다. MalCare 대시보드에서 직접 설치하거나, 워드프레스 플러그인 저장소에서 수동으로 설치할 수 있습니다.
- 플러그인이 설치되면 방화벽이 자동으로 활성화됩니다. MalCare가 악성 봇 트래픽과 IP 주소를 자동으로 차단해 사이트를 보호합니다.
세부 정보를 확인하려면 방화벽(Firewall) 섹션의 화살표를 클릭하세요.
- 표시되는 섹션에서 MalCare는 트래픽 및 로그인 요청 수와 차단된 요청 수를 그래프로 보여줍니다. Show More를 클릭하면 정확한 세부 내역을 볼 수 있습니다.
이제 사이트로 들어온 모든 요청의 세부 정보, 즉 출발 국가, 날짜와 시간, 요청 허용 여부까지 확인할 수 있습니다.
MalCare의 스마트 방화벽은 악성 봇을 차단해 사이트를 보호하며, 댓글 스팸도 크게 줄여줍니다.
지금까지 스팸 댓글을 없애는 다양한 방법을 살펴봤습니다. 그런데 잠깐, 애초에 이런 일은 왜 벌어지는 걸까요?
아래에서 자세히 설명해 드립니다.
스팸 봇은 왜 내 사이트를 노릴까?
답을 알기 전에, 봇을 이용해 댓글 스팸을 보내는 것이 얼마나 쉬운 일인지 이해할 필요가 있습니다. "봇넷(botnet)"이라 불리는 수백 개의 네트워크와 블랙마켓 포럼에서는 댓글 스팸용 봇을 아주 쉽게 고용할 수 있습니다. 실제로 이메일 스팸을 기준으로 보면 전체 스팸의 80%가 단 10개 봇넷에서 발송됩니다!
스팸 봇이 활용되는 이유는 크게 세 가지입니다.
- 링크를 얹기 위해(To piggyback a link):
스팸 댓글은 특정 사이트로 향하는 백링크를 만들기 위한 블랙햇 SEO 기법입니다. 질이 낮거나 부적절한 사이트들이 SEO 점수를 올리려고 봇을 동원해 링크가 포함된 스팸 댓글을 남기는 것이죠. - 서버를 과부하시키기 위해(To overload your server):
해커는 봇으로 서버에 과부하를 걸어 다운시킵니다. 로그인 페이지를 공격하고 요청으로 서버를 스팸하는데, 그 요청이 댓글 형태로 오기도 합니다. 사이트 복구에 신경 쓰는 동안 해커는 은밀히 다른 방법으로 해킹을 시도합니다. - 트래픽을 부적절한 사이트로 돌리기 위해(To pivot your traffic):
바이러스를 유포하거나 불법 약물을 판매하는 사이트들은 스팸 댓글로 더 많은 트래픽을 끌어옵니다. 경각심 없는 방문자가 댓글 속 링크를 클릭했다가 그런 사이트로 유도되는 것이죠.
이렇게 스팸 댓글은 정상적인 사이트를 이용해 부당한 이득을 취하는 수단으로 쓰입니다.
이미 위에서 소개한 방법 중 일부를 사용해 스팸 댓글을 막고 계실 수도 있습니다. 하지만 여기서 싸움은 끝나지 않습니다. 스패머들은 끊임없이 진화하며 스팸 방지 장치를 우회하려 하기 때문입니다.
따라서 스팸 댓글을 스스로 판별하는 능력도 중요합니다. 아래 체크리스트를 참고하세요.
워드프레스 스팸 댓글 판별 체크리스트
댓글에 아래 특징 중 하나라도 해당된다면 대부분 스팸 댓글입니다.
- 수상한 링크가 포함된 경우:
링크에 숫자가 섞여 있는지, 단축 링크인지 확인하세요. 주로 불법 약물 판매 사이트나 바이러스 유포 사이트로 리디렉션하는 데 쓰입니다. - 극도로 아첨하지만 내용과 무관한 경우:
"멋진 글이네요!", "좋은 자료 감사합니다. 다시 참고하러 올게요" 같은 말로 아첨하지만, 정작 글 내용에 대한 언급이나 가치 있는 의견은 전혀 없습니다. - 평소 쓰지 않는 키워드가 들어간 경우:
SEO를 위해 삽입된 특정 키워드가 포함되어 일상 언어처럼 읽히지 않습니다. - 짧고 뻔한 내용인 경우:
"좋은 글", "유익한 자료" 등 두루뭉술한 표현만 반복합니다. 봇은 보통 여러 사이트에 비슷한 댓글을 달아둡니다. - 작성자 이름이 회사명인 경우:
개인이 아니라 특정 회사 소속인 듯한 이름으로 댓글을 남깁니다. 이 경우 회사 사이트로의 역방향 링크를 노리는 것일 가능성이 높습니다.
결론: 어떤 방법을 선택해야 할까?
지금까지 워드프레스 스팸 댓글을 차단하는 다양한 방법을 살펴봤습니다. 이제 자신에게 가장 잘 맞는 방법을 찾아 적용해 보세요!
개인적으로 추천하는 조합은 MalCare의 방화벽 보호 + Akismet 같은 안티스팸 플러그인입니다. 이 조합 덕분에 댓글 검토에 드는 노력이 거의 사라졌고, 스팸 봇도 효과적으로 막을 수 있었습니다.
다만 스팸 봇을 막는 것만으로는 부족합니다. 웹사이트를 위협하는 위험 요소는 아직 많이 남아 있으며, 그런 보호는 제대로 된 워드프레스 보안 플러그인만이 제공할 수 있습니다.
MalCare는 최고의 보안 플러그인 중 하나입니다. 다른 스캐너가 놓치는 멀웨어까지 탐지하는 것으로 유명하며, 무엇보다 원클릭 즉시 멀웨어 제거 기능으로 사이트를 100% 해킹 없이 유지할 수 있게 해줍니다.
탁월한 방화벽 보호, 가동 시간 모니터링, 웹사이트 강화 기능을 갖춘 MalCare는 40만 명이 넘는 웹사이트 운영자가 선택한 검증된 솔루션입니다.
지금 바로 MalCare를 무료로 사용해 보세요!