워드프레스를 운영하다 보면 악성 봇이 남기는 스팸 댓글로 인해 골치 아픈 경험을 하게 됩니다. 특히 댓글이 너무 짧거나 단순한 문자 조합(예: “Nice!”, “Good post”, “123”) 등으로 이루어진 경우가 많은데, 이런 댓글은 대부분 자동화된 스팸일 가능성이 높습니다. 이를 방지하기 위해 가장 효과적인 방법 중 하나는 댓글 길이 제한을 설정하는 것입니다. 즉, 일정 글자 수 이하의 댓글은 아예 등록되지 않도록 막는 방식입니다.
그렇다고 댓글 기능을 막자니 사이트 운영 취지에 안 맞을 때도 있고, 작성된 댓글을 일일이 확인하여 관리자모드에서 승인하는 방법은 매우 번거롭습니다. 이럴 때 유용하게 사용할 수 있는 기능(코드)를 소개해드립니다.
기본적으로 워드프레스는 댓글 길이에 제한을 두는 기능을 제공하지 않습니다. 그러나 간단한 코드 삽입이나 플러그인을 활용하면 원하는 조건을 손쉽게 설정할 수 있습니다. 가장 간단한 방법은 functions.php 파일에 필터 함수를 추가하는 것입니다.
아래는 댓글 최소 글자 수를 제한하는 코드 예시입니다:
<?php
function limit_comment_length($commentdata) {
$min_length = 30; // 최소 댓글 길이 설정 (30자 이상만 허용)
if (strlen($commentdata['comment_content']) < $min_length) {
wp_die('댓글은 최소 30자 이상 작성해야 등록할 수 있습니다.');
}
return $commentdata;
}
add_filter('preprocess_comment', 'limit_comment_length');
?>
이 코드를 워드프레스 테마의 functions.php 파일에 삽입하면, 댓글을 등록할 때 최소 글자 수를 검사하고 조건을 만족하지 못할 경우 등록이 거부됩니다. 30이라는 숫자는 필요에 따라 50자, 100자 등으로 자유롭게 변경 가능합니다.
반대로, 너무 길게 작성된 댓글 역시 스팸일 가능성이 있습니다. 예를 들어, SEO를 노린 광고성 링크나 키워드 반복이 많은 댓글이 이에 해당됩니다. 이런 경우엔 최대 글자 수도 설정할 수 있는데, 다음과 같은 코드로 구현할 수 있습니다:
<?php
function limit_comment_max_length($commentdata) {
$max_length = 500; // 최대 댓글 길이 설정
if (strlen($commentdata['comment_content']) > $max_length) {
wp_die('댓글은 500자 이하로 작성해 주세요.');
}
return $commentdata;
}
add_filter('preprocess_comment', 'limit_comment_max_length');
?>
물론 코드 삽입이 어려운 사용자라면 플러그인을 사용하는 방법도 있습니다. 대표적으로 “WordPress Zero Spam”이나 “Antispam Bee”와 같은 스팸 차단 플러그인들이 댓글 내용 필터링 기능을 함께 제공하며, 일부 플러그인은 댓글 길이 조건도 설정할 수 있습니다. 다만 모든 플러그인이 이 기능을 지원하지는 않기 때문에 설명서를 꼼꼼히 살펴보는 것이 좋습니다.
실제로 댓글 길이 제한을 설정하면, 자동화된 단문 댓글 스팸을 상당히 줄일 수 있습니다. 특히 ‘Thank you’, ‘Nice article’, ‘Check this site’와 같은 패턴의 반복성 스팸을 막는 데 효과적입니다. 만약 실사용자의 참여도 걱정된다면, 너무 엄격한 제한보다는 의미 없는 단문만 걸러내는 수준으로 세팅하는 것이 이상적입니다.
스팸은 방치할 경우 사이트의 신뢰도와 검색엔진 평가에 악영향을 줄 수 있습니다. 댓글 길이 제한은 간단하지만 실질적인 효과를 볼 수 있는 방어선이며, 다른 보안 기능과 함께 사용하면 더욱 강력한 스팸 방어 체계를 구축할 수 있습니다.