مواجهه با یک صفحه سفید و خالی در وبسایتهای وردپرسی، تجربهای ناخوشایند برای کاربران است. این مشکل که با نام «صفحه سفید مرگ وردپرس» (WordPress White Screen of Death) یا بهاختصار WSOD شناخته میشود، یکی از رایجترین خطاهایی است که میتواند بر عملکرد و دسترسی به سایت شما تأثیر منفی بگذارد.
این مقاله، یک راهنمای جامع برای درک WSOD، شناسایی دلایل بروز آن و ارائه راهحلهای عملی برای رفع این مشکل است. با مطالعه این راهنما، شما قادر خواهید بود تا نهتنها این مشکل را برطرف کنید، بلکه از بروز مجدد آن نیز جلوگیری نمایید.
آنچه در این مقاله خواهید خواند:
- صفحه سفید مرگ وردپرس چیست؟
- چگونه مشکل صفحه سفید مرگ وردپرس را حل کنیم؟
صفحه سفید مرگ وردپرس: تعریف و علائم
صفحه سفید مرگ وردپرس، زمانی رخ میدهد که بهجای محتوای وبسایت، یک صفحه کاملاً سفید به کاربر نمایش داده میشود. این مشکل میتواند در مرورگرهای مختلف، با پیامهای متفاوتی همراه باشد. بهعنوانمثال، در مرورگر گوگل کروم، ممکن است خطای HTTP 500 نمایش داده شود:
در مرورگر فایرفاکس نیز، تنها یک صفحه سفید نمایش داده میشود، بدون هیچگونه اطلاعات اضافی. WSOD معمولاً به دلیل خطاهای کد نویسی PHP، محدودیتهای حافظه، تداخل افزونهها یا مشکلات قالب به وجود میآید. خوشبختانه، راهحلهای متعددی برای رفع این مشکل وجود دارد که در ادامه به بررسی آنها خواهیم پرداخت.
راهحلهای گامبهگام برای رفع صفحه سفید مرگ وردپرس
در این بخش، ۹ روش کاربردی برای حل مشکل صفحه سفید مرگ وردپرس (WSOD) را معرفی میکنیم. با دنبالکردن این راهنما، میتوانید در سریعترین زمان ممکن، این مشکل را برطرف کنید:
- غیرفعالسازی افزونههای وردپرس
- تغییر قالب پیشفرض وردپرس
- پاکسازی کش مرورگر و کش وردپرس
- فعالسازی حالت اشکالزدایی (Debugging)
- افزایش محدودیت حافظه PHP
- بررسی مجوزهای دسترسی به فایلها
- بررسی مشکلات بهروزرسانی خودکار وردپرس
- رفع خطاهای کد نویسی یا بازیابی نسخه پشتیبان
- افزایش قابلیت پردازش PHP
در ادامه، هر یک از این روشها را بهصورت جداگانه و با جزئیات بیشتری توضیح میدهیم.
-
غیرفعالسازی افزونههای وردپرس
یکی از شایعترین دلایل بروز WSOD، وجود یک یا چند افزونه ناسازگار یا معیوب است. اگر به بخش مدیریت وردپرس دسترسی دارید، میتوانید بهراحتی تمام افزونهها را غیرفعال کنید. برای این کار، از بخش «افزونهها» (Plugins)، تمام افزونهها را انتخاب کرده و گزینه «غیرفعالکردن» (Deactivate) را انتخاب کنید.
اگر با غیرفعالکردن افزونهها، مشکل WSOD برطرف شد، این احتمال وجود دارد که یکی از افزونهها باعث بروز این مشکل شده باشد. برای شناسایی افزونه مشکلساز، باید افزونهها را بهصورت تکی فعال کرده و پس از فعالسازی هر افزونه، وبسایت را بررسی کنید. اگر با فعالشدن یک افزونه خاص، مشکل دوباره ظاهر شد، آن افزونه عامل بروز مشکل است. برای رفع این مشکل، میتوانید افزونه را بهروزرسانی کنید، جایگزین آن شوید یا با پشتیبانی افزونه تماس بگیرید. اگر به پنل مدیریت دسترسی ندارید، میتوانید با استفاده از FTP، نام پوشه plugins را در مسیر wp-content تغییر دهید.
با تغییر نام پوشه plugins، وردپرس قادر به شناسایی افزونهها نخواهد بود و تمام افزونهها غیرفعال میشوند.
-
تغییر قالب پیشفرض وردپرس
اگر غیرفعالکردن افزونهها مشکل WSOD را حل نکرد، احتمال دارد که قالب فعال وبسایت شما مشکل داشته باشد. در این صورت، قالب وردپرس را به یکی از قالبهای پیشفرض وردپرس تغییر دهید.
برای تغییر قالب در پنل مدیریت وردپرس، به مسیر زیر بروید:
Appearance > Themes
اگر به پنل مدیریت دسترسی ندارید، میتوانید با استفاده از FTP، نام پوشه theme را در مسیر content/themes تغییر دهید.
با تغییر نام پوشه theme، یک قالب پیشفرض جایگزین قالب فعلی وبسایت میشود. اگر با تغییر قالب، مشکل صفحه سفید مرگ وردپرس حل شد، مشکل از قالب فعلی وبسایت است و باید آن را اصلاح یا با یک قالب دیگر جایگزین کنید.
-
پاکسازی کش مرورگر و افزونه کش وردپرس
اگر پس از بررسی دو مرحله قبل، مشخص شد که مشکل از افزونهها یا قالب وبسایت نیست، احتمال دارد که مشکل از کش مرورگر یا یکی از افزونههای کش وردپرس باشد. برای بررسی این موضوع، کش مرورگر و افزونه کش وردپرس را پاک کنید.
اگر از افزونههای کش وردپرس مانند WP Super Cache استفاده میکنید، میتوانید بهراحتی کش آن را از طریق مسیر زیر پاک کنید:
Settings > WP Super Cache > Delete Cache
پس از پاککردن کش، با رفرش صفحه وبسایت، بررسی کنید که آیا مشکل WSOD برطرف شده است.
-
فعالسازی حالت اشکالزدایی (Debugging) وردپرس
اگر با بررسی سه مرحله قبل، همچنان مشکل WSOD برطرف نشد، میتوانید از حالت دیباگ وردپرس استفاده کنید. برای فعالکردن حالت دیباگ، باید خط زیر را در فایل wp-config.php پیدا کرده و مقدار آن را به true تغییر دهید:
define(‘WP_DEBUG’, false );
اگر این خط در فایل وجود نداشت، میتوانید آن را به ابتدای فایل اضافه کنید.
با فعالکردن حالت دیباگ، بهجای نمایش یک صفحه سفید خالی، یک صفحه با پیامهای خطا که نشاندهنده خطاهای موجود در وبسایت هستند، نمایش داده میشود:
Cannot redeclare get_posts() (previously declared in
/var/www/html/wordpress/wp-includes/post.php:1874) in
/var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38
همانطور که در مثال بالا مشخص است، مشکل از افزونه my-test-plugin است. با اصلاح یا غیرفعالکردن این افزونه، احتمالاً مشکل WSOD حل میشود. اگر پس از فعالکردن حالت دیباگ، هیچ خطایی نمایش داده نشد، ممکن است مشکل از سرور وب باشد و حالت دیباگ بهدرستی پیکربندی نشده باشد. در این صورت، باید با پشتیبانی هاستینگ خود تماس بگیرید. پس از اتمام این مرحله، حتماً حالت دیباگ را غیرفعال کنید؛ زیرا فعال بودن آن میتواند اطلاعات مهم وبسایت را در معرض دید دیگران قرار دهد.
-
افزایش محدودیت حافظه PHP
اگر با اجرای چهار مرحله قبل، مشکل صفحه سفید مرگ وردپرس همچنان حل نشد، احتمال دارد که مشکل از کمبود حافظه PHP باشد. برای حل این مشکل، محدودیت حافظه را افزایش دهید.
برای افزایش حافظه PHP، میتوانید از روشهای زیر استفاده کنید:
- قرار دادن کد زیر در فایل wp-config.php:
define(‘WP_MEMORY_LIMIT’, ’64M’);
- قرار دادن کد زیر در فایل .htaccess:
php_value memory_limit 64M
- دسترسی به فایل php.ini از طریق FTP و قرار دادن کد زیر در آن:
memory_limit = 64M
اگر با تخصیص حافظه مناسب، همچنان مشکل کمبود حافظه وجود داشت، احتمال دارد که قالب یا یکی از افزونهها، مقدار زیادی از حافظه را اشغال کند. در این صورت، میتوانید از یک برنامهنویس حرفهای کمک بگیرید.
-
بررسی مجوزهای دسترسی به فایلها
یکی از دلایل احتمالی بروز مشکل WordPress White of Death، میتواند مربوط به مجوزهای دسترسی به فایلها باشد. اگر به SSH سرور دسترسی دارید، دستورات زیر را در مسیر روت وردپرس خود اجرا کنید:
sudo find . -type f -exec chmod 664 {} + sudo find . -type d -exec chmod 775 {} + sudo chmod 660 wp-config.php
اگر این مرحله برای شما پیچیده است، میتوانید از یک برنامهنویس حرفهای یا پشتیبانی هاستینگ خود کمک بگیرید.
-
بررسی مشکلات بهروزرسانی خودکار وردپرس
یکی دیگر از دلایل احتمالی بروز WSOD، میتواند بهروزرسانی معیوب وردپرس باشد. برای بررسی این موضوع، بررسی کنید که آیا فایل maintenance. یا یک فایل با همین نام در وبسایت شما وجود دارد. اگر این فایل وجود دارد، آن را حذف کنید و وبسایت را رفرش کنید. اگر همچنان مشکل وجود داشت، میتوانید وردپرس را بهصورت دستی بهروزرسانی کنید.
-
رفع خطاهای کد نویسی یا بازیابی نسخه پشتیبان
اگر در حین ویرایش کدهای وردپرس، خطایی رخ دهد، ممکن است با مشکل صفحه سفید مرگ مواجه شوید. توصیه میشود که بههیچعنوان کدهای وردپرس را بهصورت دستی ویرایش نکنید. بااینحال، اگر این اتفاق افتاد، میتوانید از طریق FTP تغییرات را به حالت پیشفرض برگردانید. اگر حالت دیباگ را فعال کردهاید، پیام خطا میتواند محل دقیق کد معیوب را مشخص کند.
-
افزایش قابلیت پردازش PHP
درصورتیکه صفحه یا پست شما بسیار طولانی است، میتوانید با افزودن کد زیر به فایل wp-config.php، قابلیت پردازش PHP را افزایش دهید:
ini_set(‘pcre.recursion_limit’,20000000);ini_set(‘pcre.backtrack_limit’,10000000);
جمعبندی
در این مقاله، ما به بررسی مشکل صفحه سفید مرگ وردپرس، یکی از رایجترین مشکلات در وبسایتهای وردپرسی، پرداختیم. ما علتهای بروز این مشکل و راهحلهای مختلفی را برای رفع آن معرفی کردیم. با دنبالکردن سه مرحله اول، احتمالاً مشکل WSOD برطرف میشود و نیازی به بررسی سایر مراحل نیست. بااینحال، ما برای تکمیل آموزش، سایر راهحلها را نیز شرح دادیم. امیدواریم که این راهنما برای شما مفید بوده باشد. در پایان، از شما دعوت میکنیم تا نظرات و پیشنهادات خود را از طریق راههای ارتباطی با ما، در میان بگذارید.
منبع: wpbeginner.com
ارسال پاسخ