
به اشتراک بگذارید

به اشتراک بگذارید
هاست و وردپرس | بلاگ وبداده
حالت تعمیر (Maintenance Mode) وردپرس و ساخت صفحه Coming Soon
functions.php که کد وضعیت 503 برمیگرداند.503 به گوگل میگوید توقف موقتی است تا رتبهی سایت آسیب نبیند..maintenance در ریشهی سایت میسازد و همان پیام معروف «برای مدت کوتاهی برای تعمیر و نگهداری در دسترس نیست» را نشان میدهد.wp_maintenance() هنگام فعال بودن حالت تعمیر، هدر Retry-After و کد وضعیت 503 Service Unavailable را برمیگرداند. این دقیقاً همان چیزی است که برای یک توقف کوتاه به آن نیاز دارید؛ اگر بهجای 503، صفحهی معمولی یا خطای 404 نشان دهید، ممکن است گوگل آن را جدی بگیرد و به رتبه آسیب بزند.
functions.php یا یک فایل drop-in که پیام تعمیر را با کد 503 نمایش میدهد؛ بدون نصب هیچ افزونهای.| معیار | روش افزونه | روش دستی (کد) |
|---|---|---|
| سطح دشواری | آسان (بدون کد) | متوسط (نیاز به دانش فنی) |
| طراحی صفحه | آماده و قابل شخصیسازی | ساده و متنی |
| امکانات اضافه | شمارش معکوس، فرم، شبکه اجتماعی | ندارد |
| کد وضعیت 503 | معمولاً پشتیبانی میشود | خودتان تنظیم میکنید |
| بار روی سایت | یک افزونهی اضافه | بدون افزونه، سبکتر |
| مناسب برای | اکثر کاربران و سایتهای تجاری | کاربران فنی و سایتهای سبک |
functions.php است و یک اشتباه کوچک میتواند سایت را با «صفحهی سفید مرگ» از کار بیندازد. پس قبل از هر تغییری از کل سایت و بهویژه فایلهای قالب بکاپ کامل بگیرید تا اگر چیزی طبق انتظار پیش نرفت، سریع به عقب برگردید.افزونهها ← افزودن افزونه بروید و عبارت «LightStart» یا «WP Maintenance Mode» را جستجو، نصب و فعال کنید.تنظیمات) بروید و در تب «General» گزینهی وضعیت (Status) را روی Activated بگذارید.functions.php قالب، حالت تعمیر را دستی فعال کنید. برای اینکه این کد با بهروزرسانی قالب پاک نشود، حتماً از قالب فرزند (Child Theme) استفاده کنید. این کد را در انتهای فایل functions.php قالب فرزند قرار دهید:get_header وصل میشود و برای هر بازدیدکنندهای که وارد حساب سایت نشده یا دسترسی ویرایش قالب ندارد، پیام تعمیر را با کد وضعیت 503 نمایش میدهد. مدیرها و کاربران واردشده سایت را عادی میبینند و میتوانند به کارشان ادامه دهند. برای خاموش کردن حالت تعمیر کافی است همین چند خط را از فایل حذف کنید و ذخیره نمایید.maintenance.php در پوشهی wp-content زیباتر و فارسی کنید. این فایل هم کد 503 و هم هدر Retry-After را بهدرستی میفرستد:wp-content/maintenance.php بسازید. از این پس هر وقت وردپرس در حال بهروزرسانی باشد، بهجای پیام انگلیسی پیشفرض، همین صفحهی سفارشی نمایش داده میشود..maintenance در ریشهی سایت است. راهحل ساده است: با مدیر فایل هاست یا SFTP وارد پوشهی ریشه (همانجا که wp-admin و wp-content هستند) شوید و فایل .maintenance را حذف کنید. بلافاصله سایت به حالت عادی برمیگردد. اگر روش دستیِ functions.php را استفاده کردهاید و به پیشخوان دسترسی ندارید، همان چند خط کد را از فایل حذف کنید.
.maintenance را حذف میکنیم و در کمتر از چند دقیقه سایت باز میشود. همین دسترسی سریع به فایلها، تفاوت یک میزبانی خوب را در لحظهی بحران نشان میدهد.حالت تعمیر برای سایتی است که قبلاً منتشر شده و موقتاً برای بهروزرسانی پایین میآید؛ بهتر است کد 503 برگرداند تا سئو حفظ شود. صفحه Coming Soon برای سایت تازهای است که هنوز منتشر نشده و معمولاً میخواهید همان صفحه در گوگل ایندکس شود و ایمیل بازدیدکنندهها را جمع کند.
اگر کوتاه باشد و با کد وضعیت 503 همراه باشد، خیر. کد 503 به گوگل میگوید توقف موقتی است و رتبه حفظ میشود. آسیب زمانی رخ میدهد که سایت روزها یا هفتهها در حالت تعمیر بماند یا بهجای 503، خطای دائمی نشان دهد.
با افزودن یک تابع کوتاه به فایل functions.php قالب فرزند که به رویداد get_header وصل میشود و برای کاربران غیرمدیر پیام تعمیر را با کد 503 نمایش میدهد. نمونهی کامل این کد در همین مقاله آمده است.
این معمولاً بهخاطر باقیماندن فایل .maintenance در ریشهی سایت پس از یک بهروزرسانی ناقص است. با مدیر فایل هاست یا SFTP وارد پوشهی ریشه شوید و فایل .maintenance را حذف کنید؛ سایت بلافاصله باز میشود.
یک فایل موقتی است که خود وردپرس هنگام بهروزرسانی هسته، افزونه یا قالب در ریشهی سایت میسازد و شامل زمان شروع بهروزرسانی است. تا وقتی این فایل باشد، وردپرس پیام تعمیر را نشان میدهد و بعد از پایان آپدیت خودش آن را حذف میکند.
با روش افزونه و روش کدِ درست، مدیرهای واردشده سایت را عادی میبینند و فقط بازدیدکنندههای معمولی صفحهی تعمیر را مشاهده میکنند. اگر با فایل .maintenance دستی کار میکنید، آن حالت کل سایت را میبندد مگر منطق استثنا اضافه کنید؛ برای همین روشهای افزونه یا functions.php بهتر هستند.
افزونهی «مطلقاً بهتر» وجود ندارد؛ به نیاز شما بستگی دارد. LightStart سبک است و با ویرایشگر بلوکی وردپرس کار میکند؛ SeedProd سازندهی کشیدنورهاکردن دارد و امکان تعیین نقشهایی که میتوانند سایت را ببینند. هر دو نسخهی رایگان کاربردی دارند.
بیشتر افزونههای حالت تعمیر و Coming Soon یک ماژول فرم خبرنامه دارند که میتوانید فعالش کنید تا بازدیدکنندهها ایمیلشان را وارد کنند و هنگام رونمایی سایت به آنها اطلاع دهید. این کار برای سایتهای تازه یکی از مهمترین مزیتهای صفحه Coming Soon است.
اگر از افزونه استفاده کردهاید، وضعیت (Status) را در تنظیمات افزونه روی Deactivated بگذارید. اگر از کد استفاده کردهاید، تابع را از functions.php حذف کنید. اگر فایل .maintenance مانده، آن را از ریشهی سایت پاک کنید. حتماً پس از هر بهروزرسانی این مرحله را فراموش نکنید.