تصور کنید یک مهمانی دوستانه برگزار کردهاید و ناگهان افرادی ناشناس وارد میشوند و شروع به تبلیغ محصولات خود میکنند. این دقیقاً همان چیزی است که اسپم در بخش دیدگاههای وبسایت شما انجام میدهد و رباتها به ارسال کامنت اسپم میپردازند! اسپمها، پیامهای مزاحم و ناخواستهای هستند که توسط رباتها یا افراد سودجو ارسال میشوند و هدف آنها اغلب تبلیغ محصولات یا خدمات، افزایش رتبه در موتورهای جستجو، یا حتی آلوده کردن سایت شما به بدافزار است.
در وردپرس این قابلیت وجود دارد تا کاربران هنگامی که شما یک مقاله یا محصول در سایت خود منتشر میکنید، بتوانند در قسمت دیدگاههای آن مقاله، برگه یا محصول نظر خودشان را بنویسند و یا سوالی را مطرح کنند.
اگر سایت کاربر محوری ندارید به راحتی میتوانید قابلیت درج کامنت را در سایت وردپرسی خود ببندید و دیگر هیچ کسی نتواند در هیچ جای سایت کامنت و نظری ثبت کند.
اما اگر سایت شما کاربر محور است و شما یا کاربران شما متمایل هستند نظر و سوال خودشان را در باره یک نوشته یا محصول و غیره در قسمت نظرات مطرح کنند، پس ناچار هستید که این ویژگی وردپرس را در سایت خود فعال داشته باشید.
البته اگر از قسمت دیدگاههای وردپرس بصورت حرفهای محافظت نکنیم، رباتها و افراد مختلف میتوانند در قسمت کامنتهای سایت ما جفنگ یا همان دیدگاه و نظر اسپم ارسال کنند که این اصلا حرفهای و مطلوب نیست.
گفتنی است که شما در وردپرس میتوانید تنظیم کنید تا کامنتها بعد از بررسی و تایید یا رد توسط شما در معرض دید سایر کاربران قرار گیرد اما همین که هر روز بخواهید در بین کامنتهای ارسال شده، به دنبال کامنتهای اسپم بگردید و آنها را حذف و مابقی دیدگاهها که مناسب هستند را پاسخ داده و یا تایید کنید، از شما زمان زیادی تلف خواهد کرد.
واژه اسپم (Spam) در وردپرس فارسی به معنای جفنگ است، مطلب و محتوایی که ارزش ندارد و یا ارتباط معنایی و محتوایی با موضوع مطرح شده در آن بخش را نداشته باشد. در بسیاری از مواقع رباتها یا انسانها در قسمت کامنت مقاله یا محصول سایت شما مطلب یا لینکی ارسال میکند که معمولا هیچ ارتباطی با محتوای صفحه شما ندارد و در بیشتر موارد آن مطلب یا لینک ارسال شده تبلیغی و یا مخرب است؛ که بطور کلی ما به این محتوا اسپم یا جفنگ میگوییم.
در این مقاله میخواهیم با 4 روش مختلف جلوگیری از ارسال کامنت اسپم در سایت وردپرسی خود آشنا شویم.
1. غیرفعال کردن کامل قابلیت ارسال دیدگاه و کامنت در کل سایت
اگر سایت شما کاربر محور نیست یا نیازی نمیبینید که کاربران بتوانند در زیر قسمت مقالات یا محصولات شما نظر و کامنت ثبت کنند، بطور کامل این قابلیت را در سایت وردپرسی خود ببندید تا دیگر هیچ کامنتی از جمله کامنت اسپم برای شما ارسال نشود.
برای این کار میتوانید در پیشخوان وردپرس به راحتی به قسمت تنظیمات (Settings) ⬅️ گفتوگو (Discussion) مراجعه کنید و تیک گزینه “اجازه به دیگران برای ثبت دیدگاهها روی نوشتههای تازه” یا “Allow people to submit comments on new posts” را بردارید و دکمه ذخیره تغییرات را بزنید و تمام.
البته دقت داشته باشید که اگر از قبل شما نوشته (Post)، برگه (Page) و یا محصولی (Product) در سایت خود داشتید و قابلیت درج کامنت برای آنها باز بوده است، این تغییرات برای آنها جوابگو نیست و تنها بر روی نوشتهها و محصولات جدید زینپس اعمال میشود.
برای غیرفعال کردن کامل قابلیت ارسال دیدگاه و کامنت در کل سایت چه برای نوشتهها و محصولات جدید و چه قدیمی، میتوانید از تکه کد زیر در فایل Functions.php قالب خود استفاده کنید و یا مقاله “افزودن کد سفارشی PHP و CSS و JS به وردپرس” را مطالعه کنید.
// Close comments on the front-end
function df_disable_comments_status() {
return false;
}
add_filter('comments_open', 'df_disable_comments_status', 20, 2);
add_filter('pings_open', 'df_disable_comments_status', 20, 2);
// Hide existing comments
function df_disable_comments_hide_existing_comments($comments) {
$comments = array();
return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);
2. اجازه درج کامنت تنها به کاربران ثبتنام شده
اگر سایت شما کاربر محور است و میخواهید به کاربران خود اجازه دهید در سایت شما کامنت بگذارند، تنها این فرصت را به کاربران ثبتنام شده بدهید تا قبل از این که بتوانند در سایت شما ثبتنام کنند، ابتدا مجبور باشند در سایت شما ثبتنام کنند و سپس به عنوان یک کاربر لاگین کرده و عضو سایت به درج نظر و دیدگاه خود بپردازند. این کار باعث میشود رباتها و انسانهای تنبل نتوانند در سایت شما کامنت اسپم ارسال کنند.
برای این کار میتوانید در پیشخوان وردپرس به راحتی به قسمت تنظیمات (Settings) ⬅️ گفتوگو (Discussion) مراجعه کنید و سپس تیک گزینه “کاربران باید نامنویسی کرده باشند و وارد شده باشند تا بتوانند دیدگاهشان را بنویسند” یا Users must be registered and logged in to comment را بزنید و سپس بازدن دکمه ذخیره تغییرات، تنظیمات را ذخیره کنید.
3. ویژگی Comment Moderation را در سایت خود فعال کنید.
با استفاده از این ویژگی وردپرس شما میتوانید از وردپرس بخواهید که پیش از آن که شما به عنوان مدیر سایت دیدگاهی را تایید نکردهاید آن را در معرض نمایش سایر کاربران قرار ندهد. اکنون با این ویژگی هر کامنتی که توسط هر کدام از کاربران (مهمان یا عضو سایت) در سایت شما ثبت شود، ابتدا شما آن را در قسمت دیدگاهها (برای نوشتههای وردپرس) و نقد و بررسیها (برای محصولات ووکامرس) دریافت و به خواست خود تایید یا رد میکنید و در صورت تایید توسط شما به سایر کاربران سایت آن کامنت را نمایش میدهد.
برای این کار میتوانید در پیشخوان وردپرس به راحتی به قسمت تنظیمات (Settings) ⬅️ گفتوگو (Discussion) مراجعه کنید و سپس تیک گزینه “دیدگاهها باید به صورت دستی تأیید شوند” را بزنید و با زدن دکمه ذخیره تغییرات، تنظیمات را ذخیره کنید.
4. جلوگیری از کامنت اسپم در وردپرس با افزونه
اگر با انجام تمامی موارد بالا همچنان در سایت خود کامنت اسپم دریافت میکنید، میتوانید از افزونههای رایگان وردپرسی برای خاتمه بخشیدن به این مورد اذیت کننده استفاده کنید.
بسیاری از افراد برای مقابله با رباتهای اسپمر و جفنگ نویس از افزونه Akismet استفاده میکنند. این افزونه که به رایگان در مخزن وردپرس وجود دارد، کار تیم توسعه دهنده وردپرس است. اما من به شخصه چون از api برای تشخیص رباتها و کامنتهای اسپم استفاده میکند و میزان مصرف رم بالایی دارد و بر روی سرعت سایت تاثیر میگذارد معمولا از دو افزونه رایگان دیگر استفاده میکنم و میخواهم آنها را به شما معرفی کنم:
افزونه Forget Spam Comment
این افزونه سبکترین، سریعترین، سادهترین و درعین حال فوقالعادهترین افزونه جلوگیری از درج کامنت اسپم در وردپرس است.
این افزونه هیچ تنظیماتی ندارد و به محض این که آن را بر روی سایت وردپرسی خود نصب کنید، کار تمام میشود.
ویژگیهای افزونه Forget Spam Comment
- ۱۰۰٪ مطابق با مقررات GDPR (مقررات عمومی حفاظت از دادههای اتحادیه اروپا)
- عملکرد آن اصلا شبیه reCaptcha و hCaptcha نیست و بسیار دقیق و سریع است.
- هیچگونه تنظیماتی ندارد
- کاملا خودکار؛ نیازی به بررسی دستی نظرات و کامنتهای اسپم و حذف آنها نیست.
- سازگار با تمامی افزونههای کش
- سریعترین روش ممکن؛ یک اسکریپت جاوا اسکریپت کوچک با حجم تقریبی ۲۰۰ بایت تمام کارها را انجام میدهد.
افزونه Forget Spam Comment چگونه کار میکند؟
این افزونه برای جلوگیری از نظرات اسپم، مسیر پیشفرض ارسال نظر (wp-comments-post.php) را برای رباتها مسدود میکند و تنها زمانی که بازدیدکننده برای ارسال نظر صفحه را اسکرول میکند، آن را از طریق یک رشته پرسوجوی هش منحصر به فرد قابل دسترسی میکند. به این ترتیب از ارسال خودکار نظرات اسپم توسط رباتها جلوگیری میشود.
افزونه WP Armour – Honeypot Anti Spam
افزونه WP Armour با استفاده از تکنیک ضد اسپم Honeypot، ارسال کامنت اسپم توسط ربات را مسدود میکند. هیچ احراز هویت اضافی یا کپچایی برای کاربران ایجاد نمیکند که این امر خود باعث عدم افت سرعت صفحات سایت شما و بارگذاری سریع و بدون مشکل آنها میشود. تنها اجازه میدهد رباتهای اسپم با استفاده از فیلتر ضد اسپم ما دچار مشکل شوند.
این افزونه نیز بسیار قدرتمند، سریع و کمحجم است و میزان مصرف آن فوقالعاده اندک و ناچیز است.
تفاوت افزونه WP Armour با سایر افزونههای ضد اسپم Honeypot چیست؟
- این افزونه با اکثر فرمها و سیستم وردپرس از جمله ثبتنام و کامنتها سازگار است. بنابراین یک راهحل ضد اسپم جامع است.
- برای فیلتر کردن اسپم از هیچ فراخوانی API خارجی مانند Akismet یا CleanTalk استفاده نمیکند.
- مطابق با GDPR (مقررات عمومی حفاظت از دادههای اتحادیه اروپا)
- باتهای اسپم نمیتوانند از جاوا اسکریپت استفاده کنند، بنابراین WP Armour از جاوا اسکریپت برای درج فیلد ضد اسپم Honeypot در فرم استفاده میکند و رباتهای اسپم نمیتوانند آن را پر کنند تا تست ضد اسپم را پاس کنند و پشت سر بگذارند.
- نام فیلد Honeypot منحصر به فرد برای هر نصب وردپرس تولید میشود، بنابراین برای رباتهای اسپم ساخت یک راهحل مناسب برای همه برای دور زدن تست ضد اسپم هانیپات دشوار است.
- نیازی به تنظیمات نیست، فقط افزونه را فعال کنید و آن را برای تمام فرمها، نظرات و ثبتنام پشتیبانی شده فعال میکند.
- هیچ API یا اشتراک ماهانهای مانند سایر افزونهها نیاز نیست.
این افزونه نیز هیچگونه تنظیمات خاصی ندارد و به محض این که آن را بر روی سایت وردپرسی خود نصب کنید، محافظت از سایت شما را در مقابل رباتهای اسپمر شروع میکند.
سیستم ضد اسپم افزونه WP Armour تنها برای محافظت از فرم درج کامنت وردپرس نیست و از فرمهای پلاگینهای زیر در نسخه رایگان خودش پشتیبانی میکند:
- WP Comments
- WP Registraton
- BBPress Forum
- Contact Form 7
- Gravity Forms (For Non Ajax and Single Page/Step Form)
- WPForms
- Formidable Forms
- Caldera Forms
- Toolset Forms
- Elementor Forms
- Fluent Forms
- Divi Theme Contact Form
- Theme My Login
- WooCommerce Reviews Pro
همچنین این افزونه دارای یک نسخه پولی و حرفهای است که در آن ثبت ارسال اسپم توسط رباتها را انجام میدهد و شما میتوانید تلاشهای رباتهای اسپم برای ارسال جفنگ را مشاهده کنید. همچنین IP های رباتهای اسپم ثبت و لاگ میکند و IP های رباتهای اسپم را در صورت ارسال چندین اسپم مسدود میکند. سطح اضافی فیلتر ضد اسپم بر اساس آی پیها را به سایت شما اضافه میکند و در نهایت از استفاده رباتهای اسپم از پهنای باند ناخواسته سرور سایت شما جلوگیری میکند.
همچنین نسخه پولی آن علاوه بر فرمهای افزونههای اشاره شده در بالا برای نسخه رایگان، از افزونههای زیر نیز پشتیبانی میکند:
- WooCommerce Checkout & Registration
- Easy Digital Downloads Checkout and Registration
- QuForm Contact Form
- Ninja Forms
- Gravity Forms (For Ajax Based and Multi Step Forms)
- MC4WP: Mailchimp for WordPress
- S2 Members
- Ulimate Members
- Bricks Builder Form
- BricksForge Pro Form
- Strong Testimonials
- Formcraft Form
- Forminator Form
- WS Form
- YITH Easy Login & Register Popup for WooCommerce
- UsersWP
- Youzify
- MailPoet
- Brevo – SendInBlue
- JetForm Builder
- HTMLform plugin
- Avia Enfold Theme
- BuddyPress
- BuddyBoss
مراد از معرفی دو افزونه Forget Spam Comment و WP Armour این بود که بجای استفاده از افزونه Akismet که شاید خیلی از افراد فقط بخاطر این که این افزونه ساخت تیم توسعه دهنده وردپرس است و همچنین قدیمی است از آن استفاده میکنند و چشم خود را بر روی نکات منفی آن همچون استفاده از فراخوانی API برای فیلتر کردن اسپم، مصرف بالای رم سرور و تاثیر منفی بر روی سرعت سایت میبندند یا از این موارد اطلاعی ندارند، از این دو افزونه سبک و قدرتمند و عالی استفاده نمایید و سایتی حرفهای و سریع داشته باشید.
هر سوال، ابهام و مشکلی در خصوص این مقاله و افزونههای معرفی شده داشتید در پایین، قسمت کامنتهای همین مقاله مطرح کنید تا سریعا پاسخگوی شما باشم.