4 راه حل برای رفع صفحه سفید مرگ در وردپرس
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 9 دقیقه

4 راه حل برای رفع صفحه سفید مرگ در وردپرس

آیا تا به حال برایتان پیش آمده که هنگام باز کردن سایت وردپرس خود با یک صفحه خالی مواجه شوید؟ می‌بینید تا چند لحظه پیش همه چیز خوب کار می‌کرد و ناگهان سایت خالی شده‌ است! حتی ممکن است سایت به خوبی بارگیری شود، اما صفحه داشبورد اینطور نباشد. جامعه وردپرس موقعیت‌های این چنینی را صفحه سفید مرگ (White Screen of Death) می‌نامد و این یکی از ناراحت‌کننده‌ترین چیزها در مورد وردپرس است.

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

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

4 علت وقوع صفحه سفید مرگ و راه حل‌های آن

خبر خوب این است احتمال اینکه مشکل WSOD شما در دسته ناشناخته باشد بسیار کم است. اغلب علت WSOD در سه دسته کلی قرار می‌گیرد. این آموزش مراحل ساده‌ای برای رفع هر یک از دلایل صفحه سفید مرگ وردپرس را شرح می‌دهد.

دلیل شماره 1: مشکلات مربوط به پلاگین

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

راه حل: غیرفعال کردن پلاگین

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

سعی کنید خودتان راه حلی بیندیشید. من به شما یک سرنخ می‌دهم، این موضوع به دسترسی فهرست پلاگینهای وردپرس از طریق FTP مربوط است. متوجه شدید؟ اگر فهمیدید که چه عالی و اگر هم متوجه نشدید مشکلی نیست. به خواندن ادامه دهید، قول می‌دهم وقتی راه حل را بخوانید متعجب می‌شوید.

چگونه پلاگین وردپرس را از طریق FTP غیرفعال کنیم؟

غیرفعال کردن پلاگین‌های وردپرس از طریق FTP کار بسیار ساده‌ای است. به عنوان یک پیش نیاز ابتدا باید دسترسی FTP با مجوزهای دایرکتوری وردپرس داشته باشید.

توجه: اکثر سرویس‌دهندگان هاست به شما دسترسی FTP را می‌دهند. با این حال اگر وردپرس شما در VPS یا سرور ابری قرار دارد، این احتمال هست که سرور FTP را در VPS خود نصب نکرده باشید. در چنین شرایطی باید یک کلاینت FTP اپن سورس مانند proftpd یا vsftp نصب کنید. آموزش‌های آنلاین زیادی برای این کار وجود دارد، و من به شما پیشنهاد می‌کنم یکی را متناسب با سیستم‌عامل سرورتان دنبال کنید. به عنوان مثال اگر بخواهیم یک VPS مبتنی بر اوبونتو را اجرا کنیم، عبارت جستجوی ما «نحوه نصب proftpd در اوبونتو» خواهد بود.

هنگامی که این بخش را پشت سر گذاشتید، وقت آن است پلاگین را غیرفعال نمایید. بدین منظور مراحل زیر را طی کنید:

  1. با یک حساب کاربری وارد سرور FTP خود شوید.
  2. به دایرکتوری نصب وردپرس بروید.
  3. وارد فولدر wp_content/plugins شوید.
  4. فولدرهای متعددی با نام‌های آشنا در دایرکتوری plugins پیدا خواهید کرد. هر کدام نشان‌دهنده یک پلاگین است.
  5. فولدر مربوط به پلاگین مد نظر را انتخاب کنید.
  6. نام آن را به یک نام متفاوت و در عین حال قابل تشخیص تغییر دهید. به عنوان مثال اگر نام پلاگین (یا همان نام فولدر) akismet است، می‌توانید نام آن را به چیزی مانند _akismet یا akismet_disabled تغییر دهید.
  7. در هر صورت می‌توانید نام دلخواهتان را وارد کنید. فقط مطمئن شوید که با نام پلاگین دیگری یکسان نباشد، البته بعدا قابل تشخیص است.
  8. در نهایت تغییر نام فولدر باعث غیرفعال شدن دائمی پلاگین می‌شود.

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

چگونه می‌توان همه پلاگین‌های وردپرس را یکجا غیرفعال کرد؟

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

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

دلیل شماره 2: مشکلات مربوط به قالب

مشکلات WSOD مرتبط با قالب‌ها نیز ریشه‌های مشابهی با پلاگین‌ها دارند.

راه حل: غیرفعال کردن قالب

بیایید به برخی از ساده‌ترین دلایل نگاهی بیندازیم:

نصب قالب جدید

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

چگونه یک قالب را از طریق FTP در وردپرس غیرفعال کنیم؟

این فرآیند تقریبا شبیه فرآیند غیرفعال کردن پلاگین است، با این تفاوت که به جای فولدر plugins باید به فولدر wp_content/themes بروید. سپس نام فولدر قالب مورد نظر را تغییر دهید تا غیرفعال شود.

قالب‌های کدنویسی شده ضعیف

در بسیاری از مواقع به‌روزرسانی‌های اصلی وردپرس می‌تواند قالب‌های کدنویسی شده ضعیف را دچار مشکل کند. چرا که یک قالب ضعیف و قدیمی ممکن است با آخرین به‌روزرسانی وردپرس به درستی کار نکند.

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

اصلاح یک قالب

وردپرس توسط مجموعه‌ای از قطعه کدها ساخته شده که در هماهنگی کامل با هم کار می‌کنند، بنابراین وجود کدهای باگ‌دار مشکلاتی را به وجود می‌آورد. اگر یکی از این قسمت‌ها مثلا فایل functions.php خراب شود، وردپرس کار نخواهد کرد و در نهایت منجر به WSOD می‌گردد.

معمولا قالب‌های موجود در ریپازیتوری وردپرس یا قالب‌های منتشر شده توسط توسعه‌دهندگان معتبر به دقت در برابر چنین نقص‌هایی تست می‌شوند. اما نصب یک قالب به صورت out-of-the-box ممکن است به مشکل بخورد. پس اگر هنگام نصب چنین قالبی با WSOD مواجه شدید، به احتمال زیاد تداخل بین قالب و پلاگین وجود دارد.

زمانی که یک قالب را تغییر می‌دهید یا به‌روز می‌کنید، می‌تواند منجر به ایجاد کد نامناسب شود و شما را به WSOD سوق دهد. برای رفع این مشکل فایل اصلاح شده را با یک نسخه قدیمی جایگزین کنید (با فرض این‌که نسخه پشتیبان گرفته‌اید). در هر صورت می‌توانید فایل‌های قالب اصلی را آپلود نمایید.

دلیل شماره 3: محدودیت حافظه بیش از حد

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

راه‌حل: افزایش محدودیت حافظه

میتوانید با تغییر فایل wp-config.php محدودیت حافظه PHP خود را افزایش دهید. برای این کار کافی است به سادگی خط زیر را اضافه نمایید:

define('WP_MEMORY_LIMIT', '64M');

محدودیت حافظه 64 مگابایتی باید در هاست‌های اشتراکی کافی باشد. اما اگر مشکل همچنان ادامه داشت، باید با سرویس‌دهنده هاست خود صحبت کنید.

هاستهای ارزان

این مشکل در هاست‌های ارزان قیمت که کیفیت را قربانی می‌کنند نیز رایج است. این هاست‌ها به منظور کسب سود تا حد امکان مشتریان زیادی را در یک سرور جذب می‌کنند. در نتیجه میزان منابع (مثل RAM) به ازای هر کلاینت به میزان قابل توجهی کاهش می‌یابد که در نهایت منجر به WSOD می‌شود. بنابراین اگر هاستی دارید که به شما اجازه نمی‌دهد محدودیت حافظه خود را بیشتر کنید، باید در انتخاب خود تجدید نظر نمایید.

دلیل شماره 4: علل ناشناخته

گاهی اوقات علت WSOD را نمی‌توان به طور قطعی مشخص کرد تا ما را به یک راه حل درست هدایت کند. در چنین مواقعی ابتدا باید منبع مشکل را پیدا کنید.

راه حل: فعال کردن حالت WP_DEBUG

بدین منظور خطوط زیر را در پایین فایل wp-config.php اضافه نمایید:

error_reporting(E_ALL);
ini_set('display_errors', 1);
define('WP_DEBUG', true);

با انجام این کار به وردپرس می‌گویید تمام خطاهایی که روی صفحه خروجی رخ می‌دهد را نمایش دهد. بنابراین می‌توانید از این اطلاعات برای تعیین علت WSOD کمک بگیرید.

سخن پایانی

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

خوشحال می‌شویم شما هم تجربیات خود را در مورد مواجهه با صفحه سفید مرگ در بخش زیر به اشتراک بگذارید.

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
در انتظار ثبت رای

/@heshmati74
عرفان حشمتی
Full-Stack Web Developer

کارشناس معماری سیستم های کامپیوتری، طراح و توسعه دهنده وب سایت

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید