حذف نظرات اسپم وردپرس در phpMyAdmin با تعیین شرط
اگر سایت وردپرس داشته باشید احتمالا با حجم زیاد نظرات یا کامنتهای مزاحم روبرو شدهاید. پاک کردن کامنتهایی با حجم زیاد از طریق پنل مدیریت وردپرس کاری بسیار مشکل و زمانبر است.
هنگامی که بخواهید تمام کامنتها را پاک کنید، کار شما از طریق phpMyAdmin نسبتا ساده است و با خالی کردن دو جدول comments و commentmeta میتوانید به این هدف دست پیدا کنید.
ولی اگر بخواهید برخی از کامنتها را حذف کنید، نیاز به نوشتن کوئری SQL در phpMyAdmin است که علاوه بر پاک کردن کامنتهای مشکلدار، آسیبی به کامنتهای واقعی نرساند.
تهیهی پشتیبان
قبل از انجام دستورالعملهای زیر حتما از پایگاه دادهی خود پشتیبان تهیه کنید، در صورت بروز مشکل، برگشت به حالت قبلی ممکن است نشدنی باشد.
حذف کامنتهای مربوط به یک IP خاص
بسیاری از اوقات کامنتهای مزاحم از یک IP یا دامنهای از IPهای خاص ارسال میشوند و شناسایی آنها از این طریق کار آسانی است. برای مثال فرض کنید کامنتهای مزاحم از دامنهی آیپی 10.10.10.0 تا 10.10.10.255 ارسال شده است.
پیش از اینکه این کامنتها را پاک کنید، اگر از محل مشخصی کامنتهای مزاحم زیادی دریافت میکنید، بهتر است از طریق پنل هاست، این IPها را به طور کامل مسدود کنید تا دیگر پیامی از آنها دریافت نکنید.
برای پاک کردن کامنتهای مربوط به دامنهی IPهای بالا این کد را در سربرگ SQL در پایگاه دادهی مورد نظر اجرا کنید:
1 2 3 |
DELETE c, cm FROM wp_comments c left join wp_commentmeta cm on c.comment_ID = cm.comment_id where c.comment_author_IP like '10.10.10.%'; |
در قطعه کد بالا در صورت نیاز پیشوند جدولها را میبایست تغییر دهید و دقت کنید که IP فرستندهی کامنتها را به درستی وارد کنید تا نظرات صحیح هم همراه نظرات مزاحم حذف نشوند.
جلوگیری از ارسال کامنتهای مزاحم
بهترین روشهای جلوگیری از دریافت کامنتهای مزاحم در وردپرس را اینجا بخوانید.