فهرست مطالب
هیچچیز بدتر از این نیست که سایت وردپرسی خود را در مرورگر باز کنید و با صفحهای خالی و سفید مواجه شوید! علت سفید بودن صفحه سایت وردپرس به دلیل اروری به نام خطای صفحه سفید وردپرس یا صفحه سفید مرگ است.
قسمت بدِ ماجرا اینجاست که این خطا نهتنها باعث میشود سایت برای مدیران و بازدیدکنندگان غیرقابل دسترس باشد، بلکه هیچ اطلاعاتی هم از علت یا روش برطرفسازی مشکل در اختیارمان نمیگذارد تا سرنخی گیرمان بیاید.
جای نگرانی نیست؛ در این مقاله ما هم علت ایجاد این ارور را توضیح دادیم هم نحوۀ رفع آن را بررسی کردیم.
خطای صفحه سفید وردپرس چیست؟
اگر صفحهای از سایت شما در مرورگرهای Chrome و FireFox به شکل زیر نمایش داده میشود، جا دارد به شما تسلیت بگوییم! چون سایت شما دچار خطای صفحه سفید وردپرس یا صفحه سفید مرگ شده است.
این ارور، نتیجه وجود یک خطا در فایلهای PHP یا پایگاه داده وبسایت شما است. هنگامی که این ارور رخ میدهد، بهجای محتوای معمولی سایتتان، یک صفحه سفید ساده و خالی میبینید که بسته به علت ارور، این خطا میتواند کل سایت یا فقط بخشهای خاصی از آن را تحت تأثیر قرار دهد.
مثلاً ممکن است فقط صفحهٔ یکی از محصولات سایت شما دچار این مشکل شده باشد و تمام صفحات دیگر به درستی کار کنند. یا اصلاً فقط صفحهٔ مدیریت وردپرس دچار اختلال شده باشد.
در هر صورت این خطا هر جای سایت که رخ دهد نشانه این است که یک جای کار میلنگد و باید دنبال ریشهیابی و حل مشکل باشیم.
چرا با خطای صفحه سفید در وردپرس مواجه میشویم؟
همانطور که گفتیم، در اکثر مواقع این خطا یا ناشی از مشکلات دیتابیس است یا حاصل اشتباه در مدیریت حافظه و PHP.
مثلاً ممکن است افزونهای را نصب کرده باشید که مدتهاست بهروزرسانی نشده و کدهای افزونه با کدهای نسخههای جدیدتر وردپرس، سازگاری نداشته باشد و باعث بروز این اختلال شده باشند. به همین دلیل است که همواره تاکید میکنیم موقع نصب افزونهها و قالبها حتماً به تاریخ بهروزرسانیها توجه کنید.
از طرف دیگر اسکریپتهایی که محدودیت حافظه را رد کردهاند نیز میتوانند مشکلساز باشند. اسکریپت بدون پاسخ، بعد از مدتی یا توسط هاست از بین میرود یا خیلی ساده زمانش تمام میشود. به همین دلیل هیچ پیام خطای واقعی ایجاد نمیشود و یک صفحه سفید ساده را مشاهده می کنید.
در کل خطای صفحه سفید در وردپرس چند علت میتواند داشته باشد:
- خطاهای PHP و دیتابیس
- اسکریپتهای بیپاسخ
- ناسازگاری افزونهها و قالبها
- مشکلات حافظه
- کشینگ
- فایلهای خراب
- داون شدن سرور
خب، حالا نوبت آن است که روشهای برطرف کردن این خطا را بررسی کنیم.
۹ روش برطرف کردن خطای صفحه سفید وردپرس
اگر سایتهای وردپرسی دیگری (به جز سایتی که در حال بررسی خطا آن هستید) را روی همان هاست نصب کردهاید، اول باید بررسی کنید و ببینید آیا وبسایتهای دیگرتان هم دچار خطای white page وردپرس شدهاند یا خیر؟ اگر این طور است به احتمال قوی، مشکل از سرویس هاستینگ شماست! شاید مشکلی موقتی خدمات آنها را تحتتاثیر قرار داده و شاید هم کار خرابتر از این حرفهاست. در هر صورت با تیم پشتیبانی تماس بگیرید و از آنها بخواهید مشکل را برایتان برطرف کنند.
اما اگر مشکل فقط در یکی از سایتهایتان اتفاق افتاده است، زحمت برطرف کردنش با خودتان و ماست! فکر میکنم احتمالش نزدیک به صفر باشد که پس از امتحان کردن ۹ روش زیر هنوز با خطای صفحه سفید وردپرس درگیر باشید.
توصیه میکنیم روشهای زیر را یکی یکی بررسی کنید و اگر پس از انجام هر مرحله مشکل رفع نشد سراغ راهحل بعدی بروید.
خب! آستینها را بالا بزنید، که وقت بررسی و رفع خطاست.
۱. افزونههای عامل خطای صفحه سفید وردپرس را غیرفعال کنید
اولین راهحل ساده و دم دستی این است که تمام افزونههایتان را غیرفعال کنید؛ چون عموماً ریتم بهروزرسانی نامنظم یکی از افزونهها باعث خطای صفحه سفید وردپرس میشود. راه سریع برای انجام این کار این است که از داشبورد وارد بخش Plugins شوید، همه افزونهها را انتخاب کنید و سپس از منوی کشویی Bulk Actions روی Deactivate کلیک کنید:
اگر بعد از غیرفعال کردن تمام افزونهها مشکل حل شده بود حالا باید پیدا کنید پرتقال فروش را! یعنی دوباره یکییکی افزونههایتان را نصب کنید و هی سایت را بررسی کنید تا ببینید این دسته گل را کدام افزونه به آب داده است. سپس با پشتیبانی افزونه تماس بگیرید یا تیکت بزنید تا مشکل را برایتان حل کنند.
اگر نمیتوانید وارد ادمین پنل سامانه مدیریت محتوا وردپرس شوید، میتوانید از یک کلاینت پروتکل انتقال فایل (FTP) برای دسترسی به فهرست فایلهای سایت خود استفاده کنید.
در پوشه wp-content دایرکتوری اصلی خود، پوشه plugins را پیدا کنید. نام آن را مثلاً به “plugins_old” تغییر دهید:
سپس، سایت خود را مجدداً در فرانت اند بررسی کنید. اگر خطای صفحه سفید وردپرس حل شد باید افزونهها را تکبهتک تست کنید. نام پوشه پلاگینها را دوباره به “plugins” تغییر دهید و سپس به صورت جداگانه نام پوشهٔ هر افزونه که در این دایرکتوری قرار میگیرد را تغییر دهید تا پوشهٔ معیوب را پیدا کنید.
۲. به قالب پیشفرض وردپرس بروید
اگر مشکل از افزونهها نبود، باید برویم سراغ متهم ردیف دوم یعنی قالب سایت! قالب فعلی را غیرفعال کنید و به قالب پیشفرض وردپرس برگردید. اگر به بخش مدیریت خود دسترسی دارید، از داشبورد سامانه مدیریت محتوا وردپرس به مسیر Appearance > Themes بروید. یک قالب پیشفرض وردپرس مثل Twenty Twenty را پیدا و فعال کنید.
اگر قالب دیگری ندارید، میتوانید یکی را از فهرست قالب وردپرس دانلود کنید و سپس آن را در پوشه قالبها آپلود کنید:
اگر نمیتوانید به داشبورد خود دسترسی پیدا کنید، دوباره باید مثل روشی که برای افزونهها استفاده کردیم عمل کنید. یعنی از FTP برای دسترسی به فایلهای سایت خود استفاده کنید و نام پوشه wp-content/themes را به چیز دیگری تغییر دهید.
اگر خطای صفحه سفید وردپرس حل شد که یعنی کار کار قالب بوده و دچار ناسازگاری یا مشکل در بهروزرسانی شدهاست. در این صورت بایستی با توسعهدهنده فولاستک خود تماس بگیرید و قالب را عوض کنید.
۳. کش مرورگر و افزونهها را پاک کنید
اگر به پشتیبان سایت وردپرسی خود دسترسی دارید اما هنوز خطای WSoD را در فرانتاند مشاهده میکنید، باید به مشکل حافظه پنهان و کشینگ شک کنید. برای رفع این مشکل کش مرورگر و افزونه کشینگ وردپرس (در صورت وجود) را حذف کنید.
بیشتر افزونههای کشینگ مثل WP Rocket یا WP Super Cache راه سریع پاک کردن کش را در صفحه تنظیمات افزونه ارائه میدهند که معمولاً از این مسیر است:
Settings > نام افزونه کشینگ > Delete Cache
اگر پس از این روش مشکل حل شد که خب از همراهی شما خوشوقت شدیم. اگر نه تشریفتان را بیاورید گزینه بعدی تا روش دیباگ را بررسی کنیم!
۴. حالت Debugging را روشن کنید
اگر همچنان صفحه سفید مرگ وردپرس را میبینید، قسمت مدیریت کار نمیکند، یا فکر میکنید مشکل را پیدا کردهاید اما میخواهید کمی عمقیتر وارد ماجرا شوید آستینها را بالا بزنید و حالت دیباگ یا عیبیابی را فعال کنید. این حالت هر نوع خطایی که در پیدا و پنهان سایتتان اتفاق افتاده را روی دایره میریزد.
برای فعال کردن دیباگ، باید فایل wp-config.php نصب سامانه مدیریت محتوا خود را باز کنید و در آن خط زیر را پیدا کنید:
“false” را به “true” تغییر دهید و سپس سایت خود را مجدداً بارگذاری کنید. اگر این خط وجود نداشت، میتوانید آن را به بالای فایل اضافه کنید.
بعد از این مرحله به جای صفحه سفید، یک صفحه سفید و چند پیام خطا دریافت خواهید کرد. پیشرفت بزرگی نیست، اما شروع خوبی است! حالا پیام خطای WSoD باید نشان دهد که مشکل از کدام فایل شروع شده است، مثلاً:
Cannot redeclare get_posts() (previously declared in
/var/www/html/wordpress/wp-includes/post.php:۱۸۷۴) in
/var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line ۳۸
در انتهای این ارور میبینید که مشکل در خط ۳۸ افزونهای به نام my-test-plugin است. بنابراین، غیرفعال کردن افزونه باید مشکل را حل کند. اگر بعد از فعال کردن حالت دیباگ اصلاً خطایی مشاهده نکردید، با پشتیبانی هاستینگ خود تماس بگیرید، ممکن است دیباگ به درستی در سرور شما پیکربندی نشده باشد.
اگر با خطای شکایت از محدودیت حافظه یا حافظه خالی مواجه شدید به سراغ مرحله بعد بروید.
۵. محدودیت حافظه را افزایش دهید
فایل wp-config.php را باز کنید و درست قبل از خط /* That’s all, stop editing! Happy blogging. */ کد زیر را اضافه کنید:
اگر این کد برایتان کار نکرد، در یک محیط معمولی میتوانید از فایل htaccess خود برای افزایش محدودیت حافظه استفاده کنید و خط زیر را اضافه کنید:
اگر نمیتوانید به فایل htaccess. دسترسی پیدا کنید، میتوانید از فایل php.ini برای افزایش محدودیت حافظه استفاده کنید. برای انجام این کار، از طریق FTP به سرور خود متصل شوید. در پوشه اصلی سایت به دنبال فایل php.ini بگردید. هنگامی که آن را پیدا کردید، خط زیر را در هر جای فایل اضافه کنید:
اگر هنوز حافظه شما کم است و نیاز به تخصیص بیشتر دارید، ممکن است مشکلی در برنامه شما وجود داشته باشد. شاید یکی از افزونهها یا بخشهای سایت شما استفاده بیش از حدی از منابع دارد. در این مرحله، باید به فکر کمک گرفتن از یک توسعهدهنده باشید. حتی هاست شما ممکن است بتواند با نشان دادن گزارش های SQL و سایر آمار منابع برای سایت به شما کمک کند.
۶.File Permission Issues را بررسی کنید
حالا یکی یکی داریم میرویم سراغ دلایل کمتر رایج خطای صفحه سفید وردپرس که یکی از آنها مسائل مربوط به مجوز و مالکیت است. خودتان هم میتوانید این مشکل را برطرف کنید. اما فقط در صورتی توصیه میکنیم که خودتان شخصاً به رفع مشکل بپردازید که دقیقاً به مساله اجهاف داشته باشید و بدانید چه میکنید. در غیر این صورت، احتمالش زیاد است که به طور ناخواسته آسیبپذیریهایی در سایتتان ایجاد کنید و راه حملات امنیتی را باز کنید.
وقتی صحبت از مجوزهای سامانه مدیریت محتوا وردپرس میشود، سه قانون ساده وجود دارد که باید دنبال کنید:
- فایلها باید روی ۶۶۴ یا ۶۴۴ تنظیم شوند.
- پوشهها باید روی ۷۷۵ یا ۷۵۵ تنظیم شوند.
- فایل wp-config.php باید روی ۶۶۰، ۶۰۰ یا ۶۴۴ تنظیم شود.
اگر به سرور خود دسترسی SSH دارید، میتوانید قوانین مناسب را با دستور زیر اعمال کنید و آن را از دایرکتوری ریشه وردپرس اجرا کنید:
اگر حس میکنید سر سوزنی شک یا مشکل در انجام این کار دارید حتما با پشتیبانی هاست خود تماس بگیرید و از آنها راهنمایی بخواهید.
۷.مشکلات بهروزرسانی خودکار ناموفق را بررسی کنید
گاهیاوقات وردپرس به دلایلی مثل تمام شدن زمان تایم اوت سرور، دچار مشکل بهروزرسانی میشود. اولین کاری که باید انجام دهید این است که به دایرکتوری ریشه سامانه مدیریت محتوا وردپرس خود بروید و ببینید آیا یک فایل .maintenance در آنجا وجود دارد یا نه (ممکن است نام فایل نیز به صورت مخفف باشد). حالا باید این فایل را حذف کنید و دوباره سایت را بارگذاری کنید.
- اگر بهروزرسانی موفقیتآمیز بود، اما وردپرس نتوانست این فایل را به طور خودکار حذف کند، همه چیز باید به حالت عادی برگردد.
- اگر بهروزرسانی کامل نشده باشد، ممکن است به طور خودکار راهاندازی مجدد شود، در این صورت همه چیز باید به همان حالت عادی برگردد.
- اگر همه چیز شکست خورد، بهروزرسانی دستی وردپرس را دنبال کنید، که باید یک بار برای همیشه خطای صفحه سفید وردپرس را حل کند.
۸. رفع خطاهای نحوی یا بازگردانی بکآپ
یکی دیگر از دلایل رایج WSoD وردپرس زمانی است که در حال ویرایش کد در سایت وردپرس خود هستید و به طور تصادفی چیزی را اشتباه تایپ میکنید یا از نحو اشتباه استفاده میکنید.
یک کاراکتر در مکان اشتباه میتواند کل سایت شما را از بین ببرد، به همین دلیل است که هرگز نباید کد را در سایت تولید زنده خود ویرایش کنید.
هر چند جای نگرانی نیست. همیشه میتوانید از طریق FTP به سایت خود متصل شوید و تغییری را که به صورت دستی انجام دادهاید برگردانید. اگر نمیدانید چه تغییری باعث این مشکل شده است، در اینجا وجود پشتیبانگیری از وردپرس مفید است.
۹. قابلیت پردازش متن PHP را افزایش دهید
در این مرحله، اگر WSoD هنوز حل نشده است، یک ترفند اضافی وجود دارد که میتوانید امتحان کنید. در موارد نادر، این مشکل ممکن است به دلیل طولانی بودن صفحه یا پست ایجاد شود.
اگر چنین است، میتوانید با افزایش محدودیتهای بازگشت و بازگشت، قابلیت پردازش متن PHP را در سایت خود تنظیم کنید. برای انجام این کار، کد زیر را در فایل wp-config.php خود قرار دهید:
سپس تغییرات را ذخیره کنید و سایت را ریفرش کنید.
اگر تا اینجا رسیدهاید همزمان باید به شما تبریک بگوییم بابت پیگیری و بردباریتان و از طرف دیگر اظهار تاسف کنیم که مشکلتان انقدر پیچیده شد. اگر با این ۹ مرحله هم مشکلتان برطرف نشد کمی به شانس خودتان شک کنید. چرا که ۹۹.۹۹٪ خطای صفحه سفید وردپرس با این روشها حل میشود.