ارور 500 چیست؟ آموزش برطرف کردن خطای 500 در سایت

ارور 500 یک کد خطای HTTP است به این معنی که مشکلی در سرور وب‌سایت رخ داده، اما سرور نمی‌تواند بگوید مشکل دقیقاً چیست. کد وضعیت 500 (ارور داخلی سرور) نشان می‌دهد که سرور با شرایط غیرمنتظره‌ای مواجه شده که مانع از انجام درخواست شما می‌شود.
هنگامی که از یک وب‌سایت بازدید می‌کنید، مرورگر شما درخواستی را به سروری که سایت در آن میزبانی می‌شود ارسال می‌کند. سرور این درخواست را دریافت کرده، آن را پردازش کرده و منابع درخواستی (PHP، HTML، CSS و غیره) را به همراه یک هدر HTTP باز می‌فرستد. این هدر کد وضعیت HTTP را نیز شامل می‌شود.
کد وضعیت روشی برای اطلاع‌رسانی شما در مورد وضعیت درخواست است. این کد وضعیت معمولاً به دو صورت ارسال می‌شود. وضعیت 200 که نشان‌دهنده درست بودن همه مراحل درخواست و پاسخ سرور است و کد وضعیت 500 یا ارور 500 که نشان‌دهنده بروز مشکل در پاسخ به درخواست است.
دلایل نمایش ارور 500 چیست؟

همان‌طور که در بالا ذکر کردیم، پیام‌های خطای سرور داخلی نشان می‌دهد که عملیات به درستی صورت نگرفته و جایی اشتباه شده است. در بیشتر مواقع، «اشتباه» به معنای مشکل در برنامه‌نویسی صفحه یا سایت است، اما مطمئناً این احتمال هم وجود دارد که مشکل از طرف شما باشد.
ارور 500 سرور داخلی همان‌طور که از نامش پیداست یک مشکل کلی در سرور وب‌سایت است. به‌احتمال‌زیاد، این ارور بدان معنی است که یک مشکل یا نقص موقت در برنامه‌نویسی وب‌سایت وجود دارد. برخی از دلایل احتمالی خطای سرور داخلی 500 عبارت‌اند از:
· فایل htaccess. خراب شده است
· ارور مربوط به خطای مجوزها است
· پلاگین ها یا تم‌های شخص ثالث معیوب هستند
· محدودیت حافظه PHP نقض شده است
یکی از خطاهای مرسوم در سایت‌های وردپرس، ارور 500 است. این ارور در وردپرس می‌تواند به دلایل زیادی رخ دهد. ازجمله متداول‌ترین دلایل بروز Error 500 در یک سایت وردپرس عبارت است از:
· حافظه کش مرورگر پر شده است
· اعتبارنامه ورود به پایگاه داده نادرست است
· پایگاه داده خراب است
· فایل‌های خراب در نصب وردپرس وجود دارد
· مشکلات از سرور پایگاه داده است
· فایل‌های اصلی وردپرس خراب شده است
· فایل htaccess خراب شده و حافظه PHP پر شده است
· مشکل مربوط به پلاگین‌ها و تم‌های شخص ثالث است
· زمان‌بندی PHP یا خطاهای مهم PHP با افزونه‌های شخص ثالث باعث بروز ارور شده است
· مجوزهای فایل و فولدر اشتباه است
· خطا در اسکریپت CGI و Perl به وجود آمده است
مدل‌های مختلف نمایش ارور 500

با توجه به تنوع وب سرورها، سیستم عامل‌ها و مرورگرها، ارور 500 سرور داخلی ممکن است به فرم‌های مختلف نشان داده شود اما معنی همه آن‌ها یکی است. در ادامه چند مورد از مدل‌های نمایش ارور 500 را ذکر خواهیم کرد:
· “500 Internal Server Error”
· “HTTP 500”
· “Internal Server Error”
· “HTTP 500 – Internal Server Error”
· “500 Error”
· “HTTP Error 500”
· “500 – Internal Server Error”
· “500 Internal Server Error. Sorry something went wrong.”
· “500. That’s an error. There was an error. Please try again later. That’s all we know.”
· “The website cannot display the page – HTTP 500.”
· “Is currently unable to handle this request. HTTP ERROR 500.”
همچنین ممکن است ارور 500 را به همراه پیامی مشابه زیر مشاهده کنید:
سرور با یک خطای داخلی یا پیکربندی نادرست مواجه شد و نتوانست درخواست شما را تکمیل کند. لطفاً با مدیریت سرور، webmaster@domain.com تماس بگیرید و آن‌ها را از زمان وقوع خطا و دلایل احتمالی آن مطلع سازید. اطلاعات بیشتر در مورد این خطا ممکن است در گزارش ارور سرور موجود باشد.
در برخی مواقع، ممکن است ارور 500 به‌صورت یک صفحه خالی نمایش داده شود. درصورتی‌که از مرورگرهای فایرفاکس و یا سافاری استفاده می‌کنید، این مدل نمایش رایج‌تر است.
تأثیر ارور 500 روی سئو

برخلاف ارور 503 که برای حالت تعمیر وردپرس استفاده می‌شود و به گوگل می‌گوید در حال حاضر وب‌سایت وردپرس در دست تعمیر است و بعداً برای ایندکسینگ صفحات اقدام کند، ارور 500 اگر فوراً برطرف نشود می‌تواند بر سئوی سایت تأثیر منفی داشته باشد.
اگر سایت شما فقط برای 10 دقیقه از کار بیفتد معمولاً خزنده‌های گوگل فرصت کافی برای بازدید همه صفحات سایت شما را نخواهند داشت و از نظر سئو تأثیر منفی روی رتبه‌بندی سایت شما نخواهد داشت.
اما اگر سایت برای مدت طولانی، مثلاً بیش از 6 ساعت، از کار افتاده باشد، ممکن است گوگل ارور 500 را به‌عنوان یک مشکل در سطح سایت ببیند که باید به آن رسیدگی شود. این نیز می‌تواند بر رتبه‌بندی سئوی وب‌سایت شما تأثیر منفی بگذارد.
چگونه می‌توان ارور 500 را پاک کرد؟

در ادامه روش‌های پاک کردن ارور 500 را بررسی می‌کنیم:
حذف ارور 500 هنگام باز کردن یک صفحه وب

همان‌طور که در بالا به آن اشاره کردیم، ارور 500 سرور داخلی یک خطای سمت سرور است، به این معنی که مشکل احتمالاً مربوط به کامپیوتر یا اتصال اینترنت شما نیست، بلکه مشکل از سرور وب‌سایت است؛ اما گاهی هم ممکن است وقت باز کردن یک صفحه وب با ارور 500 مواجه شوید. در این صورت می‌توانید برای رفع خطا اقدامات زیر را انجام دهید.
1. صفحه وب را دوباره باز کنید. می‌توانید این کار را با فشردن دکمه Refresh/Reload، فشردن F5 یا Ctrl+R یا تست مجدد آدرس URL از نوار آدرس انجام دهید. حتی اگر ارور 500 سرور داخلی مشکلی در سرور وب باشد، شاید مشکل موقتی بوده و با باز کردن مجدد صفحه، برطرف شده باشد.
2. کش مرورگر خود را پاک کنید. اگر مشکلی در نسخه کش صفحه‌ وب وجود داشته باشد، ممکن است باعث بروز خطای HTTP به‌صورت ارور 500 شود؛ بنابراین با پاک کردن کش مرورگر، ممکن است خطا رفع گردد.
3. کوکی‌های مرورگر خود را حذف کنید. می‌توانید با حذف کوکی‌های مرتبط با سایت مورد نظر که در آن ارور 500 را دریافت کرده‌اید، مشکل را حل کنید. پس از حذف کوکی‌ها، مجدداً مرورگر خود را باز کرده و آدرس URL سایت را دوباره امتحان کنید. ممکن است ارور 500 رفع شده باشد.
4. بروز خطای 504 Gateway Timeout را بررسی کنید. این حالت خیلی معمول نیست، اما برخی از سرورها ارور 500 سرور داخلی را نمایش می‌دهند، درحالی‌که در واقع خطا مربوط به 504 Gateway Timeout است؛ یعنی بروز خطای 504 در برخی از مواقع به‌صورت ارور 500 نمایش داده می‌شود.
5. آدرس URL سایت مورد نظر را در وب‌سایت "Down for Everyone or Just Me" بررسی کنید. برای این منظور به آدرس downforeveryoneorjustme.com رفته و آدرس اینترنتی وب‌سایتی را که ارور 500 سرور داخلی را در آن مشاهده کرده‌اید، در این سایت وارد کنید. این سایت پس از بررسی آدرس به شما می‌گوید که وب‌سایت تنها برای شما ارور 500 را نمایش می‌دهد یا اینکه مشکل از سمت سرور آن است.
6. بعداً امتحان کنید. از آنجایی که ارور 500 سرور داخلی بدون شک مشکلی خارج از کنترل شما است، احتمالاً بعداً توسط شخص دیگری برطرف می‌شود. اگر وب‌سایت مورد نظر یک وب‌سایت فروش است، چون از دسترس خارج شدن سایت مشکل مهمی برای کسب‌وکار به شما می‌آید، احتمالاً مدیران وب‌سایت خیلی زود ارور 500 را برطرف خواهند کرد.
برطرف کردن ارور 500 در وب‌سایت شخصی خودتان

درصورتی‌که در وب‌سایت شما ارور 500 ظاهر می‌شود، برای رفع مشکل می‌توانید اقدامات زیر را انجام دهید:
1. افزونه‌ها یا تم‌های جدید را غیرفعال کنید.
ممکن است تم‌ها، افزونه‌ها یا اسکریپت‌های شخص ثالث جدید با پیکربندی سرور فعلی شما در تضاد باشند. برای تعیین این موضوع، افزونه‌ها یا تم‌هایی را که جدیداً نصب کرده‌اید یکی‌یکی غیرفعال یا حذف کنید و هر بار با حذف یک افزونه یا تم، صفحه وب‌سایت خود را باز کرده و بررسی کنید که ارور 500 وجود دارد یا خیر.
2. برای شناسایی مشکل از افزونه‌هایی مانند WP Debugging استفاده کنید.
اگر سایت شما از وردپرس پشتیبانی می‌کند و با فرآیندهای اشکال‌زدایی وردپرس آشنا هستید، نصب افزونه‌های اشکال‌زدایی نظیر WP Debugging می‌تواند در یافتن علت نمایش ارور 500 به شما کمک کند.
3. بررسی کنید که تنظیمات PHP وب‌سایت به درستی پیکربندی شده باشد.
اگر مشکل مربوط به timeout PHP است، برای حل مشکل، از زمان‌بندی یا مدیریت خطا در اسکریپت PHP خود استفاده کنید. علاوه بر این، مجوزهای اشتباه برای فایل یا فولدری که دارای اسکریپت PHP یا CGI است، اجازه اجرای اسکریپت را نمی‌دهد. مجوزهای خود را بررسی کنید و مطمئن شوید که به درستی در سرور تنظیم شده‌اند.
4. کد فایل htaccess. سایت خود را بررسی کنید.
کد نویسی نادرست یا ساختار نامناسب فایل .htaccess می‌تواند دلیلی برای مشاهده ارور 500 باشد. فایل .htaccess به شما کمک می‌کند تا مدت زمان ذخیره منابع را در کش مرورگر، مدیریت کنید. اگر ارور 500 سرور داخلی ناشی از کد نویسی نادرست این فایل باشد، باید آن را اصلاح نمایید.
برای پیدا کردن فایل .htaccess، به‌عنوان ادمین وارد وب‌سایت شده و از طریق cPanel یا FTP/SFTP به فایل‌های وب‌سایت دسترسی پیدا کنید. فایل .htaccess احتمالاً در دایرکتوری public_html قرار دارد. این احتمال وجود دارد که سرور شما به‌طور پیش‌فرض این فایل را پنهان کرده باشد، بنابراین برای دیدن آن می‌بایست نمایش فایل‌های مخفی را فعال کنید.
همچنین خطاهای کد نویسی در .htaccess و اسکریپت‌های سفارشی نیز می‌تواند باعث ارور 500 سرور داخلی شود.

<div class="related-post">
<span class="d-block pb-2">خواندن این مقاله به شما پیشنهاد می‌شود.</span>
<a class="d-block " href=" https://azaronline.com/blog/htaccess...1%D8%AF-%D8%9F
" target="_blank"> htaccess چیست و چه کاربردی دارد؟</a>
</div>

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

اگر هنگام ورود به صفحه وب پیام «Error 500 – Internal Server Error» را دریافت می‌کنید، یکی از روش‌های حل این مشکل، پاک کردن کوکی‌های مرورگر است.
دستورالعمل سریع برای پاک کردن کوکی‌ها در مرورگرهای مختلف در این بخش ارائه می‌شود. لطفاً پیش از حذف کوکی‌ها تمام پنجره‌های مرورگر خود را ببندید.
گوگل کروم

1. در گوشه سمت راست بالای پنجره مرورگر (زیر x)، روی 3 نقطه عمودی کلیک کنید.
2. روی "Settings" کلیک کنید.
3. به پایین بروید و روی "Advanced" کلیک کنید.
4. در قسمت «Privacy and Security»، روی «Clear browsing data» کلیک نمایید.
5. یک باکس دیالوگ ظاهر می‌شود که در آن "Basic tab" برجسته شده و محدوده زمانی به شکل یک منوی کشویی ظاهر می‌شود. گزینه "All time" را در این قسمت انتخاب کنید.
6. روی «Cookies and other site data» کلیک کنید.
7. اکنون می‌توانید روی دکمه آبی "CLEAR DATA" در پایین باکس کلیک نمایید.
موزیلا فایرفاکس

1. در گوشه سمت راست بالای پنجره مرورگر خود (زیر x)، روی نوار سه‌گانه یا آیکون hamburger/pancake/Oreo icon برای settings/options کلیک کنید.
2. روی Options کلیک کنید.
3. روی "Privacy and Security" در سمت چپ کلیک کنید.
4. در زیر عنوان "Cookies and Site Data" روی دکمه "Clear Data" در سمت راست کلیک کنید.
5. باکس دیالوگ "Clear Data" ظاهر می‌شود. «Cookies and Site Data» را علامت زده و روی دکمه «Clear» در پایین کلیک کنید.
6. در باکس دیالوگ بعدی که به شما در مورد پاک کردن تمام کوکی‌ها و داده‌های سایت هشدار می‌دهد، روی دکمه «Clear Now» در پایین کلیک کنید.
7. پنجره "Options" خود را ببندید.
اپل سافاری

توجه داشته باشید که اگر تنظیمات کوکی را در Safari تغییر دهید یا کوکی‌ها را در مرورگر خود حذف کنید، ممکن است تنظیمات کوکی در سایر برنامه‌های شما ازجمله داشبورد هم حذف یا تغییر کند. این راهنما برای OSX Lion است.
1. سافاری را باز کنید.
2. روی Safari و سپس Preferences کلیک کنید. روی "Privacy" کلیک نمایید.
3. روی "Details" کلیک کنید.
4. لیستی از وب‌سایت‌هایی را مشاهده خواهید کرد که کوکی‌ها را ذخیره کرده‌اند. می‌توانید با انتخاب هر سایت و کلیک بر روی دکمه «Remove» سایت‌های خاصی را به‌صورت انتخابی حذف کنید. اگر می‌خواهید همه کوکی‌ها را پاک کنید، روی «Remove All» کلیک نمایید.
5. هنگامی که حذف سایت‌ها به پایان رسید، روی "Done" کلیک کنید.
روش پاک کردن ارور 500 در سایت وردپرس

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

اگر از سرور Kinsta استفاده می‌کنید، می‌توانید خطاها را در log viewer در داشبورد MyKinsta مشاهده کنید. این قابلیت به شما کمک می‌کند مشکلاتی را که باعث بروز ارور 500 شده‌اند، به‌خصوص اگر ناشی از افزونه‌های سایت باشد، شناسایی کنید.
اگر هاست شما ابزار لاگ ندارد، می‌توانید حالت اشکال‌زدایی وردپرس را با افزودن کد زیر به فایل wp-config.php فعال کنید:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

لاگ‌ها عموماً در فولدر /wp-content قرار دارند. همچنین در سرورهای Apache و Nginx نیز لاگ‌ها را می‌توان در مسیرهای زیر یافت:
· Apache: /var/log/apache2/error.log
· Nginx: /var/log/nginx/error.log
فایل‌های Core وردپرس را مجدداً نصب کنید

گاهی اوقات فایل‌های Core وردپرس به‌خصوص در سایت‌های قدیمی‌تر خراب شده و ارور 500 در این حالت ظاهر می‌شود. برای نصب مجدد این فایل‌ها کافی است فایل‌های Core وردپرس را مجدداً بارگذاری کنید بدون اینکه بر افزونه‌ها یا تم‌های وب‌سایت تأثیر بگذارد.
جمع‌بندی

درنهایت اگر بخواهیم به‌صورت خلاصه بررسی کنیم که ارور 500 چیست؟ می‌توان گفت خطای 500 یک خطای معمول است که عموماً به بروز مشکل در سرور وب‌سایت اشاره دارد. این خطا ممکن است هنگام مشاهده یک صفحه وب ظاهر شود و یا اینکه برای وب‌سایت شخصی شما رخ دهد. درصورتی‌که از یک وب‌سایت دیگر دیدن می‌کنید و با این خطا مواجه می‌شوید، بهترین کار رفرش کردن صفحه است.
همچنین پاک کردن حافظه کش مرورگر و کوکی‌ها هم می‌تواند در برخی از موارد مشکل را حل کند. درصورتی‌که مشکل در این حالت حل نشد، صفحه را ببندید و بعداً امتحان کنید. احتمالاً مدیران وب‌سایت مشکل را در آینده نزدیک حل خواهند کرد.
درصورتی‌که مشکل ارور 500 برای وب‌سایت خود شما رخ داده است، راه‌کارهای مختلفی ازجمله بررسی پیکربندی‌های PHP و یا اصلاح فایل .htaccess می‌تواند مشکل را رفع کند. درنهایت اگر مشکل برطرف نشد، با مدیریت سرور خود تماس بگیرید.