هیچ چیز بدتر از این نیست که به سایت وردپرسی خود مراجعه کنید و ناگهان با صفحه سفید مرگ (WSoD) مواجه شوید. این خطا باعث میشود که وبسایت شما برای مدیران و بازدیدکنندگان غیرقابل دسترسی شود. صفحه سفید مرگ همچنین میتواند بسیار آزاردهنده باشد، زیرا اطلاعات مشخصی درباره علت احتمالی یا راهحل آن ارائه نمیدهد. با این حال، این یکی از رایجترین خطاهای وردپرس است. بنابراین، اگرچه نگرانکننده به نظر میرسد، اما در بیشتر موارد قابل حل است. در این مطلب، توضیح خواهیم داد که صفحه سفید مرگ وردپرس چیست و چه عواملی معمولاً باعث بروز آن میشوند. مهمتر از همه، شما را با چند راهحل احتمالی برای رفع این مشکل و بازگرداندن سایتتان به حالت عادی آشنا خواهیم کرد.
خطای صفحه سفید وردپرس یا صفحه سفید مرگ چیست؟
همانطور که از نامش پیداست، صفحه سفید مرگ وردپرس (که با نام WSoD نیز شناخته میشود) زمانی رخ میدهد که به جای صفحهای که قصد دارید به آن دسترسی پیدا کنید، تنها یک صفحه سفید خالی مشاهده میکنید. بسته به مرورگری که استفاده میکنید، ممکن است پیامهای خطای متفاوتی دریافت کنید. برای مثال، در مرورگر گوگل کروم، این خطا میتواند همراه با خطای HTTP 500 باشد که پیام “این صفحه کار نمیکند و قادر به پردازش درخواست نیست” را نمایش میدهد.
همانطور که مشاهده میکنید، این فقط یک صفحه سفید ساده است که هیچ پیام خطا یا هشدار مفیدی ارائه نمیدهد. صفحه سفید مرگ وردپرس تقریباً همیشه به دلیل خطاهای کدنویسی PHP یا پایان یافتن حافظه مجاز (Memory Limit Exhaustion) رخ میدهد.
یکی دیگر از دلایل احتمالی این مشکل، یک قالب (Theme) یا افزونه وردپرس (Plugin) معیوب است. اگر فقط بخش کاربری سایت (Frontend) دچار مشکل شده باشد اما پنل مدیریت وردپرس (Dashboard) همچنان در دسترس باشد، احتمالاً مشکل از یکی از افزونهها است. برای بررسی سریع این موضوع، کافی است به آدرس yourdomain.com/wp-admin مراجعه کنید و ببینید که آیا داشبورد سایت شما همچنان کار میکند یا نه.
دلایل بروز خطای صفحه سفید وردپرس
برای رفع مؤثر مشکل صفحه سفید مرگ، ابتدا باید علت اصلی آن را پیدا کنید. در ادامه رایجترین دلایلی که ممکن است باعث شوند سایت وردپرستان فقط یک صفحه سفید نشان دهد را بررسی میکنیم:
تداخل افزونهها
افزونهها قابلیتهای وردپرس را گسترش میدهند، اما در عین حال میتوانند باعث بروز ناسازگاری شوند. افزونههای قدیمی یا ناسازگاری میان افزونهها، قالب، یا خود وردپرس میتوانند منجر به خطاهایی شوند که باعث بروز صفحه سفید مرگ میگردند.
مشکلات قالب (Theme)
قالب وردپرس تعیین میکند که سایت شما چه ظاهری داشته باشد. خطا در کدهای قالب — که معمولاً به دلیل ویرایشها یا بهروزرسانیهای ناقص به وجود میآید؛ میتواند کل سایت را به هم بریزد. مثل این است که پایه و اساس ساختمان سایت شما دچار مشکل شود.
محدودیت حافظه (Memory) تمام شده
وردپرس برای اجرا به مقدار مشخصی از حافظه PHP نیاز دارد. اگر سایت شما — بهویژه اگر پرترافیک یا دارای ویژگیهای سنگین باشد — از این حافظه فراتر برود، سایت ممکن است از کار بیفتد و صفحه سفید مرگ ظاهر شود. این را مثل خودرویی تصور کنید که سوختش تمام شده است.
فایلهای خراب یا آسیبدیده
فایلهای اصلی وردپرس، قالب و افزونهها ستون فقرات سایت شما هستند. اگر این فایلها به دلیل بدافزار، حملات هکری یا بهروزرسانی ناقص خراب شوند، بخشهای اساسی سایت از کار میافتند و نتیجهاش یک صفحه سفید خواهد بود.
بهروزرسانیهای ناموفق
وردپرس، قالبها و افزونهها بهطور مرتب بهروزرسانی میشوند تا باگها برطرف شوند، امنیت افزایش یابد و قابلیتهای جدید اضافه شود. اگر یکی از این بهروزرسانیها بهدرستی انجام نشود یا در میانه راه قطع شود، سایت ممکن است دچار مشکل شود و دیگر بهدرستی بارگذاری نشود. این حالت را میتوان به پوشیدن لباسهای ناهماهنگ تشبیه کرد؛ هیچ چیز سر جای خودش نیست.
چگونه صفحه سفید مرگ وردپرس را برطرف کنیم؟
هنگامی که با صفحه سفید مرگ وردپرس مواجه میشوید، اولویت شما این است که مشکل را در سریعترین زمان ممکن حل کنید.
بررسی در دسترس بودن سرور
در ابتدا، احتمال در دسترس نبودن سرور را بررسی کنید. برای این کار میتوانید از ابزارهای آنلاین بررسی وضعیت سایت مانند Is This Website Down? استفاده کنید. این ابزار به شما کمک میکند تشخیص دهید که آیا مشکل از کش خرابشده مرورگر، مسائل مربوط به IP یا در دسترس نبودن سرور میزبان است یا نه.
اگر مشخص شد که سرور سایت شما قطع شده است، سریعاً با شرکت میزبان (هاستینگ) خود تماس بگیرید تا سرور مجازی یا هاست میزبان سایت شما را به حالت آنلاین بازگردانند.
پاکسازی کش مرورگر
گاهی اوقات تنها با پاکسازی کش مرورگر میتوانید مشکل را برطرف کنید. سایتها برای بهبود تجربه کاربری و افزایش سرعت مرور، از کش مرورگر استفاده میکنند. اما با گذشت زمان، این کش ممکن است با دادهها و کوکیهایی که دیگر لازم نیستند، شلوغ شود و باعث ایجاد اختلال شود.
برای رفع این مشکل، کافیست به تنظیمات مرورگر خود بروید و کش مربوط به سایت مورد نظر را پاک کنید. در مرورگر کروم تنظیمات را باز کرده و به تب Privacy and security بروید. روی گزینه Delete browsing data کلیک کنید.
در بخش Basic یا Advanced، بازه زمانی مورد نظر را انتخاب کرده و سپس روی Clear data بزنید.
وقتی این فرآیند تمام شد، به سایت خود برگردید و صفحه را رفرش کنید. اگر صفحه ورود به پیشخوان وردپرس (wp-admin) ظاهر شد، یعنی مشکل برطرف شده است. اما اگر هنوز مشکل باقیست، به راه حل بعدی بروید.
نکته: این فرآیند ممکن است شما را از سایتهایی که قبلاً وارد آنها شده بودید خارج کند یا اطلاعات ذخیرهشده را حذف کند.
فعالسازی حالت اشکالزدایی (Debug Mode) در وردپرس
اگر پاکسازی کش مرورگر کمکی نکرد، قدم بعدی فعالسازی حالت اشکالزدایی وردپرس (WordPress Debug Mode) است. این حالت اطلاعات مهمی درباره خطاهایی که ممکن است باعث بروز صفحه سفید مرگ شده باشند، نمایش میدهد.
برای فعالسازی این حالت، باید به فایل wp-config.php دسترسی پیدا کنید. این فایل را میتوانید از طریق کنترلپنل هاست (CPanel) یا با استفاده از نرمافزارهای FTP مانند FileZilla به سرور خود وصل شده و پیدا کنید.
دسترسی به wp-config.php از طریق FTP:
با FTP به سایت متصل شوید. فایل wp-config.php را در روت نصب وردپرس پیدا کنید.
آن را با یک ویرایشگر متن (مثل Notepad یا VS Code) باز کنید و به دنبال خط زیر بگردید:
define('WP_DEBUG', false);
define('WP_DEBUG', true);
فایل را ذخیره کنید و مجدداً در هاست آپلود نمایید.
حالا مرورگر را باز کرده و صفحه سایتتان را رفرش کنید. این بار ممکن است همچنان صفحه سفید را ببینید، اما در کنار آن یک پیام خطا نیز نمایش داده میشود. برای مثال:
Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1624)
in /var/www/html/wordpress/wp-content/plugins/my-plugin/my-plugin.php on line 21
این پیام خطا نشان میدهد که در خط ۲۱ از یکی از افزونهها (در این مثال: my-plugin) مشکلی وجود دارد. در این مرحله میتوانید:
-
با توسعهدهنده افزونه تماس بگیرید،
-
افزونه را با یک گزینه مشابه جایگزین کنید،
-
یا افزونه را غیرفعال نمایید (همانطور که در مراحل قبلی توضیح داده شد).
همچنین میتوانید از افزونههای مخصوص اشکالزدایی وردپرس استفاده کنید. یکی از افزونههای مفید در این زمینه Query Monitor است که اطلاعات کاملی از خطاهای مربوط به پایگاه داده، عملکرد قالب و افزونهها ارائه میدهد.
افزایش محدودیت حافظه (Memory Limit) در وردپرس
وردپرس بر پایهی PHP اجرا میشود، و برای اجرای صحیح، نیاز به حافظه کافی دارد. گاهی اوقات، محدودیت حافظهی تعیینشده برای PHP به پایان میرسد و این مسئله میتواند باعث بروز صفحه سفید مرگ (White Screen of Death) یا خطای 500 داخلی سرور (500 Internal Server Error) شود.
برای افزایش این حافظه، میتوانید یکی از روشهای زیر را امتحان کنید:
ویرایش فایل wp-config.php
وارد هاست یا فضای FTP خود شوید. فایل wp-config.php را در ریشهی نصب وردپرس پیدا و با ویرایشگر باز کنید.
خط زیر را قبل از خط /* That's all, stop editing! Happy publishing. */
اضافه کنید:
define('WP_MEMORY_LIMIT', '256M');
میتوانید بهجای 256M مقدار مورد نظر خود را (مثل 128M یا 512M) قرار دهید.
با این کار، محدودیت حافظه PHP برای وردپرس به ۲۵۶ مگابایت افزایش پیدا میکند. اگر هنوز با خطا مواجه هستید، میتوانید این مقدار را بیشتر هم تنظیم کنید (مثلاً 512M یا حتی 1024M بسته به نیاز و منابع سرور).
تنظیم حافظه از طریق فایل php.ini (در صورت دسترسی)
برخی سرویسهای میزبانی اجازه میدهند فایل تنظیمات PHP را ویرایش کنید.
فایل php.ini را در فایل روت فضای میزبانی خود پیدا کنید.
این خط را در آن وارد یا ویرایش کنید:
memory_limit = 256M
فایل را ذخیره کنید و اگر لازم بود، وبسرور را ریستارت کنید.
توجه: برخی هاستها از فایل php.ini شخصی پشتیبانی نمیکنند یا نیاز به نام خاصی برای آن دارند. در این صورت با پشتیبانی هاستتان تماس بگیرید.
افزایش حافظه از طریق فایل .htaccess (در سرورهای Apache)
اگر از وبسرور Apache استفاده میکنید و فایل .htaccess در فولدر روت سایت شما وجود دارد:
آن را باز کنید.
این خط را به فایل اضافه کنید:
php_value memory_limit 256M
فایل را ذخیره کرده و سایت را مجدد بارگذاری کنید.
توجه: برخی هاستها اجازه استفاده از این دستور در .htaccess را نمیدهند. اگر با ارور 500 مواجه شدید، این خط را حذف کنید.
غیرفعال کردن افزونهها و قالبها
غیرفعال کردن افزونهها و قالبها یکی از سادهترین راهحلها برای رفع مشکل خطای صفحه سفید وردپرس است، و بسیاری از راهنماهای عیبیابی این مرحله را به عنوان اولین قدم پیشنهاد میدهند. با این حال، من این مرحله را کمی دیرتر آوردهام چون ممکن است وقتگیر باشد و ظاهر سایت وردپرسی شما را تغییر دهد.
اکنون قصد داریم ببینیم چطور میتوان قالبها و افزونهها را بدون آسیب رساندن به سایت وردپرس غیرفعال کرد.
غیرفعال کردن قالب (Theme)
برای غیرفعال یا تغییر دادن قالب فعلی در وردپرس، مراحل زیر را دنبال کنید:
وارد پیشخوان مدیریت وردپرس (wp-admin) شوید.
به بخش نمایش (Appearance) بروید و روی پوستهها (Themes) کلیک کنید.
پوسته فعلی را غیرفعال کرده و یک قالب پیشفرض را فعال کنید.
برای مرحله پوسته پیشفرض، یک پوسته پیشفرض مثل Twenty Twenty-Four را فعال کنید تا مطمئن شوید مشکل از پوسته فعلی نیست.
اگر به دلیل خطای صفحه سفید مرگ به پیشخوان وردپرس دسترسی ندارید، از طریق نرمافزار FileZilla به سرور سایت خود وصل شوید و پوشهی wp-content/themes را به چیزی مثل my_themes تغییر نام دهید.
با این کار، پوسته فعلی غیرفعال میشود و وردپرس به صورت خودکار یکی از قالبهای پیشفرض را فعال میکند.
میتوانید در مخزن قالبهای وردپرس به دنبال قالبهایی که با نیازهای شما مطابقت دارند بگردید. همچنین میتوانید راهنمای ما برای انتخاب بهترین قالب های وردپرس را بررسی کنید تا انتخاب درستی داشته باشید.
غیرفعال کردن افزونهها (Plugins)
برای غیرفعال کردن افزونهها از طریق داشبورد وردپرس مراحل زیر را انجام دهید:
وارد پیشخوان وردپرس شوید. روی بخش افزونهها (Plugins) کلیک کنید تا لیست افزونههای نصبشده را ببینید.
همهی افزونهها را غیرفعال کنید.
سپس یکییکی آنها را دوباره فعال کنید تا متوجه شوید کدام افزونه باعث ایجاد خطاست.
اما اگر دسترسی به wp-admin ندارید، دوباره از FileZilla استفاده کنید و نام پوشهی plugins را تغییر دهید (مثلاً به plugins_old). اگر سایت شروع به کار کرد، نام پوشه را دوباره به plugins برگردانید و سپس افزونهها را یکییکی با تغییر نام پوشهی آنها آزمایش کنید تا افزونهی مشکلساز را پیدا کنید.
رفع خطاهای سینتکس (Syntax Errors)
با این حال، این کدها ممکن است باعث ایجاد خطای صفحه سفید مرگ شوند. بنابراین، اگر اخیرا تغییری در این فایل ایجاد کردهاید، بازگرداندن تغییرات میتواند به رفع خطاهای نحوی کمک کند و سایت را به حالت عادی برگرداند.
نکته مهم: برای جلوگیری از چنین مشکلاتی، توصیه میشود همیشه تغییرات اعمالشده در فایل functions.php را یادداشت کنید. حتی بهتر است، قبل از اعمال تغییرات، یک نسخه پشتیبان از فایل اصلی تهیه کنید تا در صورت بروز مشکل، بتوانید سریع آن را بازیابی کنید.
رفع مشکل بهروزرسانی خودکار ناموفق
گاهی اوقات، بهروزرسانی وردپرس بهدرستی انجام نمیشود و همین مسئله میتواند باعث خطای صفحه سفید شود. بررسی کنید که آیا سایت شما دچار بهروزرسانی خودکار ناموفق شده است یا نه.
بهعنوان مثال، اگر در حین بهروزرسانی اتصال به سرور قطع شود، ممکن است باعث بروز این خطا شود. برای رفع این مشکل، مراحل زیر را انجام دهید:
با استفاده از FTP به سرور سایت خود متصل شوید.
به پوشه روت سایت (معمولاً public_html یا همان جایی که فایل wp-config.php قرار دارد) بروید. به دنبال فایلی با نام .maintenance بگردید.
اگر این فایل را پیدا کردید، آن را حذف کنید.
حذف این فایل معمولاً باعث برطرف شدن خطای WSoD میشود. اما اگر چنین فایلی وجود نداشت، باید راهحلهای دیگر را بررسی کنید.
بازیابی نسخه پشتیبان (Restore Backup)
گرفتن نسخه پشتیبان (بکاپ) از سایت، یکی از بهترین تدابیر در مدیریت وبسایت است و باید بهصورت منظم انجام شود. یکی از راههای رفع خطای صفحه سفید مرگ در وردپرس، بازیابی یک نسخه پشتیبان سالم و بدون مشکل است.
شما میتوانید از افزونههای بکاپگیری وردپرس مانند UpdraftPlus، All-in-One WP Migration یا Duplicator برای تهیه نسخه پشتیبان کامل استفاده کنید.
سپس از طریق cPanel یا FTP، نسخه پشتیبان را بازیابی کنید و سایت را به حالت قبل از بروز خطا برگردانید.
داشتن نسخه پشتیبان همیشگی، در چنین شرایطی میتواند در عرض چند دقیقه سایت شما را از وضعیت بحرانی خارج کند.
نتیجه گیری
صفحه سفید مرگ وردپرس میتواند بسیار آزاردهنده و حتی ترسناک باشد. علل مختلفی ممکن است باعث بروز این مشکل شوند، اما خوشبختانه معمولاً مشکل آنقدرها هم جدی نیست. در بیشتر موارد، یک بررسی ساده از افزونهها و پوستهها میتواند مشکل را حل کند. آشنایی بیشتر با حالت اشکالزدایی وردپرس نیز میتواند به شما در شناسایی علت مشکل و رفع آن کمک کند. اگر با مشکلات دیگر صفحه سفید مرگ وردپرس روبرو شدهاید، خوشحال میشویم تجربیات خود را با ما به اشتراک بگذارید تا از آن بیاموزیم و آن را منتشر کنیم!