raha-ab این روی کل سایت اثر میگذاره؟
بله روی کل سایت تاثیر میگذاره.
اگه میخواین کامنت در دسترس باشه و اسپم ها رو تا حد ممکن کنترل کنید این کارها رو انجام بدید:
1 - توی پاسخ قبلیم، توی تنظیمات گفتگو که تصویر دادم، فیلدی وجود داره که ارسال کامنت رو فقط به کاربرانی که عضو سایت هستن و وارد اکانت شدن محدود میکنه. با اینکار مهمان ها دیگه نمیتونن کامنت ارسال کنن. اینطوری هم میتونید از اسپم های ربات ها جلوگیری کنید و هم کاربرا رو تشویق کنید به عضویت در سایتتون
2 - داخل تنظیمات گفتگو، کادری هست برای لیست سیاه کلمات و آی پی ها. می تونید داخل این قسمت آی پی اسپمرها، کلماتی که اکثرا توی کامنت اسپم براتون ارسال میشه رو هر کلمه یا آی پی رو در خط وارد کنید تا وردپرس بطور خودکار این نظرات رو دریافت نکنه

3 - از گوگل Google reCAPTCHA برای کامنت ها استفاده کنید. ورژن Invisible بهترین گزینه هست.
4 - افزونه Akismet رو نصب و فعال کنید. وارد پنل تنظیماتش بشید، به سایتش لینک میشید، اکانت رایگان بسازید و API بگیرید و سایتتون رو از اسپمرها در امان نگهدارید
5 - کد PHP شناسایی لینک در کامنت استفاده کنید. این کد رو داخل فانکشن قالب قرار بدید تا اگه یه سری کلمات خاص توی متن کامنت بود کلا از ثبت کامنت جلوگیری کنه. بیشتر اسپمرها لینک ارسال می کنند که میتونید چنین کامنت هایی رو کلا از ثبت شدنشون جلوگیری کنید:
function preprocess_comment_spam( $commentdata ) {
$spamwords = array( 'href', '[url', 'spamword' );
foreach( $spamwords as $spam ) {
if ( \strpos( $commentdata['comment_content'], $spam ) !== false ) {
wp_die('Sorry, we detected some spam.'); // This is the Error Notice for Wordpress.
/*return new WP_Error( 'spam_detected', __( 'Sorry, we detected some spam.' ), 403 );*/
}
}
return $commentdata;
}
add_filter( 'preprocess_comment' , 'preprocess_comment_spam' );
این اقدامات رو انجام بدید تا 99 درصد اسپم هاتون کنترل میشن. همچنین یادتون باشه استفاده از ریکپچا برای فرم عضویت ضروریه وگرنه اکانت های اسپم زیادی هم داخل سایتتون ایجاد میشن.