خطاهای رایج وردپرس و چگونگی رفع آنها
وردپرس یک سیستم نرم افزاری پایدار است که در اکثر مواقع بدون هیچگونه خطایی به فعالیت خود ادامه می دهد. با این حال بعضی وقت ها اتفاقاتی می افتد که وردپرس از حالت پایدار خود خارج شده و خطاهایی را به شما نمایش می دهد. خبر خوب اینکه خطایی که هم اکنون برای شما بوجود آمده، قبلا برای فرد دیگری اتفاق افتاده و آن را رفع کرده. پس شما نیز می توانید از آن راه حل استفاده کرده و خطای سایت وردپرسی خود را رفع کنید.
آیا تابه حال با صفحه مرگ (White Screen) وردپرس بعد از نصب قالب یا افزونه ی وردپرس روبرو شده اید؟ شاید هم در حال آپدیت قالب، افزونه و یا خود وردپرس بوده اید و این بروز رسانی به هیچ وجه به پایان نرسیده است و حالا وبسایت شما در وضعیت “سایت در دست تعمیر است” قرار گرفته. شاید هم با خطای ارتباط با پایگاه داده و یا خطای داخلی یا Internal Error روبرو شده باشید.
اگر با خطاهای بالا روبرو شده اید و حال به دنبال رفع آن خطاها هستید باید به شما بگویم به مکان درستی آمده اید. در این مقاله ابتدا میخواهیم اکثر خطاهای رایجی که در وردپرس ممکن است اتفاق بیفتد را معرفی کنیم و سپس به راه حل آن خطاها بپردازیم.
توجه داشته باشید که قبل از هر تلاشی برای رفع خطاهای سایت وردپرسی خود و یا دیگران، از سایت خود بطور کامل بک آپ بگیرید.
از آنجایی این مقاله بسیار طولانی است برای شما فهرستی از مطالبی که قرار است در این مقاله به آن بپردازیم را آماده کرده ایم. با استفاده از این جدول مستقیما میتوانید خطای خود را انتخاب کنید تا به همان بخش هدایت شوید.
فهرست محتوا
آموزش رفع خطای Internal Server
- آموزش رفع خطای Syntax Error
- آموزش رفع خطای عدم ارتباط با وردپرس با پایگاه داده
- آموزش رفع خطای صفحه سفید (صفحه مرگ) وردپرس
- آموزش رفع خطای 404 در نوشته های وردپرس
حال گام به گام به رفع خطاهای وردپرسی فوق می پردازیم.
1- آموزش رفع خطای Internal Server
شاید گیج کننده ترین خطای وردپرس، خطای Internal Server و یا همان 500 Internal Server Error باشد. امروز سایتتان خوب است ولی در روز دیگر، هنگامی که سایت خود را باز می کنید با این خطا مواجه می شوید.
این خطا مخصوص وردپرس نیست و در هر سایتی با هر سیستم مدیریت محتوایی ممکن است اتفاق بیفتد. این خطا به این دلیل گیج کننده است چون یک خطای عمومی است و منشأ بوجود آمدن مشکل را بازگو نمی کند. میدانید، این خطا مثل این است که شما به دکتر مراجعه کنید و فقط به او بگویید درد دارم ولی نگویید که منشأ دردتان کجاست. پس خود به تنهایی باید منشأ بوجود آمدن این خطا را پیدا کنید.
اما اکثر مواقع این مشکل بدلیل وجود مشکلی در فایل .htaccess سرور است و یا به دلیل وجود مشکلی در یکی از افزونه های نصب شده در وردپرس و یا در یکی از قالب ها است. بعضی وقت ها PHP memory limits نیز باعث بوجود آمدن این خطا می شود. حتی بعضی وقت ها مشاهده کرده ایم که این خطا فقط در بخش Admin وردپرس رخ داده و در سمت کاربران یا همان Front هیچ مشکلی وجود ندارد، پس با خطای نسبتا مرموزی مواجه هستیم.
یکی از آسان ترین راه ها برای پیدا کردن منشأ این خطای مرموز، مشاهده فایل error_log است که البته اکثر ارائه دهندگان هاست و سرور این فایل را ندارند و یا اگر هم وجود داشته باشد، همه ی خطاهای سایت را Log نمی کند. یکی دیگر از راه هایی که می توانید منشأ این خطا را پیدا کنید فعال کردن WP_Debug است. با فعالسازی این ویژگی در وردپرس، می توانید علت بوجود آمدن خطای 500 Internal Server Error را پیدا کنید.
برای فعال سازی این ویژگی در روت (root) اصلی سایت خود به دنبال فایل wp-config.php بگردید. آن را انتخاب کرده و وارد محیط ویرایش کد شوید. وقتی فایل فوق را در حالت Edit بازکردید به دنبال عبارت زیر بگردید:
;(define(‘WP_DEBUG’, false
و آن را به عبارت زیر تغییر دهید:
;(define(‘WP_DEBUG’, true
با این تغییر، وردپرس به شما خواهد گفت که علت بروز اکثر خطاها چیست.
اما همانطور که گفته شد، خطای 500 Internal Server Error ممکن است به دلایل زیر رخ دهد:
- وجود مشکل در فایل .htaccess
- محدودیت PHP Memory
- وجود مشکل در کدهای قالب و یا افزونه ها
- وجود مشکل در هسته ی اصلی وردپرس
حال به توضیح هر یک می پردازیم:
1- وجود مشکل در فایل .htaccess
اولین کاری که باید بعد از مشاهده خطای 500 Internal Server Error انجام دهید، بررسی فایل .htaccess است تا مطمئن شوید مشکل از این فایل نیست. برای این کار کافی است نام فایل .htaccess اصلی را به .htaccess_old تغییر دهید. برای این کار کافی است از طریق FTP به File Manager هاست خود متصل شوید و یا از طریق Cpanel یا Direct Admin وارد File Manager شوید.
وقتی بواسطه ی یکی از روش های بالا وارد File Manager شدید، به دنبال فایل .htaccess بگردید. این فایل معمولا همانجایی قرار دارد که فایل های اصلی وردپرس مثل wp-admin و wp-includes قرار دارد.
تغییر نام را برای این فایل انجام دهید و سایت خود را ببینید. اگر خطایی در سایت مشاهده نکردید پس منشأ، فایل .htaccess بوده. حال که مشکل را رفع کردید نیاز دارید تا یک فایل .htaccess جدید بسازید. برای این کار وارد محیط مدیریتی وردپرس شوید و از بخش تنظیمات بر روی گزینه “پیوند های یکتا” کلیک کنید. حواستان باشد که در این مرحله هیچ تغییری در این بخش ایجاد نکنید و فقط روی گزینه Save یا ذخیره کلیک کنید. با این کار یک فایل جدید .htaccess ساخته خواهد شد که تنظیمات مرتبط با URLهای سایت شما را دارد و دیگر صفحات سایتتان خطای 404 را به شما نمایش نمی دهند.
اما اگر منشأ خطای Internal Server Error 500 این گزینه نبود. باید ادامه ی این مقاله را بخوانید تا با گام بعدی آشنا شوید.
2- محدودیت PHP Memory
بعضی وقت ها منشأ خطای Internal Server Error 500 به علت محدودیت PHP Memory می باشد. اگر این خطا را فقط حین ورود به ناحیه ی مدیریتی وردپرس یا آپلود رسانه مشاهده کردید باید مراحل زیر را انجام دهید:
2-1 | یک فایل جدید به نام php.ini بسازید.
2-2 | کد مقابل را درون آن قرار دهید: memory=64MB
2-3 | فایل را ذخیره کنید.
2-4 | فایل ذخیره شده را با استفاده از FTP درون پوشه wp-admin قرار دهید.
چندین کاربر گفته اند که مشکل خطای Internal Server Error 500 در سمت پنل مدیریتی وردپرس از این طریق حل شده است.
اگر خطای فوق بعد از انجام مراحل گفته شده حل گردید باید بدانید که خطای شما بطور موقتی برطرف گردیده است. شما هنوز هم باید به دنبال علت ایجاد محدودیت PHP Memory باشید.
معمولا محدویت PHP Memory بدلیل وجود کدهای ضعیف در پلاگین یا قالب وردپرس است. برای پیدا کردن منشأ این مشکل پیشنهاد میکنیم به ارائه دهنده ی سرویس خود تیکت بزنید و از آنها درخواست کنید تا با بررسی فایل Log سرور علت بروز چنین مشکلی را به شما بگویند.
اما اگر با افزایش محدویت PHP Memory مشکل شما برطرف نگردید آنوقت باید منشأ خطا را در جای دیگر جستجو کنید.
3- غیرفعال کردن تمامی پلاگین ها
اگر هیچ یک از روش های بالا برای مشکل خطای داخلی را حل نکرد، احتمالا منشأ این خطا درون یکی از پلاگین های نصب شده روی وردپرس شما است. البته ممکن هم هست که دو یا چند پلاگین به خوبی با یکدیگر سازگار نباشند و چنین مشکلی را به وجود بیاورند.
بدبختانه برای این موضوع هیچ راهی جز غیرفعال کردن تمامی پلاگین ها ندارید. برای این کار می توانید راهنمای ما را برای غیرفعال کردن دسته جمعی پلاگین ها در وردپرس را مطالعه بفرمایید.
اگر غیرفعال کردن پلاگین ها به حل مشکل خطای Internal Server Error 500 کمکی کرد، پس منشأ این خطا یکی از پلاگین ها است. برای پیدا کردن آن پلاگین هم راهی بسیار آسان وجود دارد فقط کافی است به بخش پلاگین ها در وردپرس بروید و به ترتیب پلاگین ها را فعال کنید تا زمانی که پلاگینی که این مشکل را بوجود آورده پیدا کنید.
آپلود مجدد فایل های اصلی (هسته) وردپرس
اگر منشأ خطای Internal Server Error 500 از افزونه ها نبود، پس بهتر است فایل های اصلی وردپرس که شامل پوشه wp-admin و wp-include هست را دوباره آپلود کنید تا فایل های جدید جایگزین فایل های قدیمی شوند. به سایت وردپرس فارسی مراجعه و آخرین نسخه وردپرس را دانلود کنید. سپس از طریق FTP به هاست خود متصل شوید.
در بخش سمت چپ نرم افزار FTP پوشه وردپرس را در کامپبوتر خود بازکنید و سپس پوشه ی wp-admin و wp-include را انتخاب کرده و بعد راست کلیک کنید و روی گزینه Upload کلیک کنید.
بعد نرم افزار FTP از شما می پرسد که قصد چه عملی را نسبت به این پوشه ها دارید. روی گزینه Overwrite کلیک کرده و سپس گزینه Always use this action انتخاب و روی گزینه OK کلیک کنید.
حال نرم افزار FTP شروع به بازنویسی فایل های جدید بر روی فایل های قدیمی می کند و اگر در فایل های قدیمی مشکلی وجود داشته باشد با آپلود فایل های جدید از بین می رود و اگر خطای Internal Server Error 500 مربوط به این فایل ها باشد، آن خطا بایستی حل شود.
پشتیبانی هاست و سرور
اگر هیچ یک از روش های فوق برای حل مشکل خطای Internal Server Error 500 جواب نداد وقت آن است که با پشیبانی هاست و سرور خود تماس بگیرید و یا از طریق تیکت پیگیری کنید. کارشناسان پشتیبانی چون به فایل Log سرور دسترسی دارند به راحتی می توانند منشأ این خطا را پیدا کرده و به شما اطلاع دهند.
2- آموزش رفع خطای Syntax Error
این خطا معمولا وقتی رخ می دهد که شما سعی در اضافه کردن قطعه کد جدید به قالب یا پلاگین را دارید. اگر در حین اضافه کردن قطعه کد به قالب قطعه کدی حذق شود و یا کدی که شما می خواهید اضافه کنید دارای خطا باشد، شما خطای نحوی یا Syntax Error را در صفحه نمایش می بینید. البته این خطا مربوط به وردپرس نیست بلکه خطایی است که توسط پردازشگر کدهای PHP ساخته و به شما نمایش داده می شود. شما این خطا را معمولا به شکل زیر می بینید:
Parse error– syntax error, unexpected $end in /public_html/site1/wp-content/themes/my-theme/functions.php on line 278
خطای فوق به شما میگوید که یک اتفاق غیر منتظره در کد بوجود آمده و به شما آدرس آن را می دهد. اینکه در کدام فایل و کدام خط این خطا رخ داده است. این خطا به راحتی قابل حل است. معمولا به خاطر عدم استفاده از {} در توابع یا قرار دادن ; در انتهای کدهای php این خطا رخ می دهد.
3- آموزش رفع خطای عدم ارتباط وردپرس با پایگاه داده
این خطا بسیار واضح است و به این معنی است که سایت شما نمی تواند با پایگاه داده ارتباط برقرار کند. ولی حل این مشکل شاید برای مبتدیان مشکل باشد.
این خطا معولا زمانی رخ می دهد که کاربر اطلاعات هویتی پایگاه داده را مثل محل پایگاه داده یا نام کاربری و رمز عبور آن را تغییر می دهد ولی در وردپرس آن را اعمال نمی کند. البته بعضی وقت ها نیز این خطا بدلیل عدم پاسخ پایگاه داده به درخواست ها و یا خراب شدن پایگاه داده به وقوع می پیوندد.
اگرچه بیشتر وقت ها این خطا به دلیل اطلاعات اهراز هویت است ولی اگر این مشکل رفع نشد می توانید مقاله زیر را مطالعه بفرمایید.
4- آموزش رفع خطای صفحه سفید (صفحه مرگ) وردپرس
نتیجه این خطا معمولا روبرو شدن با یک صفحه سفید بدون هیچگونه پیامی است. حقیقتا این خطا مقداری گیچ کننده است به این دلیل که شما هیچ سرنخ و نشانه ای نسبت به اینکه در کجا، چه خطایی رخ داده در دست ندارید که بخواهید آن را برطرف کنید.
بیشتر وقت ها به دلیل محدودیت PHP Memory Limit این خطا رخ می دهد. حتی علت مواجه با صفحه مرگ می تواند تنظیمات سرور نیز باشد و حتی ممکن است این مشکل فقط در صفحه ای خاص به نمایش در بیاید و در هیچ صفحه دیگری شما با این خطا روبرو نشوید.
5- آموزش رفع خطای 404 در نوشته های وردپرس
نشانه ی این خطا معمولا مشاهده خطای 404 در نوشته های وردپرس است. زمانی که روی یکی از نوشته هایتان کلیک می کنید با این خطا روبرو می شوید.
حتی کاربر به راحتی می تواند در بقیه بخش های سایت برود و از امکاناتش استفاده کند مثل محیز مدیریتی وردپرس ولی هنگامی که می خواهد پستی را بخواند با این خطا روبرو می شود. نگران نباشید معمولا این خطا به دلیل وجود مشکل در تنظیمات پیوندهای یکتا است. برای حل این مشکل کافی است در تنظیمات وردپرس و در بخش پیوندهای یکتا یکبار روی Save کلیک کنید تا rewrite rules های سایت شما بروز رسانی شود.
6- رفع خطای قرار گرفتن ساید بار زیر محتوا در وردپرس
مسئله رایج دیگری که افراد مبتدی با آن مواجه می شوند، قرار گرفتن سایدبار در زیر محتوا است (به جای آن که که در کنار محتوا قرار بگیرد). این خطا معمولا از تم های وردپرس ناشی می شود.
گاهی اوقات ممکن است کاربران به هنگام اضافه کردن کدهای اسنیپت به سایت، به طور تصادفی فراموش کنند یک تگ div در html را ببندند، و یا یک تگ اضافه برای بستن div به کار ببرند که ممکن است ساختار تم را به هم بریزد.
دلیل رایج دیگر، می تواند استفاده نادرست از width در CSS باشد یا از float به درستی استفاده نشده باشد.
7- رفع خطای رنگ سفید متن و عدم نمایش دکمه ها در ویرایشگر متنی وردپرس
گاهی اوقات ممکن است دکمه ها در ویرایشگر متنی ناپدید شوند یا به صورت یک جای خالی سفید به جای یک دکمه نمایش داده شوند.
این مشکل زمانی رخ می دهد که جاوا اسکریپت به درستی کار نکند. هم چنین ممکن است این مشکل، در اثر عدم وجود یا خراب شدن فایل های TinyMCE رخ بدهد، یا ممکن است با افزونه های دیگر وردپرس که کارشان گسترش و تغییر در TinyMCE است، تداخل داشته باشد.
8- رفع خطای “Memory Exhasted” در وردپرس
شاخصه های این خطا می تواند صفحه سفید مرگ باشد، یا پیام خطایی مانند زیر:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home/username/public_html/site1/wp-includes/plugin.php on line xxx
این خطا زمانی رخ می دهد که اسکریپت های وردپرس یا یک پلاگین، از حافظه ای که به صورت پیشفرض به آنها اختصاص داده شده، بیشتر استفاده می کنند و به اصطلاح باعث خستگی حافظه می شوند.
9- رفع خطای WP-admin در وردپرس
گاهی اوقات ممکن است نتوانید به فضای wp-admin سایتتان وارد شوید. این اتفاق زمانی رخ می دهد که شما پسوورد خود را فراموش کرده باشید و به آن ایمیلی که برای بازیابی رمز خود داده بودید، دسترسی ندارید.
هم چنین یک پلاگین یا کدی که سعی داشته باشد در بخش admin تغییرات ایجاد کند نیز می تواند باعث شود این خطا رخ بدهد. هم چنین به منظور جلوگیری از هک شدن ممکن است شما به قسمت admin دسترسی نداشته باشد.
نشانه های این خطا می تواند این باشد که یک کاربر سعی می کند به داشبورد وردپرس وارد شود اما دوباره توسط ودپرس به صفحه login، ریدایرکت می شوند.
بیشتر اوقات به دلیل در نظر گرفتن مقادیر نادرست برای آدرس سایت و آدرس صفحه اصلی این اتفاق می افتد. هم چنین می تواند از ساختار ضعیف پرمالینک (permlink) و یا ریدایرکت در فایل .htaccess نشات بگیرد.
این محتوا در حال بروز رسانی و تکمیل شدن می باشد.
چقدر این آموزش کاربردی بود؟
به این آموزش امتیاز بدهید!
میانگین امتیاز: 4.5 / 5. تعداد امتیازها: 2
مطالب زیر را حتما بخوانید
HTTPS چیست و چرا باید از آن استفاده کنیم؟
142 بازدید
راهنمای کامل گواهینامه پروتکل امن SSL و TSL
133 بازدید
غیر فعال کردن پلاگین های وردپرس بدون دسترسی به WP-Admin
400 بازدید
افزونه Gzip چیست و چطور بر روی وردپرس نصب می شود؟
238 بازدید
آموزش ساخت فروشگاه اینترنتی با وردپرس | طراحی و ایجاد فروشگاه اینترنتی
556 بازدید
پاسخی بگذارید