اسپم دیدگاه و فرم کار رباتهاست، نه آدمها؛ برای همین با چند مانع ساده بیشترش متوقف میشود. برای دیدگاهها: تأیید دستی، محدود کردن لینک و بستن دیدگاه نوشتههای قدیمی. برای فرمها: یک فیلد پنهان (هانیپات) و یک کپچا که از ایران درست بار شود. این فقط موضوع مزاحمت نیست: فرم بیمحافظ، سهمیهی ارسال ایمیل هاست را مصرف میکند و میتواند ایمیلهای کاری شما را به پوشهی اسپم ببرد.
چرا مهم است؟
| پیامد | توضیح |
|---|---|
| سقف ارسال ایمیل | هر فرم ارسالشده یک ایمیل به شماست. صد اسپم در ساعت یعنی ایمیل سفارش مشتری واقعی نمیرود |
| اعتبار ایمیل | اگر فرم «رونوشت به فرستنده» دارد، ربات از سایت شما برای فرستادن اسپم به دیگران استفاده میکند |
| دیتابیس | هزاران دیدگاه اسپم، جدولها را بزرگ میکند (پاکسازی دیتابیس) |
| منابع هاست | هر ارسال یک اجرای کامل PHP است |
| سئو | دیدگاه تأییدشده با لینک مخرب، به اعتبار صفحه آسیب میزند |
| کاربران جعلی | ثبتنامهای رباتی، فهرست کاربران و خبرنامه را آلوده میکنند |
(سقف ارسال ایمیل هاست، بلکلیست ایمیل)
دیدگاهها: تنظیمات خود وردپرس
در تنظیمات، گفتوگوها:
| گزینه | پیشنهاد |
|---|---|
| دیدگاه باید دستی تأیید شود | روشن |
| نویسنده باید دیدگاه تأییدشدهی قبلی داشته باشد | روشن |
| نگه داشتن دیدگاه در صف اگر بیش از … پیوند دارد | ۱ |
| بستن خودکار دیدگاه نوشتههای قدیمیتر از … روز | ۶۰ تا ۹۰؛ بیشتر اسپم روی نوشتههای قدیمی میآید |
| اجازهی بازتاب و دنبالک (pingback و trackback) | خاموش |
| فهرست کلمات ممنوع | کلمههای تکراری اسپمها، آدرس سایتها و حروف زبانهایی که مخاطب شما ندارد |
اگر سایت شما اصلاً به دیدگاه نیاز ندارد (سایت شرکتی، صفحههای محصول بدون نظر)، دیدگاه را کامل ببندید. بستن تنظیم برای نوشتههای آینده کافی نیست؛ نوشتههای موجود را هم گروهی ویرایش کنید.
هانیپات
یک فیلد اضافه به فرم اضافه میشود که با CSS پنهان است. آدم آن را نمیبیند و خالی میگذارد؛ ربات همهی فیلدها را پر میکند و لو میرود. مزیتش این است که کاربر واقعی هیچ کاری نمیکند و به هیچ سرویس بیرونی وابسته نیست. بیشتر افزونههای فرمساز و ضداسپم این گزینه را دارند؛ روشنش کنید. بررسی زمان پر شدن فرم (فرمی که در یک ثانیه ارسال شود) هم در همین دسته است.
کپچا: کدام؟
| نوع | مزیت | مشکل برای سایت ایرانی |
|---|---|---|
| reCAPTCHA گوگل | قوی | از ایران گاهی دیر بار میشود یا بار نمیشود و فرم برای کاربر واقعی هم بسته میشود |
| Cloudflare Turnstile | بدون حل معما | به دسترسی به کلودفلر وابسته است؛ قبل از استفاده از چند اینترنت داخلی تست کنید |
| کپچای ریاضی یا تصویری داخلی | بدون وابستگی بیرونی | در برابر ربات هدفمند ضعیفتر است |
| هانیپات + بررسی زمان | نامرئی برای کاربر | رباتهای پیشرفته رد میشوند |
ترکیب پیشنهادی: هانیپات برای همهی فرمها، بهعلاوهی یک کپچای داخلی برای فرمهایی که هنوز اسپم میگیرند. هر کپچایی گذاشتید، با اینترنت موبایل و بدون فیلترشکن امتحان کنید. (وابستگیهای خارجی سایت)
فرم تماس
- گزینهی «ارسال رونوشت به فرستنده» را خاموش کنید؛ همین یک گزینه سایت را به ابزار ارسال اسپم تبدیل میکند.
- فیلد آدرس سایت را حذف کنید؛ آدمها پرش نمیکنند و رباتها عاشقشاند.
- تعداد لینک در پیام را محدود کنید.
- پیامها را در دیتابیس هم ذخیره کنید تا اگر ایمیل نرسید، گم نشوند.
- ایمیل فرم را با SMTP بفرستید، با آدرسی روی دامنهی خودتان. (ایمیلهای وردپرس)
- فرمهایی را که استفاده نمیشوند حذف کنید، نه فقط از صفحه بردارید.
ثبتنام کاربر
اگر سایت عضویت نمیخواهد، در تنظیمات عمومی تیک «هر کسی میتواند ثبتنام کند» را بردارید. اگر میخواهد: تأیید ایمیل، هانیپات روی فرم ثبتنام، و نقش پیشفرض «مشترک». هر چند وقت کاربرانی را که هرگز وارد نشدهاند حذف کنید. در ووکامرس، ساخت حساب را به مرحلهی تسویهحساب محدود کنید.
افزونههای ضداسپم
دو نوعاند. نوع ابری (مثل Akismet) هر دیدگاه را برای بررسی به سرور خودش میفرستد؛ دقیق است، ولی به اتصال بیرونی و کلید سرویس وابسته است. نوع محلی با هانیپات، بررسی زمان و فهرست کلمات کار میکند و وابستگی ندارد. برای بیشتر سایتهای فارسی، نوع محلی کافی و بیدردسرتر است.
پاک کردن اسپمهای انباشته
- در دیدگاهها، زبانهی «جفنگ»، «خالی کردن جفنگ» را بزنید.
- برای دیدگاههای در انتظار، از فیلتر و عملیات گروهی استفاده کنید.
- اگر دهها هزار مورد است و صفحه تایماوت میدهد، با افزونهی پاکسازی دیتابیس حذف کنید.
سوالهای رایج
اسپمها به زبانهای دیگرند؛ میشود فقط فارسی را قبول کرد؟
بله. بعضی افزونههای ضداسپم گزینهی «رد دیدگاه بدون حروف فارسی» دارند که برای سایت فارسی خیلی مؤثر است.
کپچا گذاشتم ولی هنوز اسپم میآید.
یا کپچا فقط روی یک فرم است، یا ارسالها از مسیر دیگری میآید (REST API یا xmlrpc). (بستن xmlrpc)
مسدود کردن آیپی فایده دارد؟
برای اسپم پخششده نه؛ هر بار از آیپی دیگری میآید. اگر یک آیپی یا یک محدوده پشتسرهم میفرستد، بله. (IP Blocker)