حذف افزونه های ناامن وردپرس: راهنمای گامبهگام و علمی پاکسازی سایت
حدود ۹۰ درصد از حملات موفق به وبسایتهای وردپرسی از طریق افزونههای ناامن، رهاشده یا نالشده انجام میشود. افزونهها با تمام کاربردی که برای ارتقای امکانات سایت دارند، اگر بهدرستی مدیریت و پایش نشوند، میتوانند تمام زحمات و اعتبار کسبوکار شما را نابود کنند. یک آسیبپذیری کوچک در یک پلاگین ساده کافی است تا دسترسی کامل مدیر به هکرها داده شود. در این مقاله آموزشی، به صورت کاملاً کاربردی و گامبهگام روشهای شناسایی، غیرفعالسازی و حذف افزونه های ناامن وردپرس را همراه با راهکارهای پاکسازی پس از آن بررسی میکنیم.
مسیر ۴ گام اصلی در پاکسازی و حذف افزونههای ناامن
اسکن با ابزارها و بررسی لیست افزونههای رهاشده یا نالشده
تهیه بکاپ کامل از دیتابیس و فایلهای سایت قبل از تغییرات
پاکسازی از پیشخوان، FTP یا دیتابیس (phpMyAdmin)
حذف جداول باقیمانده دیتابیس و تغییر کلیدهای امنیتی
فهرست مطالب مقاله
- چرا افزونههای ناامن بیشترین خطر را برای وردپرس دارند؟
- نشانههای وجود افزونه ناامن یا آسیبپذیر در وبسایت
- چگونه افزونههای خطرساز را شناسایی کنیم؟
- آموزش گامبهگام حذف کامل افزونه های ناامن وردپرس
- جدول مقایسه روشهای پاکسازی افزونهها
- اقدامات ضروری و مهم پس از حذف افزونه ناامن
- راهکارهای پیشگیری و جلوگیری از نصب افزونههای آلوده
- بخش عیبیابی سریع (Troubleshooting)
- سوالات متداول (FAQ)
چرا افزونههای ناامن بیشترین خطر را برای وردپرس دارند؟

معماری وردپرس بر پایه ماژولار بودن طراحی شده است. یعنی شما میتوانید با نصب چند پلاگین ساده، سایت خود را تبدیل به یک فروشگاه بزرگ یا سیستم جامع آموزشی کنید. اما همین انعطافپذیری نقطه عطفی برای نفوذ هکرهاست. زمانی که کدهای یک افزونه بهدرستی بهینهسازی نشده باشند یا توسعهدهنده متغیرها را فیلتر نکرده باشد، روزنههایی مثل SQL Injection یا Cross-Site Scripting (XSS) ایجاد میشوند.
نکته مهم این است که اگر به موضوعات مرتبط با بخش امنیت سایت علاقهمند باشید، حتماً میدانید که حتی افزونههای غیرفعال نیز میتوانند خطرناک باشند. اگر کدهای ناامن روی هاست شما باقی بمانند، نفوذگران میتوانند مستقیماً فایل افزونه را اجرا کرده و به دیتابیس دسترسی پیدا کنند. بنابراین انجام دقیق فرایند آنالیز و بررسی امنیت وردپرس یکی از واجبترین کارهای دوره ای هر مدیر سایتی است.
نشانههای وجود افزونه ناامن یا آسیبپذیر در وبسایت

بسیاری از اوقات، افزونههای آلوده یا ناامن بدون اینکه متوجه شوید فعالیتهای تخریبی انجام میدهند. با این حال، بروز علائم زیر نشاندهنده خطری جدی در هسته یا افزونههای وردپرس است:
- هدایت ناگهانی کاربران (Redirect): ورود کاربران سایت به وبسایتهای تبلیغاتی، شرطبندی یا اسپم.
- ایجاد کاربران مدیر جدید: اضافه شدن حسابهای کاربری با دسترسی مدیر به صورت خودکار بدون اطلاع شما.
- افت شدید سرعت سایت: مصرف بیش از حد منابع CPU و RAM هاست به دلیل کدهای مخرب یا ریدایرکتهای مداوم.
- تغییرات ناخواسته در بخش تظیمات: دستکاری عناوین سایت، فایل htaccess یا فایل wp-config.php.
- ارسال ایمیلهای اسپم: بلاک شدن IP سرور به دلیل ارسال انبوه ایمیلهای نخواسته از داخل سایت.
چگونه افزونههای خطرساز را شناسایی کنیم؟

برای اینکه دقیقاً بفهمید کدام افزونه باعث بروز مشکل امنیتی شده، نباید حدس بزنید؛ بلکه باید با ابزارهای استاندارد آن را بررسی کنید:
- استفاده از دیتابیس WPScan: این پایگاه داده تمام آسیبپذیریهای کشفشده در افزونههای وردپرس را گزارش میدهد.
- نصب افزونههای اسکن امنیتی: با نصب بهترین پلاگین امنیت وردپرس مانند Wordfence یا Sucuri، تمام فایلهای افزونه با نسخه اصلی مطابقت داده شده و کدهای دستکاریشده شناسایی میشوند.
- بررسی تاریخ آخرین بروزرسانی: اگر از آخرین آپدیت یک افزونه بیش از یک سال گذشته باشد، آن افزونه رسماً رها شده محسوب میشود و باید فوراً جایگزینی برای آن پیدا کنید.
- بررسی وضعیت نال بودن: تمام افزونههای پریمیومی که به صورت رایگان از سایتهای غیرمعتبر دانلود کردهاید، به احتمال ۹۹ درصد دارای درپشتی (Backdoor) هستند. مقالات آموزشی موجود در مرجع مهیار هاب همواره بر عدم استفاده از فایلهای نال تاکید دارند.
آموزش گامبهگام حذف کامل افزونه های ناامن وردپرس
حذف افزونههای آسیبپذیر بر اساس شرایط سایت به ۳ روش انجام میشود. پیش از شروع، حتماً یک بکاپ کامل از دیتابیس و وبسایت خود تهیه کنید.
روش اول: حذف از طریق پیشخوان وردپرس (محیط استاندارد)
اگر همچنان به پیشخوان وردپرس دسترسی دارید و افزونه مانع ورود شما نشده است:
- وارد پیشخوان وردپرس شده و به مسیر افزونهها > افزونههای نصبشده بروید.
- افزونه ناامن مورد نظر را پیدا کرده و ابتدا روی گزینه غیرفعالسازی کلیک کنید.
- پس از غیرفعال شدن، دکمه حذف ظاهر میشود. روی آن کلیک کرده و تایید کنید.
روش دوم: حذف دستی از طریق هاست یا FTP (در صورت قفل شدن پیشخوان)
گاهی افزونه ناامن باعث ایجاد خطای صفحه سفید مرگ (WSOD) یا خطای ۵۰۰ شده و دسترسی شما را به مدیریت قطع میکند. در این حالت باید از هاست عمل کنید:
- وارد کنترلپنل هاست (cPanel یا DirectAdmin) شوید یا با نرمافزار FileZilla به FTP متصل شوید.
- به مسیر
public_html/wp-content/pluginsبروید. - پوشه مربوط به افزونه مشکوک را پیدا کنید.
- برای تست، نام پوشه را تغییر دهید (مثلاً یک
_oldبه انتهای آن اضافه کنید). با این کار افزونه خودبهخود غیرفعال میشود. - اگر مشکل حل شد، فولدر همان افزونه را به صورت کامل راستکلیک کرده و Delete کنید. در صورتی که فایلهای آلوده به بقیه پوشهها سرایت کرده باشند، حتماً راهنمای شناسایی و حذف کد مخرب وردپرس را مطالعه نمایید.
روش سوم: غیرفعالسازی و پاکسازی از طریق دیتابیس (phpMyAdmin)
در مواردی که هکرها تغییراتی در دیتابیس ایجاد کردهاند یا دسترسی به فایلها وجود ندارد، میتوان افزونهها را مستقیم از پایگاه داده غیرفعال کرد:
- وارد phpMyAdmin در هاست شوید.
- دیتابیس سایت خود را انتخاب کنید و به جدول
wp_options(یا پیشوند اختصاصی شما) بروید. - ستون
option_nameرا بگردید و ردیفactive_pluginsرا ویرایش کنید. - مقدار این ستون شامل آرایهای از افزونههای فعال است. برای غیرفعال کردن تمامی افزونهها، مقدار آن را به
a:0:{}تغییر دهید. سپس فایل افزونه ناامن را از طریق هاست پاک کنید. اگر کدهای تخریبی به کل سیستم نفوذ کرده، نیازمند عملیات تخصصی پاکسازی و حذف ویروس وردپرس خواهید بود.
جدول مقایسه روشهای پاکسازی افزونهها
| روش حذف افزونه | سناریوی مناسب برای استفاده |
|---|---|
| پیشخوان وردپرس | ارتقاء عادی، افزونههای خطرساز شناساییشده بدون اختلال در ورود به مدیریت. |
| مدیریت فایل هاست (cPanel/FTP) | خطای ۵۰۰، صفحه سفید (WSOD) یا عدم دسترسی به پنل مدیریت وردپرس. |
| دیتابیس (phpMyAdmin) | حملات گسترده تزریق کد، قفل شدن کامل تنظیمات پیشخوان و فایلها. |
اقدامات ضروری و مهم پس از حذف افزونه ناامن
حذف کردن پوشه افزونه، تنها قدم اول است! متاسفانه بسیاری از افزونهها هنگام پاک شدن، اطلاعاتی در پایگاه داده یا فایلهای دیگر باقی میگذارند. برای ایمنسازی کامل مراحل زیر را انجام دهید:
هشدار مهم: قبل از حذف جداول دیتابیس، حتماً یک نسخه پشتیبان بگیرید. پاک کردن اشتباهی اطالعات دیتابیس ممکن است بخشهایی از سایت شما را از کار بیندازد.
- پاکسازی جداول به جا مانده در دیتابیس: افزونههایی مانند Advanced Database Cleaner یا WP-Optimize را برای شناسایی و حذف جداول و Transientهای یتیم استفاده کنید.
- تغییر کلیدهای امنیتی (SALT Keys): فایل wp-config.php را باز کرده و کلیدهای SALT را تغییر دهید تا تمام نشستهای فعال کاربران و هکرهای احتمالی خارج شود.
- تغییر رمز عبور تمام مدیران و دیتابیس: تمام کلمات عبور پیشخوان و هاست را تغییر دهید.
- تست زیرساخت هاست: اگر از سرورهای اشتراکی استفاده میکنید، حتماً وضعیت ارتقای امنیت وردپرس در هاست اشتراکی را بررسی کنید تا نفوذ از سایر وبسایتهای روی همان سرور رخ ندهد.
در صورتی که کسبوکار شما نیازمند توسعه حرفهای زیرساخت است، تیمهای باسابقه در حوزه طراحی وبسایت اختصاصی با کدنویسی استاندارد و بدون نیاز به افزونههای غیرضروری، میتوانند ریسکهای امنیتی را به حداقل برسانند. این موضوع چه در پروژه ساخت سایت فروشگاهی و چه در هنگام طراحی سایت شرکتی اهمیت بسزایی دارد.
راهکارهای پیشگیری و جلوگیری از نصب افزونههای آلوده
همیشه پیشگیری سادهتر و ارزانتر از درمان است. برای حفظ سلامت دائم وبسایت خود، چکلیست زیر را هنگام نصب افزونه رعایت کنید:
- دانلود فقط از مخزن رسمی یا وبسایت سازنده: هرگز از کانالهای تلگرامی یا سایتهای اشتراکگذاری فایل اقدام به دریافت افزونه نکنید.
- پرهیز مطلق از افزونههای نال شده (Nulled): این افزونهها اغلب کدهای جاسوسی و بکتور در خود دارند.
- بررسی تعداد نصب فعال و امتیاز کاربران: قبل از نصب، نظرات و تعداد نصب افزونه را در مخزن وردپرس بررسی کنید.
- فعالسازی بروزرسانی خودکار برای افزونههای معتبر: همیشه آخرین نسخههای امنیتی را سریعاً دریافت کنید.
- اسکن فایلها قبل از آپلود: برای اطمینانن از سلامت فایلها، حتماً فایل zip افزونه را در وبسایت VirusTotal آپلود و آنالیز کنید.
حفظ امنیت و سرعت سایت تاثیری مستقیم روی رتبهبندی گوگل دارد. آشنایی با اصول سئو نشان میدهد وبسایتهای آلوده بسیار سریع از نتایج گوگل حذف میشوند. علاوه بر این، در تدوین استراتژیهای جدید، توجه به راهکارهای بازاریابی دیجیتال بدون داشتن وبسایتی امن و پایدار بینتیجه خواهد بود.
بخش عیبیابی سریع (Troubleshooting)
مشکل ۱: پس از حذف افزونه، سایت کلاً با خطای Fatal Error مواجه شد. چه کنم؟
علت: احتمالا پوسته شما یا افزونهای دیگر از توابع افزونه حذف شده استفاده میکرده است.
راهحل: فایل functions.php قالب خود را بررسی کنید تا کدهای فراخوانی مرتبط پاک شوند. همچنین پاکسازی کدهای کاشه (Cache) هاست یا افزونههای راکت را فراموش نکنید.
مشکل ۲: افزونه را حذف میکنم اما با بازکردن مجدد پیشخوان، خودبهخود دوباره نصب میشود!
علت: وبسایت شما دچار بکتور یا ویروس تزریقشده به هسته وردپرس شده که افزونه را بازسازی میکند.
راهحل: پوشههای wp-includes و wp-admin را با فایلهای تازه وردپرس خام جایگزین کرده و تمام کدهای مشکوک در فایل index.php را پاکسازی کنید.
مشکل ۳: اجازه حذف افزونه در پیشخوان داده نمیشود و گزینه Delete وجود ندارد.
علت: افزونه به عنوان Must-Use (MU-Plugin) نصب شده یا سطح دسترسی فایلها (File Permissions) روی هاست محدود است.
راهحل: وارد هاست شده، به مسیر wp-content/mu-plugins بروید و فایل آن را پاک کنید. همچنین سطح دسترسی پوشه افزونهها را روی ۷۵۵ بگذارید.
سوالات متداول (FAQ)
خیر. غیرفعال کردن افزونه کدهای آن را از روی هاست پاک نمیکند. هکرها همچنان میتوانند با آدرسدهی مستقیم فایلهای ناامن در پوشه افزونه، کدهای مخرب را اجرا نمایند. افزونه ناامن باید کلاً حذف شود.
افزونههای نالشده توسط افراد ناشناس دستکاری میشوند و تقریباً همگی حاوی کدهای درپشتی (Backdoor)، ریدایرکت مخفیانه یا اسکریپتهای سرقت اطلاعات دیتابیس هستند.
معمولاً پیشوند جداول ایجادشده توسط هر افزونه، برگرفته از نام همان افزونه است. با ورود به phpMyAdmin میتوانید جداولی که نام افزونه حذفشده را دارند شناسایی کرده و آنها را Drop کنید.
سوالات متداول
آیا غیرفعال کردن افزونه ناامن برای حفظ امنیت کافی است؟
خیر، افزونههای غیرفعال همچنان روی هاست باقی میمانند و فایلهای آنها توسط هکرها قابل اجرا هستند. برای امنیت کامل باید افزونه را بهطور ریشهای حذف کرده و پوشه آن را پاک کنید.
اگر پس از نصب افزونه ناامن به پیشخوان دسترسی نداشتیم چه کنیم؟
در این حالت باید از طریق کنترلپنل هاست یا FTP به مسیر wp-content/plugins بروید. سپس نام پوشه افزونه مشکوک را تغییر دهید تا به صورت خودکار غیرفعال شود.
چگونه افزونههای ناامن و آلوده را در وردپرس شناسایی کنیم؟
استفاده از افزونههای امنیتی مانند Wordfence، بررسی دیتابیس WPScan و چک کردن تاریخ آخرین بروزرسانی افزونه از بهترین روشها هستند. همچنین از نصب افزونههای نالشده جداً خودداری کنید.
آیا حذف افزونه اطلاعات آن را از دیتابیس پاک میکند؟
معمولاً خیر، بسیاری از افزونهها جداول اختصاصی خود را در دیتابیس باقی میگذارند. برای پاکسازی کامل باید پس از حذف افزونه، جداول مربوط به آن را از طریق phpMyAdmin دستی پاک کنید.