“یک خطای مهم در این وب سایت رخ داده است” ! خطای که به طور کلی سمت کاربر را در وردپرس از کار میاندازد و هر لحظه که میگذرد بازدید کنندگان سایت خود را از دست میدهید و باید بدانید که چطور باید این خطا را رفع کنیم.
تا نسخه ۵.۲ وردپرس این خطا وجود نداشت. و از نسخه ۵.۲ وردپرس به بعد این خطا به وردپرس اضافه شد. خوشبختانه معمولا این خطای وردپرس با اضافه کردن یک تابع PHP و یا از کار انداختن یک افزونه بر طرف میشود. در ادامه به صورت مفصل تمام راهکارهایی که وجود دارد و باید انجام دهید را به ترتیب اولویت با هم بررسی میکنیم.
علت خطای “یک خطای مهم در این وب سایت رخ داده است” چیست؟
اگر از نسخه قبل از ۵.۲ وردپرس، با این سیستم کار کرده باشید با حتما خطای معروف صفحه مرگ وردپرس یا صفحه سفید وردپرس آشنا هستید. در نسخههای قبلی وردپرس وقتی این خطا در وردپرس وجود داشت صفحه سفید و خالی میشد. از نسخه ۵.۲ به بعد معمولا این خطا با پیغام “لطفاً صندوق ایمیل مدیر سایت را برای دستورالعمل بررسی نمایید“ جایگزین شده است.
رفع این خطا ساده است و به طور معمول اول باید خطاهای php را بررسی کنیم. با افزایش حافظه php در وردپرس و یا بررسی افزونهها این خطا معمولا رفع میشود. در ادامه به صورت کامل به ترتیب اولویت کارهایی که باید هنگام برخورد با خطا انجام دهید را بررسی میکنیم.
در اکثر موارد این خطار به دلیل خطا در کدها به وجود میآید و نیاز به تخصص برنامه نویسی و وردپرس وجود دارد. پیشنهاد میکنم بی گدار به آب نزنید. یا به متخصصان بسپارید مشکل را رفع کنند یا حتما قبل از ایجاد تغییرات فول بکاپ از سایت خود تهیه کنید.
عیب یابی (debug) را در وردپرس فعال کنید
اولین کاری که باید انجام دهید، فعال کردن حالت عیب یابی (اشکال زدایی) وردپرس است. با فعال کردن این امکان، خطاهای php در سایت نمایش داده میشود و با ردیابی خطا به سادگی میتوانید مشکل را رفع کنید.
توجه داشته باشید که با فعال کردن عیب یابی وردپرس مشکل رفع نمیشود! با فعال کردن عیب یابی خطای php که منجر به از کار افتادن سایت شماست نمایش داده میشود و با خواندن خطا و ردیابی آن به سادگی میتوانید مشکل را رفع کنید.
برای فعال کردن حالت عیب یابی وردپرس وارد پوشه ای که وردپرس را در آن نصب کردید شوید. اگر از هاست سی پنل یا دایرکت ادمین استفاده میکنید باید وارد پوشه public_html شوید. اگر وردپرس را به کمک زمپ نصب کردید به پوشه htdocs و محل نصب وردپرس بروید و فایل wp-config.php را به شکل زیر ویرایش کنید.
در این فایل تابع زیر به صورت پیش فرض false قرار دارد. این مقدار را به true تغییر دهید. و بهتر است دو خط بعدی را هم به این فایل اضافه کنید. مطابق کد زیر:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );
تغییراتی که میدهید باید به شکل تصویر زیر باشد:
اشکال زدایی وردپرس اکنون در سایت شما فعال شده است و سایت شما خطاها را نشان میدهد یا به اصطلاح بر میگرداند. در این مرحله برگردید به سایت خود و صفحه را مجددا بارگزاری کنید. خطایی که مشاهده میکنید را به دقت بررسی کنید. اگر دیدید در متن خطا پلاگین خاصی وجود دارد باید همان پلاگین را غیر فعال کنید. در ادامه چگونگی غیر فعال کردن پلاگین مد نظر را توضیح خواهیم داد.
توجه داشته باشید که این کار را فقط برای عیب یابی انجام میدهیم. حتما بعد از اینکه عیب یابی انجام شد و کارتان تمام شد، مقدار WP_DEBUG را به false تغییر دهید و دو خط بعدی را حذف کنید.
افزونهها را غیر فعال کنید
روش خیلی سریع برای اینکه بفهمید که مشکل در یکی از افزونهها است یا خیر این است که:
- قدم اول: وارد پوشه نصبی وردپرس شوید (اگر هاست هستید public_html و اگر زمپ هستید htdocs و پوشه وردپرس مد نظر)
- قدم اوم: وارد پوشه wp-content شوید
- قدم سوم: پوشه plugin را تغییر نام دهید به plugin_old
پس از انجام این کار اگر سایت شما لود شود مشکل حتما بخاطر یکی از پلاگین ها است. توجه داشته باشید که با تغییر نام پوشه plugin ممکن است سایت خود را نامرتب ببینید. نامرتب بودنش مهم نیست. مهم این است که با تغییر نام پوشه plugin خطا رفع شده است. پس مشکل حتما از سمت یکی از پلاگین ها است.
اما روشی که گفتم بهترین راهکار نیست! این فقط یک راهکار خیلی سریع است که بفهمیم مشکل در یکی از افزونهها است.
روش بهتر چیست؟ هنگامی که عیب را روشن کردید اگر به خطایی مشابه زیر برخورد کردید:
این خطا نمونه خطایی در زمپ است. ممکن است ظاهر خطا فرق داشته باشد ولی متن خطا اگر چیزی مشابه به تصویر بالا بود، دقیقا متوجه خواهید شد که مشکل در کدام پلاگین است. همانطور که در تصویر علامت گذاشتم میبینید که به عنوان مثال مشکل در پلاگین woocommerce است. به جای اینکه کل پوشه plugins را تغییر نام دهید در این مورد باید وارد پوشه plugins شوید و پوشه woocommerc را تغییر نام دهید تا این پلاگین از کار بیفتد و مشکل سایت فعلا رفع شود.
مقاله مرتبط: افزونه وردپرس چیست؟
قالبها را غیر فعال کنید
روش خیلی سریع برای اینکه بفهمید که مشکل در یکی از قالبها است یا خیر این است که:
- قدم اول: وارد پوشه نصبی وردپرس شوید (اگر هاست هستید public_html و اگر زمپ هستید htdocs و پوشه وردپرس مد نظر)
- قدم اوم: وارد پوشه wp-content شوید
- قدم سوم: پوشه themes را تغییر نام دهید به themes_old
پس از انجام این کار اگر سایت شما لود شود مشکل حتما بخاطر یکی از قالب ها است. توجه داشته باشید که با تغییر نام پوشه themes ممکن است سایت خود را نامرتب ببینید. نامرتب بودنش مهم نیست. مهم این است که با تغییر نام پوشه themes خطا رفع شده است. پس مشکل حتما از سمت یکی از قالبها است و باید مشکل قالب را رفع کنیم.
مقاله مرتبط: قالب وردپرس چیست؟
محدودیت حافظه PHP را افزایش دهید
اگر پس از فعالسازی حالت عیب یابی وردپرس خطایی شبیه به زیر دارید مشکل از حافظه PHP است:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home/xxx/public_html/wp-includes/plugin.php on line xxx
برای افزایش حافظه PHP در وردپرس روشهای مختلفی وجود دارد. ساده ترین روش به شکل زیر است:
- به محل نصب وردپرس مراجعه کنید (اگر هاست هستید public_html و اگر زمپ هستید htdocs و پوشه وردپرس مد نظر)
- به فایل wp-config.php کد زیر را اضافه کنید:
define( 'WP_MEMORY_LIMIT', '128M' );
اگر مشکل برطرف نشد میتوانید مقدار ۲۵۶M را نیز امتحان کنید.
جمع بندی
سعی کردم به صورت پایهای علتهای “یک خطای مهم در این وب سایت رخ داده است” را توضیح دهم. سریع ترین راه این است که اگر بکاپ از آخرین نسخه سالم دارید، بکاپ را برگردانید اما روشهای مختلفی یه برای رفع این خطا وجود داشت را بررسی کردیم.
اگر سوالی دارید میتوانید در قسمت نظرات همین پست بیان کنید. با تشکر و احترام