خانه وردپرس و سایت‌سازها نحوه غیرفعال کردن آپدیت خودکار در وردپرس
تاریخ به‌روزرسانی : 1399/03/31
به قلم : شهاب بیرامی
زمان مطالعه : 6 دقیقه

🔒 خلاصه سریع (TL;DR)

برای غیرفعال کردن آپدیت خودکار وردپرس، کد define('AUTOMATIC_UPDATER_DISABLED', true); را به wp-config.php اضافه کنید. می‌توانید فقط آپدیت هسته، افزونه‌ها یا قالب‌ها را غیرفعال کنید. هشدار: غیرفعال کردن آپدیت امنیتی ریسک امنیتی ایجاد می‌کند.

آپدیت خودکار وردپرس چیست؟

از وردپرس ۳.۷ به بعد، سیستم آپدیت خودکار (Automatic Updates) برای نصب خودکار به‌روزرسانی‌های امنیتی و جزئی فعال است. این قابلیت سایت را امن نگه می‌دارد، اما گاهی می‌تواند مشکل‌ساز شود.

📊 انواع آپدیت در وردپرس

  • Minor (جزئی): مثل ۶.۵.۱ به ۶.۵.۲ - آپدیت امنیتی و باگ‌فیکس (خودکار)
  • Major (اصلی): مثل ۶.۵ به ۶.۶ - قابلیت‌های جدید (دستی)
  • افزونه‌ها: پیش‌فرض غیرخودکار (قابل فعال‌سازی)
  • قالب‌ها: پیش‌فرض غیرخودکار (قابل فعال‌سازی)
  • فایل‌های ترجمه: خودکار

چرا آپدیت خودکار را غیرفعال کنیم؟

🛠️

سازگاری کد سفارشی

آپدیت ممکن است کدهای سفارشی را خراب کند

🎯

محیط Staging

ابتدا در محیط تست بررسی شود

💻

کنترل نسخه

مدیریت با Git یا سیستم دیپلوی

📦

افزونه‌های حساس

افزونه‌هایی که نیاز به تنظیم دارند

⚠️ هشدار امنیتی: غیرفعال کردن آپدیت‌های امنیتی خطرناک است. اگر آپدیت خودکار را غیرفعال کردید، باید به صورت دستی و منظم آپدیت کنید. سایت‌های آپدیت‌نشده هدف اصلی هکرها هستند.

روش ۱: غیرفعال کردن کامل با wp-config.php

این روش همه آپدیت‌های خودکار را غیرفعال می‌کند (هسته، افزونه‌ها، قالب‌ها، ترجمه‌ها).

// غیرفعال کردن کامل آپدیت خودکار
define('AUTOMATIC_UPDATER_DISABLED', true);

این کد را قبل از خط /* That's all, stop editing! */ در فایل wp-config.php قرار دهید.

روش ۲: کنترل دقیق آپدیت هسته

می‌توانید آپدیت هسته را با جزئیات بیشتر کنترل کنید:

// غیرفعال کردن همه آپدیت‌های هسته
define('WP_AUTO_UPDATE_CORE', false);

// فقط آپدیت‌های جزئی (امنیتی) - توصیه می‌شود
define('WP_AUTO_UPDATE_CORE', 'minor');

// همه آپدیت‌ها (جزئی + اصلی)
define('WP_AUTO_UPDATE_CORE', true);

روش ۳: غیرفعال کردن با فیلتر (functions.php)

این روش انعطاف‌پذیری بیشتری دارد و از طریق قالب فرزند انجام می‌شود:

// غیرفعال کردن آپدیت خودکار افزونه‌ها
add_filter('auto_update_plugin', '__return_false');

// غیرفعال کردن آپدیت خودکار قالب‌ها
add_filter('auto_update_theme', '__return_false');

// غیرفعال کردن آپدیت خودکار ترجمه‌ها
add_filter('auto_update_translation', '__return_false');

// غیرفعال کردن آپدیت خودکار هسته
add_filter('auto_update_core', '__return_false');

روش ۴: غیرفعال کردن افزونه‌های خاص

گاهی فقط می‌خواهید آپدیت خودکار یک افزونه خاص را غیرفعال کنید:

// غیرفعال کردن آپدیت خودکار افزونه‌های خاص
function disable_specific_plugin_updates($update, $item) {
    $plugins_to_disable = array(
        'woocommerce/woocommerce.php',
        'elementor/elementor.php'
    );
    
    if (in_array($item->plugin, $plugins_to_disable)) {
        return false;
    }
    
    return $update;
}
add_filter('auto_update_plugin', 'disable_specific_plugin_updates', 10, 2);

روش ۵: استفاده از افزونه

اگر با کدنویسی راحت نیستید، می‌توانید از افزونه استفاده کنید:

افزونه قیمت ویژگی‌ها
Easy Updates Manager رایگان کنترل کامل، رابط کاربری ساده
Companion Auto Update رایگان اعلان ایمیلی، زمان‌بندی
WP Auto Updater رایگان سبک و ساده

غیرفعال کردن اعلان آپدیت

اگر می‌خواهید فقط اعلان آپدیت در پیشخوان را مخفی کنید (آپدیت خودکار همچنان کار کند):

// مخفی کردن اعلان آپدیت هسته
add_filter('pre_site_transient_update_core', '__return_null');

// مخفی کردن اعلان آپدیت افزونه‌ها
add_filter('pre_site_transient_update_plugins', '__return_null');

// مخفی کردن اعلان آپدیت قالب‌ها
add_filter('pre_site_transient_update_themes', '__return_null');

⚠️ توجه: مخفی کردن اعلان‌ها توصیه نمی‌شود. این کار باعث می‌شود آپدیت‌های امنیتی را فراموش کنید.

بهترین روش: Staging + کنترل دستی

به جای غیرفعال کردن کامل آپدیت‌ها، این گردش کار را توصیه می‌کنیم:

  1. آپدیت‌های امنیتی را فعال نگه دارید (WP_AUTO_UPDATE_CORE = 'minor')
  2. محیط Staging راه‌اندازی کنید
  3. ابتدا در Staging آپدیت کنید و تست کنید
  4. بعد از تست، در Production اعمال کنید
  5. قبل از آپدیت، بکاپ بگیرید

سوالات متداول

آیا غیرفعال کردن آپدیت خودکار امن است؟

اگر به صورت دستی و منظم آپدیت کنید، مشکلی نیست. اما اگر آپدیت را فراموش کنید، سایت در معرض خطر قرار می‌گیرد. توصیه: حداقل آپدیت‌های امنیتی (minor) را فعال نگه دارید.

چگونه بفهمم کدام آپدیت‌ها خودکار هستند؟

به داشبورد → آپدیت‌ها بروید. در پایین صفحه بخش "Automatic Updates" وضعیت فعلی را نشان می‌دهد. همچنین می‌توانید از Site Health (سلامت سایت) استفاده کنید.

آپدیت خودکار سایتم را خراب کرد. چه کنم؟

۱) بکاپ قبلی را بازیابی کنید. ۲) اگر بکاپ ندارید، با FTP وارد شوید و نسخه قبلی وردپرس را از wordpress.org دانلود و جایگزین کنید. ۳) wp-content را دست نزنید (افزونه‌ها و قالب‌ها آنجاست).

آیا می‌توانم آپدیت خودکار را زمان‌بندی کنم؟

وردپرس به صورت پیش‌فرض این قابلیت را ندارد. از افزونه‌هایی مثل Easy Updates Manager یا Companion Auto Update استفاده کنید که امکان زمان‌بندی آپدیت را می‌دهند.

تفاوت AUTOMATIC_UPDATER_DISABLED و WP_AUTO_UPDATE_CORE چیست؟

AUTOMATIC_UPDATER_DISABLED همه آپدیت‌های خودکار (هسته، افزونه، قالب، ترجمه) را غیرفعال می‌کند. WP_AUTO_UPDATE_CORE فقط آپدیت هسته را کنترل می‌کند و می‌تواند روی false، minor، یا true تنظیم شود.

هاست وردپرس مدیریت‌شده

با هاست وردپرس برتینا، آپدیت و بکاپ خودکار داشته باشید.

جمع‌بندی

غیرفعال کردن آپدیت خودکار وردپرس با کد ساده در wp-config.php یا functions.php امکان‌پذیر است. اما توصیه می‌کنیم حداقل آپدیت‌های امنیتی (minor) را فعال نگه دارید و از محیط Staging برای تست آپدیت‌های اصلی استفاده کنید.

برای مدیریت آسان‌تر، می‌توانید از هاست وردپرس مدیریت‌شده استفاده کنید که آپدیت و بکاپ را به صورت حرفه‌ای مدیریت می‌کند.

نظرات