- بیشتر خرابیهای بعد از آپدیت وردپرس از ناسازگاری یک افزونه یا قالب با نسخه جدید وردپرس یا PHP شروع میشود و طبق گزارش Patchstack، ۹۶ درصد آسیبپذیریهای تازه سال ۲۰۲۴ در افزونهها بود.
- چکلیست ۱۵ دقیقهای بعد از آپدیت وردپرس شامل بررسی صفحه اصلی در پنجره ناشناس، موبایل، مسیر خرید، کنسول مرورگر، ابزار سلامت سایت و سرعت است.
- اگر سایت بعد از آپدیت بالا نیامد، لینک حالت بازیابی در ایمیل مدیر، تغییر نام پوشه افزونه در wp-content/plugins یا پاک کردن فایل .maintenance معمولاً سایت را برمیگرداند.
پیام «بهروزرسانی با موفقیت انجام شد» در پیشخوان وردپرس فقط یعنی فایلهای تازه جای فایلهای قبلی نشستهاند. این پیام نمیگوید صفحه سبد خرید هنوز کار میکند، فرم تماس پیام میفرستد یا قالب در موبایل درست نمایش داده میشود. برای همین خیلی از صاحبان سایت وقتی متوجه میشوند بعد از آپدیت وردپرس سایت به هم ریخته که مشتری پیام داده یا فروش آن روز صفر شده است.
در این مقاله یک چکلیست ۱۵ دقیقهای برای بعد از هر آپدیت وردپرس، افزونه یا قالب آوردهایم. بعد از آن توضیح میدهیم اگر سایت بعد از آپدیت بالا نیامد از کجا شروع کنید و چطور به نسخه قبلی برگردید.
#بعد از آپدیت وردپرس چه چیزهایی خراب میشود؟
بعد از آپدیت وردپرس، بیشتر خرابیها از ناسازگاری یک افزونه یا قالب با نسخه جدید وردپرس یا نسخه PHP سرور شروع میشود. طبق گزارش Patchstack از وضعیت امنیت وردپرس، از ۷٬۹۶۶ آسیبپذیری تازهای که در سال ۲۰۲۴ پیدا شد، ۹۶ درصد در افزونهها بود. برای همین افزونهها بیشتر از هر بخش دیگری آپدیت میشوند و بیشتر خرابیهای بعد از آپدیت هم از همانها شروع میشود. رایجترین نشانهها اینها هستند:
- خطای مهم: به جای سایت یا پیشخوان، پیام There has been a critical error on this website نمایش داده میشود.
- صفحه سفید: صفحه کاملاً خالی و بدون هیچ پیامی باز میشود. در وردپرس به این حالت صفحه سفید مرگ (White Screen of Death) میگویند.
- پیام تعمیر و نگهداری: پیام Briefly unavailable for scheduled maintenance بعد از پایان آپدیت هم روی سایت میماند.
- ظاهر به هم ریخته: فونت، رنگها یا چیدمان صفحه عوض شده است، معمولاً به خاطر فایلهای قدیمی در کش یا تغییر در قالب.
- دکمهها و اسلایدرهای بیواکنش: صفحه باز میشود اما دکمه افزودن به سبد خرید، منوی موبایل یا اسلایدر کار نمیکند.
- خطای 404: صفحه محصولات یا مقالهها بعد از آپدیت وردپرس با پیام «صفحه پیدا نشد» باز میشوند.
- کندی ناگهانی: سایت باز میشود اما چند ثانیه بیشتر از قبل طول میکشد.
#قبل از آپدیت وردپرس چه کار کنیم؟
قبل از آپدیت وردپرس چهار کار وقت زیادی نمیگیرد و راه برگشت را باز نگه میدارد:
- نسخه پشتیبان کامل بگیرید. طبق راهنمای پشتیبانگیری وردپرس، بکاپ باید هم فایلها و هم دیتابیس را داشته باشد. یک نسخه از بکاپ را جایی غیر از همان هاست نگه دارید.
- ساعت کمبازدید را انتخاب کنید. آپدیت را وقتی انجام دهید که بازدید سایت کم است و خودتان هم برای بررسی بعد از آن وقت دارید.
- افزونهها را یکییکی آپدیت کنید. اگر با «بهروزرسانی همه» سایت خراب شود، معلوم نیست کدام افزونه مقصر است. ووکامرس، افزونه درگاه پرداخت و صفحهساز را حتماً جدا آپدیت کنید.
- یادداشت تغییرات را بخوانید. بخش Changelog هر افزونه نشان میدهد آپدیت فقط رفع اشکال است یا تغییر بزرگ دارد. حداقل نسخه PHP لازم را هم با نسخه سرور مقایسه کنید. نسخههایی که هنوز پشتیبانی میشوند در صفحه نسخههای PHP آمدهاند.
#چکلیست ۱۵ دقیقهای بعد از آپدیت وردپرس
چکلیست بعد از آپدیت وردپرس باید مهمترین مسیرهای سایت را از چشم یک بازدیدکننده واقعی بررسی کند. این هفت مرحله روی هم حدود ۱۵ دقیقه وقت میگیرد:
| زمان | چه چیزی را بررسی کنید | نشانه مشکل |
|---|---|---|
| دقیقه ۰ تا ۲ | صفحه اصلی در پنجره ناشناس مرورگر | خطای مهم، صفحه سفید یا پیام تعمیر |
| دقیقه ۲ تا ۴ | صفحههای پربازدید، یک محصول و یک مقاله | خطای 404 یا ظاهر به هم ریخته |
| دقیقه ۴ تا ۶ | همان صفحهها در موبایل | منویی که باز نمیشود یا چیدمان شکسته |
| دقیقه ۶ تا ۹ | مسیر خرید یا فرم تماس تا انتها | دکمه بیواکنش، خطا در درگاه یا فرمی که ارسال نمیشود |
| دقیقه ۹ تا ۱۱ | کنسول مرورگر | خطاهای قرمز مثل Uncaught TypeError |
| دقیقه ۱۱ تا ۱۳ | پیشخوان وردپرس و ابزار سلامت سایت | افزونه غیرفعالشده یا هشدار مهم |
| دقیقه ۱۳ تا ۱۵ | سرعت بارگذاری صفحه اصلی | کندتر از قبل از آپدیت |
- صفحه اصلی را در پنجره ناشناس باز کنید. وقتی به عنوان مدیر وارد سایت شدهاید، ممکن است نسخه دیگری از صفحه را ببینید. پنجره ناشناس سایت را همانطور نشان میدهد که مشتری میبیند.
- صفحههای اصلی کسبوکار را باز کنید. صفحهای که بیشترین فروش یا بازدید را دارد، یک صفحه محصول، یک مقاله و صفحه تماس را باز کنید و لینکهای منو را امتحان کنید.
- موبایل را جدا بررسی کنید. در خیلی از سایتها بیشتر بازدیدها از موبایل است و بعضی قالبها برای موبایل تنظیمات و فایلهای جدا دارند. منوی موبایل و دکمهها را با گوشی امتحان کنید.
- یک خرید آزمایشی یا ارسال فرم انجام دهید. محصولی را به سبد خرید اضافه کنید و تا صفحه درگاه پرداخت جلو بروید. فرم تماس را پر کنید و ببینید ایمیل آن میرسد یا نه.
- کنسول مرورگر را نگاه کنید. در کروم کلید F12 را بزنید و تب Console را باز کنید. خطاهای قرمز مثل Uncaught TypeError یعنی یکی از اسکریپتهای صفحه درست اجرا نمیشود، حتی اگر ظاهر صفحه سالم باشد.
- پیشخوان و ابزار سلامت سایت را ببینید. در پیشخوان به ابزارها و بعد سلامت سایت بروید. این ابزار مشکلاتی مثل نسخه قدیمی PHP یا از کار افتادن کارهای زمانبندیشده را نشان میدهد. در صفحه افزونهها هم ببینید افزونهای خودبهخود غیرفعال نشده باشد.
- سرعت را با قبل از آپدیت مقایسه کنید. اگر صفحه اصلی محسوس کندتر شده است، افزونهای که آپدیت شده را بررسی کنید. علتهای دیگر کندی را در مقاله چرا سایت وردپرس کند است توضیح دادهایم.
#اگر بعد از آپدیت وردپرس سایت بالا نیامد چه کنیم؟
اگر بعد از آپدیت وردپرس سایت بالا نیامد، اول ایمیل مدیر سایت را باز کنید. از وردپرس ۵.۲ به بعد، وقتی افزونه یا قالبی خطای مهم ایجاد میکند، وردپرس ایمیلی با لینک حالت بازیابی (Recovery Mode) برای مدیر میفرستد. طبق توضیح تیم توسعه وردپرس، با این لینک وارد پیشخوان میشوید و افزونهای که خطا داده فقط برای شما متوقف میشود تا بتوانید آن را غیرفعال کنید.
#اگر ایمیل حالت بازیابی نرسید
اگر ایمیل حالت بازیابی نرسید، افزونه را از فایل منیجر هاست غیرفعال کنید. در cPanel یا DirectAdmin به پوشه wp-content/plugins بروید و نام پوشه افزونهای را که آخر از همه آپدیت کردهاید عوض کنید، مثلاً woocommerce را به woocommerce-off تغییر دهید. وردپرس آن افزونه را غیرفعال میکند و سایت معمولاً بالا میآید.
اگر نمیدانید کدام افزونه مشکل دارد، طبق راهنمای خطاهای رایج وردپرس نام کل پوشه plugins را به plugins_old تغییر دهید تا همه افزونهها غیرفعال شوند. بعد نام پوشه را برگردانید و افزونهها را یکییکی فعال کنید تا افزونه مشکلدار پیدا شود.
#اگر پیام تعمیر و نگهداری روی سایت ماند
اگر پیام Briefly unavailable for scheduled maintenance بعد از چند دقیقه برداشته نشد، فایل .maintenance را از ریشه سایت پاک کنید. وردپرس هنگام آپدیت این فایل را میسازد و اگر آپدیت نیمهکاره بماند، فایل سر جایش میماند. سایت در این حالت به بازدیدکنندهها و ربات گوگل خطای 503 برمیگرداند. علتهای دیگر این خطا را در مقاله خطای 503 چیست توضیح دادهایم.
#اگر علت خطا معلوم نیست
اگر علت خطا معلوم نیست، گزارش خطای وردپرس را روشن کنید. این سه خط را در فایل wp-config.php قبل از خط That’s all, stop editing اضافه کنید:
define( "WP_DEBUG", true );
define( "WP_DEBUG_LOG", true );
define( "WP_DEBUG_DISPLAY", false );
با این تنظیم، خطاها به جای نمایش روی سایت در فایل wp-content/debug.log ثبت میشوند و معمولاً نام افزونه و خطی که خطا داده در آن آمده است. طبق راهنمای دیباگ وردپرس، بعد از پیدا کردن مشکل این تنظیمات را دوباره خاموش کنید.
#برگشت به نسخه قبلی افزونه
اگر افزونهای بعد از آپدیت خراب شده و نسخه اصلاحشده هنوز منتشر نشده است، با افزونه WP Rollback نسخه قبلی را از مخزن وردپرس نصب کنید. برای افزونههای پولی که در مخزن وردپرس نیستند، فایل نسخه قبلی را از سایت سازنده بگیرید یا بکاپ قبل از آپدیت را برگردانید.
#جدول عیبیابی سایت بعد از آپدیت وردپرس
این جدول هر نشانه رایج بعد از آپدیت وردپرس را به علت محتمل و اولین راهحل آن وصل میکند:
| نشانه | علت محتمل | راهحل |
|---|---|---|
| There has been a critical error | ناسازگاری افزونه یا قالب با نسخه جدید وردپرس یا PHP | لینک حالت بازیابی در ایمیل مدیر یا تغییر نام پوشه افزونه |
| صفحه سفید بدون پیام | خطای PHP یا کمبود حافظه | روشن کردن WP_DEBUG_LOG و خواندن debug.log |
| Briefly unavailable for scheduled maintenance | آپدیت نیمهکاره | پاک کردن فایل .maintenance از ریشه سایت |
| ظاهر به هم ریخته | فایلهای قدیمی در کش افزونه، CDN یا مرورگر | پاک کردن کش افزونه و CDN و بررسی در پنجره ناشناس |
| دکمه یا اسلایدر کار نمیکند | خطای اسکریپت بعد از آپدیت افزونه یا قالب | بررسی تب Console و برگرداندن نسخه قبلی افزونه |
| خطای 404 در صفحهها | به هم خوردن تنظیمات پیوندهای یکتا | یک بار ذخیره تنظیمات پیوندهای یکتا بدون تغییر |
| کندی ناگهانی | افزونه آپدیتشده سنگینتر شده یا کش پاک شده است | مقایسه سرعت با قبل و بررسی همان افزونه |
#آپدیت خودکار وردپرس را روشن بگذاریم یا نه؟
آپدیت خودکار وردپرس برای نسخههای امنیتی و جزئی بهتر است روشن بماند، اما افزونههای حساس را بهتر است دستی آپدیت کنید. طبق راهنمای آپدیت خودکار افزونهها و قالبها، از وردپرس ۵.۵ به بعد میشود آپدیت خودکار را برای هر افزونه و قالب جدا روشن یا خاموش کرد و وردپرس روزی دو بار آپدیتهای خودکار را اجرا میکند.
- آپدیت خودکار: نسخههای جزئی و امنیتی هسته وردپرس و افزونههای سادهای که در ظاهر سایت و مسیر خرید نقشی ندارند.
- آپدیت دستی: ووکامرس، افزونه درگاه پرداخت، صفحهسازهایی مثل المنتور و قالب اصلی سایت.
آپدیت خودکار ممکن است در هر ساعتی از شبانهروز انجام شود، حتی وقتی کسی پای سایت نیست. اگر آپدیت خودکار روشن است، باید راهی داشته باشید که خرابی بعد از آن را بدون سر زدن مداوم به سایت متوجه شوید.
اگر چند نفر روی سایت کار میکنند، مشخص کنید آپدیت وردپرس را چه کسی و در چه روزی انجام میدهد. خیلی از خرابیهای طولانی وقتی پیش میآید که هر کس فکر میکند دیگری سایت را بعد از آپدیت بررسی کرده است.
#خرابی بعد از آپدیت وردپرس را با بینا زودتر ببینید
بینا، سرویس مانیتورینگ سایت، بخشی از این چکلیست را که باید بعد از هر آپدیت وردپرس تکرار شود، خودکار و همیشگی انجام میدهد:
- در دسترس بودن سایت: بینا سایت را هر چند دقیقه از داخل ایران بررسی میکند. اگر بعد از آپدیت وردپرس، سایت خطای مهم یا پیام تعمیر نشان دهد، هشدار «سایت برای بازدیدکنندهها در دسترس نیست» را میگیرید.
- خطاهای سایت: کد بینا خطاهایی را که در مرورگر بازدیدکنندههای واقعی رخ میدهد ثبت میکند. اگر بعد از آپدیت یک افزونه دکمه سبد خرید یا منو از کار بیفتد، بینا خطا را با توضیح ساده فارسی نشان میدهد و هشدار میفرستد.
- سرعت سایت: بینا سرعت بارگذاری صفحهها را برای بازدیدکنندههای واقعی اندازه میگیرد و اگر سایت بعد از آپدیت وردپرس کند شود، باخبر میشوید.
هشدارها در تلگرام، پیامک، ایمیل یا اعلان مرورگر به شما میرسند. اگر آپدیت خودکار وردپرس نیمهشب سایت را خراب کند، لازم نیست تا صبح و تا پیام اولین مشتری صبر کنید.
#جمعبندی
بعد از آپدیت وردپرس، بیشتر خرابیها از ناسازگاری یک افزونه یا قالب شروع میشود. قبل از آپدیت بکاپ کامل بگیرید و افزونههای حساس را یکییکی آپدیت کنید. بعد از آن ۱۵ دقیقه وقت بگذارید و صفحه اصلی، موبایل، مسیر خرید، کنسول مرورگر، پیشخوان و سرعت سایت را بررسی کنید.
اگر سایت بعد از آپدیت وردپرس بالا نیامد، از لینک حالت بازیابی در ایمیل مدیر، تغییر نام پوشه افزونه یا پاک کردن فایل .maintenance شروع کنید. اگر آپدیت خودکار وردپرس روشن است، مانیتورینگ سایت را هم روشن نگه دارید تا خرابی را قبل از مشتری ببینید.
پرسشهای متداول
چرا بعد از آپدیت وردپرس سایت به هم میریزد؟
سایت بعد از آپدیت وردپرس معمولاً به این دلیل به هم میریزد که یک افزونه یا قالب با نسخه جدید وردپرس یا نسخه PHP سرور سازگار نیست. فایلهای قدیمی در کش هم میتوانند ظاهر سایت را به هم بریزند.
بعد از آپدیت وردپرس چه چیزهایی را بررسی کنم؟
بعد از آپدیت وردپرس صفحه اصلی را در پنجره ناشناس، صفحههای پربازدید، نسخه موبایل، مسیر خرید یا فرم تماس، کنسول مرورگر، ابزار سلامت سایت و سرعت صفحه اصلی را بررسی کنید. این کار حدود ۱۵ دقیقه طول میکشد.
خطای There has been a critical error on this website را چطور رفع کنم؟
خطای There has been a critical error on this website را با لینک حالت بازیابی که وردپرس به ایمیل مدیر میفرستد یا با تغییر نام پوشه افزونه مشکلدار در wp-content/plugins رفع کنید. با این کار افزونه غیرفعال میشود و سایت معمولاً بالا میآید.
پیام Briefly unavailable for scheduled maintenance بعد از آپدیت برداشته نمیشود، چه کنم؟
اگر پیام Briefly unavailable for scheduled maintenance بعد از آپدیت برداشته نمیشود، فایل .maintenance را از ریشه سایت پاک کنید. این فایل در آپدیت نیمهکاره سر جایش میماند.
چطور بعد از آپدیت به نسخه قبلی افزونه برگردم؟
برای برگشت به نسخه قبلی افزونه بعد از آپدیت، از افزونه WP Rollback برای افزونههای مخزن وردپرس استفاده کنید. برای افزونههای پولی، نسخه قبلی را از سایت سازنده بگیرید یا بکاپ قبل از آپدیت را برگردانید.
آیا آپدیت خودکار وردپرس را روشن بگذارم؟
آپدیت خودکار وردپرس برای نسخههای امنیتی و جزئی بهتر است روشن بماند. ووکامرس، افزونه درگاه پرداخت، صفحهساز و قالب اصلی را بهتر است دستی و یکییکی آپدیت کنید.
قبل از آپدیت وردپرس چه کار کنم؟
قبل از آپدیت وردپرس یک بکاپ کامل از فایلها و دیتابیس بگیرید، ساعت کمبازدید را انتخاب کنید، یادداشت تغییرات افزونهها را بخوانید و افزونهها را یکییکی آپدیت کنید.
چطور زودتر از خرابی سایت بعد از آپدیت وردپرس باخبر شوم؟
برای اینکه زودتر از خرابی سایت بعد از آپدیت وردپرس باخبر شوید، سایت را با یک سرویس مانیتورینگ مثل بینا زیر نظر بگیرید تا اگر سایت از دسترس خارج شد، خطا داد یا کند شد، در تلگرام یا با پیامک هشدار بگیرید.
نظرها