خطای صفحه سفید در وردپرس و راه‌حل اصولی آن

خطای صفحه سفید در وردپرس
خطای صفحه سفید در وردپرس

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

صفحه سفید در وردپرس

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

بررسی افزونه‌­های نصب شده

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

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

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

diactive all plugins- صفحه سفید مرگ
غیرفعال کردن تمامی افزونه‌ها

اگر نمی‌­توانید به رابط Admin خود دسترسی داشته باشید، می­‌توانید این کار را از طریق یک سرویس دهنده file manager میزبان وب خود انجام دهید. تمام کاری که باید انجام دهید این است که با استفاده از فایل منیجر و وارد کردن اطلاعات کاربری به سایت وصل شوید و سپس به پوشه­ wp_content / plugins بروید.

wp content change- تغییر نام پوشه مربوطه
نام پوشه را تغییر دهید تا افزونه‌ها غیرفعال شوند.

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

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

اگر از روش گفته شده برای انجام عیب­‌یابی سایت خود استفاده می­‌کنید، می­‌توانید با ایجاد یک پوشه جدید و نام‌گذاری آن به plugins، این کار را انجام دهید. با انجام این کار، این پوشه به plugin دایرکتوری سایت شما تبدیل می­‌شود. تنها کاری که اکنون باید انجام دهید این است که افزونه­‌ها را از plugins_test به این پوشه منتقل کنید تا مجددا فعال شود. هر یک از افزونه­‌ها را یکی یکی به این پوشه منتقل کنید، سپس سایت خود را آزمایش کنید تا ببینید که آیا به درستی کار می­‌کند و این روند را تکرار کنید تا زمانی که افزونه معیوب را پیدا کنید. فقط به یاد داشته باشید که وقتی کارتان تمام شد باید تمام افزونه­‌های سالم را به پوشه plugins منتقل کنید.

بررسی قالب نصب شده

قالب­‌ها هم می‌­توانند مانند افزونه‌­ها حاوی کد منسوخ یا نادرست باشند. برخی از قالب­‌ها ممکن است به صورت نامناسب کدنویسی شده باشند یا باعث تداخل در عملکرد یک یا چند افزونه شما شوند. همچنین ممکن است نصب یا بروزرسانی یک قالب ناقص، ایجاد مشکل کند. در پایان، اگر در فایل theme’s functions.php تغییراتی ایجاد کرده باشید، می‌­تواند منجر به ایجاد خطای صفحه سفید در وردپرس شود.

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

themes- صفحه سفید در وردپرس
غیرفعال کردن قالب

اگر به داشبورد ادمین دسترسی ندارید، می­توانید این کار را با استفاده از FTP نیز انجام دهید. یک بار دیگر پوشه wp_content / themes را باز کنید و نام پوشه را برای قالب کنونی خود تغییر دهید.

change theme name
تغییر نام قالب

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

میزان حافظه خود را بررسی کنید

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

برای رفع این مشکل، باید حافظه بیشتری به آن اختصاص دهید. روش دقیق انجام این کار با توجه به تنظیمات و میزبان وب خاص شما می­‌تواند متفاوت باشد، اما اجازه دهید برخی از متداول­‌ترین روش‌­های انجام این کار را شرح دهیم.
برای افزایش حافظه PHP سایت خود، معمولا نیاز به ویرایش یک فایل در سرور خود دارید. برای برخی از میزبان‌های وب، مانند DreamHost، نام این فایل php.ini است. اگر این فایل در سایت شما وجود ندارد­، می‌­توانید آن را از طریق (SFTP یا Secure Shell Access (SSH ایجاد کنید. با این حال، اگر از قبل این فایل را دارید، می‌­توانید همین حالا به آن دسترسی پیدا کرده و ویرایش کنید (همچنین با استفاده از SFTP یا SSH). افزایش میزان php.ini این مشکل را رفع می‌کند.

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

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

  چگونه خطای 401 در وردپرس را رفع کنیم؟

از حالت اشکال زدایی وردپرس استفاده کنید

debuging- دیباگ کردن سایت
فعال کردن حالت دیباگ

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

با فعال کردن حالت اشکال زدایی، یک سیاهه خطا (error log) از همه مواردی که هنگام بارگذاری سایت شما اتفاق می‌افتد، ایجاد می‌­شود. حتی می‌توانید این اطلاعات را به طور مستقیم در صفحه نمایش دهید. توصیه می‌­کنیم این کار را بر روی نسخه آزمایشی سایت خود انجام دهید، زیرا اطلاعات جمع آوری شده توسط حالت اشکال زدایی می‌­توانند حساس باشند. به عنوان مثال، می­‌تواند حاوی اطلاعات شخصی باشد، یا یک نقص امنیتی را آشکار سازد.

برای فعال کردن حالت اشکال زدایی، باید فایل wp-config.php سایت خود را ویرایش کنید. این فایل یک بلوک ساختاری بسیار مهم در سایت شما است، زیرا شامل کلیه اطلاعات پایگاه داده شما (از جمله گذرواژه‌ها) است. بنابراین باید قبل از شروع ویرایش به مستندات رسمی آن مراجعه کنید.
وقتی برای شروع اشکال زدایی آماده شدید، از طریق FTP، SSH یا file manager میزبان وب خود به فایل wp-config.php خود دسترسی پیدا کنید. خط زیر را در کد فایل پیدا کنید:

define( 'WP_DEBUG', false );

همانطور که اشاره کردیم، این گزینه به صورت پیش فرض “false” است. تمام کاری که شما باید انجام دهید این است که آن را به صورت زیر تغییر دهید:

define( 'WP_DEBUG', true );

با ذخیره کردن فایل، حالت اشکال زدایی فعال می­‌شود. اما چگونه می‌­توانید لاگ سیستم را ببینید؟ می‌­توانید لاگ خطای حاصل از حالت اشکال زدایی را با استفاده از یکی از این دو روش نمایش دهید. اولین کار ایجاد فایل log است که می­‌توانید با اضافه کردن خط زیر به wp-config.php آن را انجام دهید:

define( 'WP_DEBUG_LOG', true );

با این کار فایلی به نام debug.log در مسیر wp-content/ directory ایجاد می‌­شود. این فایل با استفاده از بیشتر ویرایشگرهای متنی استاندارد مانند TextEdit یا Notepad قابل باز شدن و خواندن است.
همچنین می‌­توانید پیام­‌های خطا را مستقیما در صفحه نمایش دهید. برای این کار کد زیر را به wp-config.php اضافه کنید:

define( 'WP_DEBUG_DISPLAY', true );

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

Parse error: syntax error, unexpected $end in /home/name/public_html/wordpress/wp-content/themes/your_theme/functions.php on line 231

در این مورد، می‌­بینید که مشکل از فایل function.php و به طور خاص در خط شماره 231 آن است. اکنون می‌توانید فایل توابع را باز کنید، خط ذکر شده را بررسی کنید و تحقیق کنید تا ببینید چه چیزی باعث ایجاد خطای نحوی شده است. پس از اینکه مشکل را حل کردید، می‌­توانید فایل را ذخیره کرده و دوباره سایت خود را بررسی کنید.

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

پس از آن که کار شما با حالت اشکال زدایی تمام شد، بسیار مهم است که آن را غیرفعال کنید. می‌­توانید این کار را با ویرایش یک بار دیگر فایل wp-config.php و تغییر خط WP_DEBUG به false انجام دهید. فعال نگه داشتن آن، می‌­تواند منجر به بروز مشکلات گسترده و مسائل امنیتی شود، بنابراین پس از پایان عیب‌یابی حتما آن را ببندید.

خطاهای غیر معمول را بررسی کنید

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

وضعیت سرور خود را بررسی کنید

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

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

حافظه پنهان (Cache) خود را بررسی کنید

اجرای راه­‌حل­‌های حافظه پنهان در وردپرس روشی عالی برای سرعت بخشیدن به سایت شما است. اما به دلیل اینکه نسخه­‌های قدیمی فایل‌­ها را ذخیره می­‌کند، این خطر وجود دارد که محتوای قدیمی منسوخ شده باعث ایجاد مشکلاتی شود.

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

سایت خود را برای فایل­‌های معیوب جستجو کنید

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

اگر هیچ کدام از این روش‌­ها، مشکل شما را حل نکرد، چه کاری باید انجام دهید؟

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

منابع:

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

اگر می‌خواهید از آخرین و محبوب‌ترین مقالات ما در ایمیل خود مطلع شوید، همین الان ایمیل خود را در کادر زیر وارد کنید:

تعداد علاقه‌مندانی که تاکنون عضو خبرنامه ما شده‌اند:

335,861 نفر

پاسخی بگذارید

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. 3 سال عضو همیار وردپرس

    سلام من تک تک افزونه ها رو فعال و غیر فعال کردم مشکل برطرف شد
    فهمیدم از افزونه فرم تماس بود !

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

  3. سلام – مشکل من هم حل شد – سپاس از همیار وردپرس عزیز

    با استفاده از ر.وش زیر موفق شدم :
    نخست به پوشه وردپرس سایت‌تان و بعد به پوشه wp-content بروید، پوشه‌ای با نام Plugins مشاهده می‌کنید. حال نام این پوشه را به Plugins-deact تغییر دهید.
    (البته هرنامی می‌توانید برای پوشه قرار دهید).
    با تغییر نام این پوشه، تمام افزونه‌های سایت‌تان غیر فعال می‌شوند. اگر مشکل حل شد پس حتما یکی از افزونه‌هایتان مشکل‌ساز شده. به پیشخوان وردپرس بروید و بعد نام پوشه را دوباره به plugins بازگردانید و یکی یکی افزونه‌ها را فعال کنید تا افزونه خراب‌کار را پیدا کنید.

  4. سلام سایت من سفید شده صفحه قسمت wp-admin که میرم برای ورود همه چیز عربی شده و وارد نمیتونم بشم رمز و یوزر میگه اشتباه ایمیل هم میدم ایمیل رو قبول نمیکنه

  5. سلام
    سایت من هم همین مشکلو داره تمام را ه حل ها رو رفتم ولی هیچ چیزی نشون نمیده حتی خطای 500

    INSTRUMENTTOOLS.IR
    این ادس سایتمه
    ممنون میشم راهنمایی کنید

  6. سلام سایتم این ارورها رو میده چکار کنم
    Fatal error: Uncaught Error: Call to undefined function jannah_get_banner() in /home/newskala/public_html/wp-content/themes/jannah/header.php:35 Stack trace: #0 /home/newskala/public_html/wp-includes/template.php(688): require_once() #1 /home/newskala/public_html/wp-includes/template.php(647): load_template(‘/home/newskala/…’, true) #2 /home/newskala/public_html/wp-includes/general-template.php(41): locate_template(Array, true) #3 /home/newskala/public_html/wp-content/themes/jannah/page.php(10): get_header() #4 /home/newskala/public_html/wp-includes/template-loader.php(74): include(‘/home/newskala/…’) #5 /home/newskala/public_html/wp-blog-header.php(19): require_once(‘/home/newskala/…’) #6 /home/newskala/public_html/index.php(17): require(‘/home/newskala/…’) #7 {main} thrown in /home/newskala/public_html/wp-content/themes/jannah/header.php on line 35

  7. عالی – درست شد

مطالب زیر را حتما بخوانید

دوره‌های آموزشی