آموزش رفع خطای 429 یا too many requests وردپرس (5 راه تضمینی)
دیر یا زود و با گذر زمان هر وب سایت دچار مشکلاتی میشود، برخی از این مشکلات راه حل های دشواری دارند و برخی دیگر با چند کلیک برطرف می شوند. یکی از مشکلات متداول در وب سایتهای وردپرس خطای “Too Many Requests” است که با کد 429 شناخته میشود. خوشبختانه خطای 429 به چند دلیل شایع اتفاق میافتد و شما باید چند راه حل ساده را برای رفع آن امتحان کنید. در ادامه این مطلب به آموزش نحوه رفع خطای 429 یا Too Many Requests وردپرس می پردازیم.
چطور خطای 429 وردپرس یا Too Many Requests را برطرف کنیم؟
پیام خطای 429 وردپرس به دلیل درخواستهای زیاد کاربران در زمان مشخص نمایش داده میشود. عامل آن میتواند یک افزونه، حمله DDos یا موارد مشابه باشد. باید بدانیم که این خطا از طرف سرور نمایش داده می شود و در واقع میگوید: لطفا ارسال درخواستهای بیشتر را متوقف کنید.
برای رفع خطای 429 در وردپرس 5 روش وجود دارد:
- آدرس URL پیش فرض صفحه ورود (Login) وردپرس را تغییر دهید.
- لینکهای داخلی HTTPS وب سایت را بررسی کنید.
- تمام افزونههای نصب شده در وب سایت را غیر فعال کنید.
- یکی از قالبهای پیش فرض وردپرس را فعال کنید.
- با ارائه دهنده هاست وب سایت خود تماس بگیرید و خطا را اطلاع دهید.
هر کدام از این روش ها را در ادامه آموزش خواهیم داد. در ادامه با ما همراه باشید.
خطای HTTP 429 چیست؟
خطای HTTP 429 زمانی اتفاق میافتد که کاربر در زمان کوتاه تعداد زیادی درخواست را به سرور ارسال کند. سرور در پاسخ به تعداد بیش از حد درخواستها خطای HTTP 429 را نمایش می دهد.
دلیل خطای HTTP 429 چیست؟
در حالت عادی کاربر با کلیک روی یک لینک تلاش میکند تا وارد یک صفحه مشخص از وب سایت وردپرس شود. اگر تعداد دفعات تلاش کاربر در بازه زمانی مشخصی از مقدار تعیین شده بیشتر باشد، سرور متوجه خواهد شد. در نتیجه این اتفاق، سرور دسترسی کاربران را محدود میکند.
محدودیت دسترسی کاربران به دلیل خطر حملات DDos است؛ گاهی اوقات سرور در تشخیص دوست و دشمن دچار خطا میشود، این خطا میتواند به دلیل شناسایی کاربران با کوکیها یا محاسبه اشتباه تعداد درخواست ها باشد. در نتیجه حالتهای مختلفی برای این خطا وجود دارد.
حالات مختلف نمایش خطای Too Many Requests
- خطای “429 Too Many Requests”
- خطای “429 Error”
- خطای “HTTP 429”
- خطای “Error 429 (Too Many Requests)”
در برخی حالت ها خطا 429 یک سری سرنخ و اطلاعات نیز به شما ارائه می کند. به عنوان مثال محتوای یک خطای 429 را در ادامه می بینید:
HTTP/1.1 429 Too Many Requests
Content-type: text/html
Retry-After: 3600
محتوای پیام خطاها سرنخهای خوبی را برای حل مشکل در اختیار ما میگذارد اما در هر حال یک کاربر یا یک کد وجود دارد که سرور شما را تحت فشار گذاشته است. گاهی اوقات مشکل خود به خود برطرف خواهد شد و در مواقع دیگر باید برای حل مشکل دست به کار شوید، مانند زمانی که دلیل مشکل یک پلاگین یا حمله DDos است.
این نکته را در نظر داشته باشید که ممکن است خطای 429 صفحه ورود (Login) وب سایت وردپرس را تحت تاثیر قرار داده و دسترسی شما به داشبورد وردپرس را غیر ممکن کند که در نتیجه روند حل مشکل کمی دشوارتر خواهد بود. ما در ادامه 5 راه حل رفع خطای Too Many Requests را به شما آموزش خواهیم داد.
راه حل های رفع خطای Too Many Requests وردپرس
راه حل 1 : آدرس URL صفحه ورود وردپرس را تغییر دهید.
زمانی که هکرها به زور تلاش می کنند تا وارد داشبورد وردپرس شما شوند، خطای 429 نمایش داده میشود. یکی از راههای رفع خطای 429 وردپرس و شکست مهاجمان تغییر آدرس URL صفحه ورود است. اکثر وب سایتهای وردپرس از آدرس متداول ورود (wp-login) استفاده میکنند و این کار یک خطای امنیتی در وردپرس به حساب میآید. با تغییر آدرس URL صفحه ورود مهاجمان نمی توانند آدرس صفحه ورود را پیدا کنند و کار آنها سختتر خواهد شد. سادهترین راه برای تغییر آدرس URL صفحه ورود استفاده از یک افزونه رایگان با نام “WPS Hide Login” است.
افزونه WPS Hide Login را مثل هر افزونه دیگر نصب و فعال کنید. سپس بخش تنظیمات وب سایت را باز کرده و زبانه WPS Hide Login را انتخاب کنید.
در این بخش میتوانیم آدرس URL صفحه ورود را به هر آنچه که میخواهیم تغییر دهیم؛ البته که آدرس انتخاب شده باید به زبان انگلیسی باشد. پیشنهاد میکنیم از گزینههای قابل حدس استفاده نکنید.
یکی از ویژگیهای خوب این افزونه امکان هدایت کاربران است. شما میتوانید کاربرانی که تلاش میکنند از صفحه ورود قدیمی وب سایت وردپرس استفاده کنند را به صفحه دیگری هدایت کنید. برای مثال اگر شخصی از آدرس قدیمی wp-admin استفاده کند، خطای 404 به او نمایش داده شود. پس از انجام تمام تغییرات با کلیک روی گزینه “Save” تنظیمات را ذخیره کنید.
راه حل 2 : افزونه “Really Simple SSL” را غیر فعال کرده و لینکهای داخلی را جایگزین کنید.
بخشی از آموزش نحوه رفع خطای ۴۲۹ یا too many requests وردپرس به پروتکل SSL گره خورده است. امروزه تقریبا تمام وب سایتها از گواهی SSL برای امنیت هرچه بیشتر وب سایت خود استفاده میکنند. با استفاده از گواهی SSL وب سایت شما به طور کلی از طریق HTTPS بارگیری خواهد شد.
استفاده از HTTPS به جای HTTP در کنار افزایش امنیت سایت، سئو آن را نیز بهبود میبخشد. حالا برای استفاده از HTTPS میتوانیم از راهکار دستی مانند “ریدایرکت به روش .htaccess” استفاده کرده یا از یک افزونه کمک بگیریم. یکی از افزونههای محبوب برای فعال سازی پروتکل SSL افزونه Really Simple SSL است.
این افزونه تمام بخشهای وب سایت شما را بر اساس پروتکل HTTPS بارگذاری میکند اما گاهی اوقات با مشکل رو به رو میشود. یکی از مشکلات متداول افزونه Really Simple SSL ایجاد خطای 429 است. این افزونه به خودی خود مشکلی ندارد اما بهترین راه برای استفاده از پروتکل HTTPS نیست.
البته از طرفی روند پیاده سازی دستی پروتکل HTTPS ساده نیست، دنیایی از لینکهای داخلی در وب سایت شما وجود دارد که باید اصلاح شود.
غیرفعال سازی افزونه
در اولین قدم باید افزونه را غیر فعال کنیم. برای این کار به بخش افزونه ها در داخل پیشخوان وردپرس بروید و افزونه Really Simple SSL را غیرفعال کنید.
اگر دسترسی شما به داشبورد وب سایت مسدود شده است، باید به کنترل پنل هاست خود مراجعه کنید و بعد به کمک File manager وارد مسیر زیر شوید:
public_html>wp-content>plugins
حالا پوشه افزونه Really Simple SSL را که به همین نام است پیدا کرده و حذف کنید. حالا افزونه غیرفعال شده است. پس از حذف و غیرفعالسازی افزونه Really Simple SSL خطای 429 برطرف خواهد شد.
حالا میتوانیم داشبورد وردپرس را باز کرده و پس از رفع خطای too many requests در وردپرس یک افزونه جدید برای حل مشکل نصب کنیم. افزونه پیشنهادی ما “Search and Replace” نام دارد.
پس از نصب و فعال سازی افزونه، زبانه ابزارها را باز کرده و روی “Search and Replace” کلیک کنید. از صفحه باز شده جدول “wp-postmeta” را انتخاب کنید. حالا دو فیلد با نامهای “Search for” و “Replace with” به شما نمایش داده میشود؛ رو به روی کادر اول آدرس وب سایت خود را به شکل “http://yourwebsiteurl.com” و در کادر دوم آدرس وب سایت خود را به همراه HTTPS و به شکل “https://yourwebsiteurl.com” وارد کنید.
نکته: راه حل بالا زمانی به کار میآید که ابتدای آدرس وب سایت شما “www” وجود نداشته باشد.
اگر ابتدای آدرس وب سایت شما “www” وجود دارد، به روش زیر عمل کنید
- در کادر “Search for” آدرس وب سایت خود را به شکل http://www.yourwebsiteurl.com بنویسید.
- در کادر “Replace with” آدرس وب سایت خود را به شکل https://www.yourwebsiteurl.com بنویسید.
پس از انجام موارد گفته شده روی گزینه “Dry run” کلیک کنید. گزینه Dry run قبل از اجرای کار به شما میگوید که چند آدرس URL در وب سایت شما جایگزین خواهد شد. پس از اجرا و بررسی نتیجه در حالت Dry run افزونه را به شکل واقعی اجرا کنید. در نتیجه تمام لینکهای وب سایت شما جایگزین خواهد شد.
نکته: پس از غیر فعال کردن افزونه Really Simple SSL باید به شکل دستی و با کمک فایل “.htaccess” تمام آدرسهای HTTP را به HTTPS تغییر مسیر دهید.
راه حل 3 : تمام افزونههای نصب شده را غیرفعال کنید.
در مرحله قبل ما افزونه Really Simple SSL را زیر ذره بین قرار دادیم اما هرکدام از افزونههای فعال در وب سایت شما میتواند باعث خطای 429 شود. اگر دو راه اول باعث رفع خطای 429 وردپرس نشد، باید تمام افزونههای فعال را غیرفعال کنید.
ما در این مرحله از آموزش نحوه رفع خطای ۴۲۹ وردپرس فرض میکنیم که شما به داشبورد وردپرس دسترسی ندارید و باید از FTP کمک بگیریم. برای استفاده از FTP کلاینت “Filezilla” را پیشنهاد میکنیم. حالا باید به دایرکتوری public_html/wp-content بروید، در این بخش باید چند پوشه وجود داشته باشد. (این کار را می توانید از طریق Cpanel یا Direct admin نیز انجام دهید.)
درست مانند تصویر بالا پوشه “plugins” را پیدا کرده و روی آن راست کلیک کنید؛ سپس نام فولدر را به “plugins.deactivated” یا موارد دیگر تغییر دهید تا وردپرس نتواند افزونههای نصب شده را اجرا کند. به این شکل تمام افزونهها غیر فعال خواهند شد.
نکته: برای دسترسی به وب سایت خود باید یک پوشه جدید به نام “Plugins” ایجاد کرده و خالی رها کنید، با این کار وب سایت شما به شکل عادی اما بدون افزونهها فعالیت خود را ادامه میدهد.
وب سایت خود را باز کنید، آیا خطای 429 برطرف شده است؟ اگر برطرف شده پس یکی از افزونههای نصب شده خطای 429 را ایجاد میکند. برای پیدا کردن دلیل خطا باید یک به یک افزونهها را فعال کنیم. افزونهها را یک به یک از پوشه اول که نام آن را تغییر دادهاید به پوشه Plugins منتقل کنید. سپس با انتقال هر افزونه یک بار صفحه وب سایت را مجددا بارگذاری کنید. پس از مشخص شدن افزونه مشکل ساز آن را به شکل کامل حذف کنید.
راه حل 4 : غیرفعال کردن قالب وردپرس
اگر افزونهها دلیل خطای 429 نباشند، انگشت اتهام به سمت قالب مورد استفاده شما می رود. برای بررسی قالب لازم است تا آن را به شکل دستی غیر فعال کنیم تا وردپرس یکی از قالبهای پیش فرض را فعال کند. فرآیند انجام کار تقریبا شبیه به غیرفعال کردن افزونهها است اما این بار باید به دایرکتوری “public_html/wp-content/themes” برویم.
پس از ورود به بخش مورد نظر، پوشه مربوط به قالب وب سایت خود را پیدا کرده و نام آن را تغییر دهید. بعد از تغییر نام پوشه قالب، وب سایت خود را مجددا بارگذاری کنید، اگر خطای 429 برطرف شده باشد یعنی قالب وب سایت مقصر است.
حالا یک بار دیگر دایرکتوری “public_html/wp-content/themes” را باز کرده و نام پوشه را به حالت قبل باز گردانید، با این کار احتمالا مشکل شما برطرف خواهد شد؛ در صورت تکرار خطای 429 با توسعه دهنده قالب سایت تماس گرفته یا از قالب دیگر استفاده کنید.
راه حل 5 : با ارائه دهنده خدمات هاست وب سایت خود تماس بگیرید.
در برخی موارد وب سایت شما مقصر نیست و باید دلیل مشکل را از ارائه دهنده خدمات هاست خود جویا شوید. اگر دلیل خطا به هاست مربوط باشد، شما نمیتوانید آن را برطرف کنید. برخی از ارائه دهندگان خدمات هاست سرویسهای شخص ثالث را مسدود میکنند. این سرویسها میتوانند شامل موتورهای جستجو باشد که تعداد درخواست زیادی را برای یک وب سایت ارسال میکنند.
تماس با ارائه دهنده خدمات هاست و ارائه دسترسی به موتورهای جستجو و دیگر سرویسهای شخص ثالث مشکل شما را برطرف خواهد کرد. این مساله را در نظر داشته باشید که حتی اگر ارائه دهنده خدمات هاست دلیل مشکل نباشد، کارشناسان مجموعه توصیه های ارزشمندی را در دسترس شما قرار خواهند داد.
جمع بندی
پس از مطالعه آموزش نحوه رفع خطای ۴۲۹ یا too many requests وردپرس، احتمالا مشکل شما به کمک یکی از راه حل های ارائه شده برطرف شده است. اما اگر همچنان مشکل وجود دارد باید از یک توسعه دهنده وردپرس برای رفع مشکل خود کمک بگیرید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.