یکی از رایجترین و در عین حال ترسناکترین خطاهای وردپرس، گیر کردن سایت در حالت تعمیر است. وقتی میخواهید سایت را باز کنید و به جای صفحه اصلی، پیام «Briefly unavailable for scheduled maintenance. Check back in a minute» را میبینید، یعنی وردپرس در حالت تعمیر گیر کرده. خوشبختانه رفع این خطا بسیار ساده است. در این مقاله دلیل این خطا و راهحل کامل آن را میبینیم.
چرا این خطا رخ میدهد؟
هنگام بروزرسانی وردپرس، افزونهها یا قالبها، وردپرس بهصورت خودکار سایت را در حالت تعمیر (Maintenance Mode) قرار میدهد تا کاربران صفحه ناقص نبینند. در این زمان یک فایل به نام .maintenance در ریشه سایت ایجاد میشود.
وقتی بروزرسانی کامل شد، این فایل بهطور خودکار حذف میشود و سایت به حالت عادی برمیگردد. اما گاهی این فرآیند ناتمام میماند و فایل .maintenance باقی میماند، که باعث میشود سایت همیشه پیام تعمیر را نشان دهد.
دلایل رایج گیر کردن در حالت تعمیر
- بسته شدن مرورگر یا تب در حین بروزرسانی
- قطع اتصال اینترنت حین بروزرسانی
- اتمام زمان اجرای PHP (Timeout) در سرورهای کند
- بروزرسانی چند افزونه همزمان با منابع محدود
- کمبود حافظه (memory_limit) در حین اجرای بروزرسانی
راهحل ۱: حذف فایل .maintenance از طریق FTP
این سادهترین و قابل اعتمادترین روش است.
- با نرمافزار FTP مثل FileZilla به سرور متصل شوید
- به پوشه ریشه سایت بروید (معمولاً
public_html) - فایل مخفی
.maintenanceرا پیدا کنید (ممکن است نیاز باشد نمایش فایلهای مخفی را فعال کنید) - فایل را حذف کنید
- سایت را در مرورگر رفرش کنید — مشکل باید حل شده باشد
نکته: در FileZilla از منوی Server → Force showing hidden files برای نمایش فایلهای مخفی استفاده کنید.
راهحل ۲: حذف از طریق File Manager کنترلپنل
اگر FTP در دسترس ندارید:
- وارد کنترلپنل هاست شوید (cPanel، DirectAdmin)
- روی File Manager کلیک کنید
- به پوشه
public_htmlبروید - از تنظیمات File Manager، گزینه «Show Hidden Files» را فعال کنید
- فایل
.maintenanceرا پیدا و حذف کنید
راهحل ۳: بازنویسی wp-activate.php
اگر به هر دلیل نمیتوانید فایل .maintenance را پیدا کنید، روش جایگزین وجود دارد. فایل wp-activate.php در ریشه سایت را باز کنید و این خط را پیدا کنید:
define( 'WP_INSTALLING', true );
اگر مقدار آن true است، به false تغییر دهید و ذخیره کنید.
راهحل ۴: اضافه کردن کد به wp-config.php
این خط را به انتهای wp-config.php قبل از /* That's all */ اضافه کنید:
define( 'WP_MEMORY_LIMIT', '256M' );
این افزایش حافظه PHP کمک میکند بروزرسانیهای بعدی بدون گیر کردن کامل شوند.
اطمینان از حل کامل مشکل
پس از حذف فایل:
- سایت را در مرورگر با Ctrl+F5 کامل رفرش کنید
- وارد داشبورد وردپرس شوید
- به پیشخوان → بروزرسانیها بروید
- اگر بروزرسانی ناقص بوده، این بار با حوصله و تکتک بروزرسانیها را تکمیل کنید
- هر افزونه یا قالبی که مشکلساز بود را از لیست بروزرسانیهای ناقص بررسی کنید
چطور از تکرار این خطا جلوگیری کنیم؟
۱. پشتیبانگیری قبل از بروزرسانی
همیشه قبل از بروزرسانی، بکآپ کامل از دیتابیس و فایلها بگیرید. افزونه UpdraftPlus این کار را با یک کلیک انجام میدهد.
۲. یکی یکی بروزرسانی کنید
به جای انتخاب «Select All» و بروزرسانی همزمان ۲۰ افزونه، تکبهتک افزونهها را بروزرسانی کنید. این کار بار سرور را کم میکند و خطا را کاهش میدهد.
۳. اتصال اینترنت پایدار
از اتصال اینترنت سریع و پایدار استفاده کنید. مرورگر را در حین بروزرسانی نبندید.
۴. افزایش memory_limit
حداقل ۲۵۶ مگابایت حافظه PHP برای بروزرسانیهای بدون مشکل توصیه میشود.
۵. از افزونههای بروزرسانی امن استفاده کنید
افزونه Easy Updates Manager یا WP Updates Settings کنترل بیشتری روی فرآیند بروزرسانی میدهند.
۶. استفاده از محیط استیجینگ
اگر هاست شما استیجینگ دارد، ابتدا در استیجینگ بروزرسانی را تست کنید. پس از اطمینان، در سایت اصلی اجرا کنید.
پیام سفارشی حالت تعمیر
اگر میخواهید پیام پیشفرض «Briefly unavailable for scheduled maintenance» را عوض کنید، یک فایل به نام maintenance.php در پوشه /wp-content/ بسازید و محتوای سفارشی خود را داخل آن بگذارید. وردپرس بهطور خودکار از این فایل استفاده میکند.
🛡️ هاست پایدار برای بروزرسانی بیدردسر
memory_limit بالا، PHP 8.3 و پشتیبانی فنی — هاست وردپرس میهن هاستینگ بروزرسانیهای شما را امن نگه میدارد.
پرسشهای متداول
اگر فایل .maintenance را نبینم چه کنم؟
احتمالاً فایل مخفی است. در FTP یا File Manager، گزینه نمایش فایلهای مخفی را فعال کنید. یا در SSH با دستور ls -la فایلهای با نقطه ابتدا را ببینید.
آیا این خطا به دیتابیس سایتم آسیب میزند؟
معمولاً خیر. این خطا فقط یک flag موقت است و دیتابیس دستنخورده باقی میماند. پس از حذف فایل، سایت به حالت عادی برمیگردد.
اگر بعد از حذف فایل همچنان پیام نمایش داده شود چه؟
کش مرورگر یا کش هاست را پاک کنید. سپس صفحه را با Ctrl+Shift+R رفرش کنید. اگر باز هم مشکل بود، بررسی کنید که فایل .maintenance دوباره ایجاد نشده باشد.
آیا میتوانم بهطور دستی سایت را در حالت تعمیر بگذارم؟
بله. افزونههایی مثل WP Maintenance Mode یا Coming Soon Page این امکان را میدهند که صفحه تعمیر زیبا و حرفهای نشان دهید تا وقت واقعی تعمیر دارید.
مقالات مرتبط
- 📖 رفع خروج خودکار کاربر — ۸ راهحل برای مشکل لاگاوت
- 📖 زمان بروزرسانی وردپرس — اجتناب از مشکلات بروزرسانی
- 📖 رفع مشکلات SSL وردپرس — حل خطاهای رایج HTTPS