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

در حالی که رفع ارور HTTP در وردپرس کار ساده‌ایه، میتونه بخاطر اختلالی که تو کار شما ایجاد میکنه اعصاب خوردکن باشه!

در ادامه بررسی میکنیم که دلیل این خطا چیه و چطوری میتونین خیلی سریع از شرش خلاص بشین!

خطای HTTP در وردپرس چیست؟

خطای HTTP وردپرس وقتی اتفاق میفته که دارین تلاش میکنین یه تصویر یا ویدئویی رو از کتابخونه پرونده چند رسانه‌ای آپلود کنین. برخلاف خطاهای مروگر که میشه براشون یه کد وضعیتی HTTP تعیین کرد، خطاهای وردپرسی معمولاً عیب یابی یکم سخت‌تری دارن (مخصوصاً اگه ندونین چه شکلی وردپرس رو بذارین رو حالت Debug).

خطای HTTP یه خطای مبهمه که نمیتونین متوجه بشین مشکل دقیقاً از کجای کاره. اما خب بهرحال میدونیم که این خطا برای عدم موفقیته و خود وردپرس هم دقیقاً نمیدونه چی شده برای همین یه پیام خطای عمومی نشون میده. پس حتماً برای رفع ارور HTTP در وردپرس راه حل‌های زیادی وجود داره. بریم ببینیم چیکار میشه کرد!

خطای HTTP

نحوه رفع خطای HTTP در وردپرس

طبق تجربه ما، این خطا معمولاً از دوتا چیز سرچشمه میگیره:

  • مورد اول خطای سمت کاربره (نشست‌های ورود شما، کاراکترهای بد در اسم فایل و …)
  • و مورد دوم مربوط به هاست شماست (مشکلات سرور، پلاگین شخص ثالث، منابع هاست اشتراکی و …)

خب حالا ما با توجه به این دوتا دلیل چندتا راه حل برای رفع خطای HTTP در وردپرس براتون آماده کردیم:

۱. صفحه رو رفرش کنین

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

به هر دلیلی ممکنه مرورگر شما موقتاً ارتباط با وردپرس رو از دست بده و پروسه ناقص بمونه. این امر بخاطر ISP اتفاق میفته (یه وقفه موقت با میزبان سایت). پس اگه شما صفحه رو رفرش کنین ارور خود به خود از بین میره.

گاهی اوقات هم به خاطر این که نشست شما در وردپرس تموم شده براتون ارور میاد که باید یه بار رفرش کنین و همین امر میتونه باعث به وجود اومدن خطای HTTP بشه.

انقضای نشست وردپرس

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

خب حالا اگه با رفرش کردن سایت هم نتونسین خطای HTTP رو رفع کنین، اشکال نداره هنوز هشت تا راه حل دیگه برای شما داریم:

۲. فایل مورد نظر رو کوچیک کنین یا سایزش رو تغییر بدین

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

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

تغییر سایز فایل

این که در وردپرس تصاویری با رزولوشن بالا آپلود کنین ایرادی نداره چون این ابزار از تصاویر با کیفیت پشتیبانی میکنه. درسته که دوست دارین تصاویر سایت شما رو هر نمایشگری باکیفیت و خوب نشون داده بشه ولی همون سایز زیر ۱۰۰ کیلوبایت برای شما خوبه مگه این که یه عکاس باشین و وجود اون تصویر با کیفیت روی مقاله خودتون تاثیر زیادی بذاره!

ممکنه سر نوع فایل که JPG یا PNG هست هم مشکل داشته باشین که باید بگم در کل گاهی اوقات بسته به تصویری که میذارین، میتونه تو هرکدوم از این تایپ‌ها کوچیکتر یا بزرگتر باشه.

بسته به پیکربندی میزبان وردپرس خودتون ممکنه بخواین به دنبال افزایش حداکثر آپلود وردپرس باشین.

3. اسم فایل تصاویر رو تغییر بدین

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

هنگامی که ما در حال بارگذاری تصاویری هستیم که قبلاً اونها رو آپلود کردیم، معمولاً یه عدد ۱ یا ۲ آخرشون اضافه میکنیم، حتماً حواستون باشه که موقع تغییر نام فایل از خط تیره بین کلماتتون استفاده کنین وگرنه گوگل اون رو یه کلمه میخونه و میتونه به سئو سایت شما آسیب برسونه مثلاً بنویسین: Image-file-2

پس یادتون باشه گاهی اوقات یه چیز ساده مثل این میتونه باعث رفع ارور HTTP در وردپرس بشه.

۴. موقتاً تم ها و پلاگین های خودتون رو دی‌اکتیو کنین

اگه خطای HTTP دارین، بهتره افزونه ها و تم خودتون رو دی اکتیو کنین، چون شاید این کار بتونه به رفع خطای HTTP در وردپرس کمک کنه. بعد از غیرفعال کردنشون اگه خطا رفع شد، دنبال افزونه مقصر بگردین که ممکنه شامل پلاگین های بهینه سازی تصاویر (معمولاً افزونه هایی هستن که مستقیماً به کتابخونه وصل میشن) و پلاگین های امنیتی مثل WordFence باشه، شاید هم اصلاً مشکل از تم است و باید اون رو غیرفعال کنین.

اگه نمیخواین سایت زنده خودتون رو تحت تاثیر قرار بدین، فقط کافیه اون رو در مرحله استقرار کلون کنین و اگه خطای HTTP تو اون موقعیت هم اتفاق افتاد میتونین به سرعت همه افزونه های خودتون رو غیرفعال کنین تا کم کم مشکل رو پیدا کنین.

یادتون باشه با غیرفعال کردن یه افزونه، هیچ داده‌ای رو از دست نخواهید داد. اگه هنوز امکان دسترسی به پنل ادمین خودتون رو دارین، یه راه سریع برای انجام این کار، وارد قسمت افزونه ها بشین و غیرفعال کردن افزونه رو از منوی Bulk Action انتخاب کنین. اینجوری همه افزونه های شما غیرفعال میشن.

رفع خطای HTTP در وردپرس

اگه این کار باعث رفع خطای HTTP در WordPress بشه، یکی یکی افزونه ها رو فعال کنین و دوباره سعی کنین فایل موردنظرتون رو در کتابخونه پرونده چند رسانه‌ای بارگذاری کنین و وقتی خطای HTTP برگشت یعنی شما افزونه مجرم رو دستگیر کردین!

بعدش میتونین اون رو جایگزین کنین یا با پشتیبانی تماس بگیرین تا بهتون کمک کنن.

اگه نمیتونین به پنل ادمین دسترسی داشته باشین، میتونین از کلاینت FTP استفاده کنین و وارد پوشه پلاگین های خودتون بشین، اون رو به اسم مثلاً Plugins-old تغییر نام بدین و سپس سایت رو دوباره بررسی کنین. اگه مشکلتون رفع شد باید پوشه رو به اسم قبلی خودش برگردونین و یک به یک افزونه ها رو امتحان کنین تا متوجه بشین ایراد از کدومه.

رفع خطای HTTP در وردپرس

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

۵. حجم مموری PHP رو افزایش بدین

یکی دیگه از دلایل خطای HTTP وردپرس اینه که سرور شما برای تکمیل موفقیت آمیز فرآیند بارگذاری بک گراند فاقد حافظه مورد نیازه. این یه مشکل بسیار رایج در میزبانی مشترک وردپرس است. برای رفع این مشکل باید حجم مموری PHP رو افزایش بدین. توصیه ما مقدار ۲۵۶ مگابایت است.

با wp-config.php حد حافظه خودتون رو افزایش بدین.

شما میتونین با اضافه کردن کد زیر به فایل wp-content.php حافظه خودتون رو افزایش بدین و به همین ترتیب باعث رفع خطای HTTP در وردپرس بشین.


            define('WP_MEMORY_LIMIT','256M')
                            

افزایش حافظه PHP در cPanel

اگه میزبان شما از یه cPanel استفاده میکنه، میتونین حد حافظه PHP رو در دو جا افزایش بدین.

اولین مورد در بخش نرم افزار قرار داره. روی “Select PHP Version” کلیک کنین، سپس “Switch to PHP Options” رو انتخاب کنین. سپس روی گزینه Memory-limit کلیک کنین تا بتونین مقدارش رو تغییر بدین.

دومین جا زیر بخش نرم افزاره. روی ابزار “MultiPHP INI Editor” کلیک کنین. این بهتون اجازه میده تا فایل php.ini رو تنظیم کنین. به پایین اسکرول کنین تا جایی که میرسین به memory-limit و یه مقدار بیشتری به اون اضافه میکنین.

افزایش حد مموری PHP

افزایش حافظه PHP با php.ini

اگه از cPanel استفاده نمیکنین، میتونین به صورت دستی فایل php.ini رو مستقیماً ویرایش کنین. برای این کار از طریق FTP یا SSH به سایت خودتون وارد بشین، به فهرست اصلی برین و یه فایل php.ini رو باز یا ایجاد کنین.

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

بعضی از هاست های اشتراکی ممکنه نیاز داشته باشن که یه دستور العمل suPHP رو در پرونده htaccess. قرار بدین تا تنظیمات پرونده php.ini به خوبی کار کنه. برای این کار فقط کافیه فایل htaccess. خودتون رو که در ریشه سایت شما قرار داره، ویرایش کنین و کد زیر رو در بالای پرونده اضافه کنین:


            <IFModule mod-suphp.c>
suPHP-ConfigPath /home/yourusername/public_html
</IFModule>
                            

افزایش حافظه PHP با htaccess.

پرونده htaccess. یه فایل پنهان ویژه است که شامل تنظیمات مختلفیه و میتونین برای تغییر رفتار سرور، درست از پایین به دایرکتوری ازش استفاده کینن. اگه به php.ini دسترسی ندارین، پیشنهاد میکنیم این مرحله رو امتحان کنین تا در نهایت منجر به رفع خطای HTTP در وردپرس بشه. ابتدا از طریق FTP یا SSH وارد سایت خودتون بشین، یه نگاه به فهرست اصلی بندازین و ببینین آیا پرونده htaccess. در اونجا قرار داره یا نه.

در صورت وجود این فایل میتونین اون رو ویرایش بدین و مقدار “php_value memory_limit” رو افزایش بدین.

۷. مجوزهای آپلود فایل رو بررسی کنین

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

اگه سایتی از وردپرس هک شده یا به بدافزار آلوده شده باشه میتونه خیلی از مشکلات رو با مجوزها ایجاد کنه!

پوشه اصلی که باید بهش توجه کنین wp-content/ uploads folder شماست. اینجا همون جاییه که فایل‌های شما وقتی چیزی رو آپلود میکنین از طریق کتابخونه رسانه ذخیره میشن.

طبق وردپرس Codex همه دایرکتوری‌ها باید ۷۵۵ (drwxr-xr-x) یا ۷۵۰ باشن.

هشدار
اگه مجوزهای مربوط به این پوشه رو به صورت دستی به روز رسانی میکنین، گزینه Recurse into subdirectories و Apply to all directories only رو حتماً بررسی کنین.

رفع خطای HTTP در وردپرس

۸. به آخرین نسخه PHP برین

وردپرس رسماً PHP 7.3 یا نسخه‌های بالاتر رو توصیه میکنه. باید بدونین که این حداقل الزامیه که برنامه نویسان CMS توصیه کردن و بهتره ازش استفاده کنین.

توصیه ما به شما اینه که از نسخه‌های جدید و پشتیبانی شده PHP استفاده کنین چون عملکرد و امنیت بهتری دارن و میتونن باعث رفع مشکل HTTP در وردپرس بشن.

ما شاهد این بودیم که نسخه‌های قدیمی باعث به وجود اومدن ارورهایی از جمله ارور HTTP شدن.

اگه میزبان شما از cPanel استفاده میکنه، ممکنه گزینه‌ای در اختیارتون باشه که بتونین PHP رو آپدیت کنین، فقط کافیه وارد این پنل بشین و در بخش Software گزینه Select PHP Version رو انتخاب کنین.

خطای HTTP

سپس میتونین نسخه‌های PHP رو که میزبان شما از اونها پشتیبانی میکنه، در دسترس شما قرار بده و با تغییر اونها به ورژن آخرش باعث رفع مشکل HTTP در وردپرس خودتون بشین.

آخرین ورژن PHP

۹. از وب هاستینگ خودتون سوال کنین

اگه مراحل بالا رو قبلاً امتحان کردین و هیچ کدوم منجر به رفع ارور HTTP در WordPress نشد، توصیه میکنیم قبلاً از هر کار دیگه‌ای با ارائه دهنده وب هاستینگ خودتون یه تماس بگیرین. چون خیلی از مراحل اضافی در عیب یابی پیچیده هستن و بهتره از میزبان خودتون در این باره کمک بگیرین.