سایت را باز می‌کنید و به‌جای صفحه‌ی اصلی، فقط یک جمله می‌بینید: «به‌طور موقت برای نگهداری برنامه‌ریزی‌شده در دسترس نیست. چند لحظه‌ی دیگر دوباره سر بزنید.» (در نسخه‌ی انگلیسی: Briefly unavailable for scheduled maintenance). چند دقیقه صبر می‌کنید، یک ساعت می‌گذرد و پیام هنوز هست. سایت در حالت نگهداری گیر کرده است.

خبر خوب این است که به‌ندرت چیزی خراب شده؛ معمولاً یک فایل کوچک باقی مانده و برداشتن آن مشکل را حل می‌کند.

چه اتفاقی افتاده#

وقتی وردپرس هسته، افزونه یا قالبی را به‌روز می‌کند، ابتدا فایلی به نام .maintenance در ریشه‌ی سایت می‌سازد. تا وقتی این فایل هست، بازدیدکننده پیام نگهداری می‌بیند. بعد از پایان به‌روزرسانی، وردپرس فایل را پاک می‌کند. اگر وسط کار اتفاقی بیفتد، فایل می‌ماند:

  • قطع‌شدن اینترنت یا بسته‌شدن تب مرورگر در لحظه‌ی به‌روزرسانی.
  • تمام‌شدن زمان اجرای PHP یا کمبود حافظه (خطای حافظه) هنگام به‌روزرسانی چند مورد پشت‌سرهم.
  • به‌روزرسانی هم‌زمان چند افزونه‌ی سنگین.
  • محدودیت منابع هاست.

پیش از هر کاری#

اگر به فایل‌ها دسترسی دارید، یک نسخه از دیتابیس و فایل‌ها را بردارید. به‌روزرسانی ناتمام یعنی بعضی فایل‌ها نو و بعضی کهنه‌اند. هنوز بکاپ نگرفته‌اید و سایت مهم است؟ ابتدا بکاپ؛ روش‌ها در بکاپ خودکار وردپرس آمده است.

راه‌حل گام‌به‌گام#

  1. با مدیر فایل هاست یا FTP وارد پوشه‌ی اصلی وردپرس شوید؛ همان‌جا که wp-config.php و پوشه‌ی wp-content هست.
  2. نمایش فایل‌های مخفی را روشن کنید. فایل .maintenance را پیدا کنید.
  3. آن را حذف کنید.
  4. سایت و سپس پیشخوان را با تازه‌سازی کامل مرورگر باز کنید.
  5. در پیشخوان به بخش به‌روزرسانی‌ها بروید. اگر مواردی ناتمام ماندند، دوباره، اما یکی‌یکی، اجرا کنید.

اگر سرور SSH دارد و WP-CLI نصب است، همین کار با یک دستور ممکن است:

Bash
wp maintenance-mode status
wp maintenance-mode deactivate

دستور اول وضعیت را می‌گوید و دومی حالت نگهداری را خاموش می‌کند.

اگر با حذف فایل حل نشد#

نشانهکار پیشنهادی
پیام نگهداری رفت ولی پیشخوان خطا می‌دهدلاگ خطا را بخوانید؛ احتمالاً افزونه یا قالب نیمه‌کاره است
صفحه‌ی سفیدافزونه‌ها را از طریق تغییر نام پوشه‌ی wp-content/plugins غیرفعال و یکی‌یکی فعال کنید
پیام «به‌روزرسانی ناتمام» برای هستهفایل‌های هسته را از نسخه‌ی تازه‌ی وردپرس دوباره جایگزین کنید (به‌جز wp-content و wp-config.php)
بعد از هر تلاش دوباره می‌ماندمنابع هاست یا زمان اجرا کم است؛ به پشتیبانی بگویید
سایت کاملاً خراب شداز بکاپ بازگردانی کنید (بازگردانی بکاپ وردپرس)

برای مشکل افزونه‌ای که به‌روزرسانی را خراب کرده، رفع تداخل افزونه‌ها کمک می‌کند. جای پوشه‌ی موقت به‌روزرسانی هم گاهی مشکل است: wp-content/upgrade را بررسی کنید؛ اگر فایل‌های باقی‌مانده دارد و مجوز نوشتن مشکل نیست، می‌توانید محتوایش را پاک کنید تا دور بعد تمیز شروع شود.

کش هم می‌تواند فریب بدهد#

نسخه‌های جدید وردپرس معمولاً اگر فایل .maintenance مدتی بماند، خودشان آن را نادیده می‌گیرند. اگر فایل را پاک کرده‌اید یا از قبل نبوده و باز هم پیام را می‌بینید، احتمالاً نسخه‌ی ذخیره‌شده‌ی صفحه را می‌بینید. این چیزها را بررسی کنید:

  • کش مرورگر: صفحه را با تازه‌سازی کامل یا در پنجره‌ی ناشناس باز کنید.
  • افزونه‌ی کش: از پیشخوان یا مدیر فایل کش را پاک کنید.
  • کش شبکه‌ی تحویل محتوا (CDN)، اگر استفاده می‌کنید.
  • افزونه‌ی «به‌زودی» یا «در دست ساخت»: ممکن است جداگانه صفحه‌ی نگهداری نشان دهد و ربطی به .maintenance وردپرس نداشته باشد.

چطور بفهمیم به‌روزرسانی کامل شده#

بعد از رفع مشکل، فقط به نبودن پیام اکتفا نکنید:

  1. در بخش به‌روزرسانی‌های پیشخوان بررسی کنید مورد ناتمام هنوز در فهرست هست یا نه.
  2. در بخش سلامت سایت ببینید خطای تازه‌ای گزارش شده است.
  3. چند صفحه‌ی مهم سایت (صفحه‌ی اصلی، یک نوشته، سبد خرید یا فرم تماس) را خودتان باز کنید.
  4. اگر سرور SSH دارد، wp core verify-checksums فایل‌های هسته را با نسخه‌ی رسمی مقایسه می‌کند و اگر فایل ناتمام یا تغییرکرده‌ای باشد نشان می‌دهد.
  5. فایل لاگ خطا را برای پیام‌های تازه نگاه کنید.

به‌روزرسانی دستی، وقتی خودکار جواب نمی‌دهد#

اگر بعد از چند بار تلاش، به‌روزرسانی افزونه یا قالب هنوز نیمه‌کاره تمام می‌شود، می‌توانید آن را دستی انجام دهید. فایل فشرده‌ی نسخه‌ی تازه را از منبع رسمی همان افزونه بگیرید، پوشه‌ی قبلی را با نام دیگری کنار بگذارید (نه اینکه حذفش کنید)، و پوشه‌ی تازه را در wp-content/plugins بارگذاری کنید. اگر مشکلی پیش آمد، برگرداندن نام پوشه‌ی قبلی شما را به حالت اول می‌رساند. تنظیمات افزونه‌ها در دیتابیس ذخیره می‌شوند و با جایگزینی فایل‌ها از بین نمی‌روند، ولی باز هم بکاپ فراموش نشود.

چرا نباید عجله کرد#

بیشترین آسیب در این موقعیت از کارهای عجولانه می‌آید: پاک‌کردن پوشه‌ی هسته، نصب دوباره‌ی کامل وردپرس روی سایت زنده یا غیرفعال‌کردن چند افزونه با هم بدون یادداشت. هر تغییر را یکی‌یکی انجام دهید و بعد از هر کدام سایت را امتحان کنید. این‌طور اگر چیزی بدتر شد، می‌دانید کدام کار علتش بوده و برگرداندنش آسان است.

جلوگیری از تکرار#

  • پیش از به‌روزرسانی بکاپ بگیرید و اگر امکان دارد روی نسخه‌ی آزمایشی امتحان کنید؛ رویه‌ی کامل در به‌روزرسانی امن وردپرس هست.
  • موارد را یکی‌یکی به‌روز کنید، نه همه‌ی افزونه‌ها با یک کلیک.
  • حین به‌روزرسانی تب را نبندید و اتصال را قطع نکنید.
  • ساعت کم‌ترافیک را انتخاب کنید.
  • اگر به‌روزرسانی‌ها مرتب نیمه‌کاره می‌مانند، سقف حافظه و زمان اجرای هاست را بررسی کنید.

خلاصه#

  • پیام نگهداری ماندگار یعنی فایل .maintenance در ریشه‌ی سایت باقی مانده است.
  • فایل مخفی است؛ نمایش فایل‌های مخفی را در مدیر فایل یا FTP روشن کنید و آن را حذف کنید.
  • با WP-CLI هم می‌توانید حالت نگهداری را غیرفعال کنید.
  • بعد از حذف، به‌روزرسانی ناتمام را دوباره و تک‌تک اجرا کنید یا در صورت خرابی از بکاپ برگردانید.
  • بکاپ، به‌روزرسانی تک‌به‌تک و اتصال پایدار از تکرار جلوگیری می‌کند.