Sooner or later, every website runs into a bug or error that’s difficult to troubleshoot. Often, that’s because the error itself doesn’t give you many details. The 429 Too Many Requests error is one such example.
We know what its most common causes are, fortunately. Since there are several potential culprits, however, you’ll often need to try more than one fix before you can resolve it.
In this article, we’re going to talk about what causes the 429 Too Many Requests error and what it looks like. Then we’ll go over five ways you can troubleshoot your website if you ever run into this particular issue. Let’s get to work!
- What is the HTTP 429 Error
- What Causes the 429 Too Many Requests Error
- How to Fix the 429 Too Many Requests Error (5 Methods)
How to Fix 429 Too Many Requests in WordPress:
You’re receiving the 429 Too Many Requests error message because the user has sent too many requests in a given amount of time (could be a plugin, a DDos, or something else). It’s a server telling you to please stop sending requests.
To fix it in WordPress, try one of these 5 methods:
- Change your WordPress default login URL
- Check whether your HTTPS internal links are causing the issue
- Deactivate all your WordPress plugin
- Switch to a default WordPress theme
- Contact your hosting provider
What is the HTTP 429 Error?
The HTTP 429 error is returned when a user has sent too many requests within a short period of time. The 429 status code is intended for use with rate-limiting schemes.
Check Out Our Video Guide to the 429 Too Many Requests Error
What Causes the HTTP 429 Too Many Requests Error
In some cases, when your server detects that a user agent is trying to access a specific page too often in a short period of time, it triggers a rate-limiting feature. The most common example of this is when a user (or an attacker) repeatedly tries to log into your site.
However, your server may also identify users with cookies, rather than by their login credentials. Requests may also be counted on a per-request basis, across your server, or across several servers. So there are a variety of situations that can result in you seeing an error like one of these:
- 429 Too Many Requests
- 429 Error
- HTTP 429
- Error 429 (Too Many Requests)
The error may also include additional details regarding the reason for the 429 status code, and how long the user must wait before attempting to log in again. Here’s an example of what that might look like:
HTTP/1.1 429 Too Many Requests
Content-type: text/html
Retry-After: 3600
<html>
<head>
<title>Too Many Requests</title>
</head>
<body>
<h1>Too Many Requests</h1>
<p>I only allow 50 requests per hour to this website per logged in user. Try again soon. </p>
</body>
</html>
Regardless of how the error appears, it always means the same thing – there’s a user or a snippet of code that’s overwhelming your server with too many requests. Sometimes, the problem can go away on its own. In other situations, such as those caused by issues with a plugin or Denial of Service (DDoS) attacks, you’ll need to be proactive in order to resolve the error.
The problem is that the 429 error most often affects your login page, which can make it impossible for you to access your website’s dashboard. That can make fixing it a little tricky, but it’s still achievable if you know what to try.
How to Fix the 429 Too Many Requests Error (5 Methods)
As you might imagine, we deal with a lot of WordPress support requests due to the nature of the services we offer. That means we’re intimately familiar with the 429 error, and its many potential causes.
In the following sections, we’ll cover five of the most common causes we’ve seen for the 429 Too Many Requests error in WordPress. For each potential issue, we’ll also teach you how to go about fixing it, so you can get your site back up and running quickly.
1. Change Your WordPress Default Login URL
Brute-force login attempts are one of the leading causes of the 429 error on WordPress websites. One quick way to prevent attackers from trying to break through your WordPress login page is to change its URL from the default option, so they can’t find it in the first place.
By default, you can find your login page by navigating to yourwebsite.com/wp-admin. That’s pretty easy to remember, but it’s also downright insecure since everyone on the web will know exactly where to access it.
The easiest way to change your default WordPress URL is by using the free WPS Hide Login plugin:
Let’s walk through the process of using this particular tool. You’ll first want to install and activate the plugin just as you would any other, and then navigate to the Settings > WPS Hide Login tab in your WordPress dashboard:
Here, you can easily change your login URL by typing in whatever extension you’d like to use. Make sure to stay away from easy-to-guess options such as login, wp-login, and so on. This would defeat the purpose of changing your URL in the first place, so you’ll want to come up with something unique to your site.
Note that this plugin also enables you to redirect users who try to access your old login URL to another page. For example, the default option will show anyone who tries to visit /wp-admin a 404 error page, so they’ll know they’re looking in the wrong place. When you’re done, remember to save the changes to your settings, and you’ll be good to go.
2. Disable the Really Simple SSL Plugin and Replace Your Internal Links
These days, there’s no good reason you shouldn’t have a Secure Sockets Layer (SSL) certificate set up for your website. Likewise, your entire website should load over HTTPS. This is far more secure than using the older HTTP protocol, and it can even have a positive effect on your site’s Search Engine Optimization (SEO).
When it comes to enforcing HTTPS use, you can either use the manual route – such as an .htaccess redirect – or a plugin. One of the most popular choices is Really Simple SSL:
This plugin’s appeal is that it forces your entire website to load over HTTPS with just a couple of clicks. However, in our experience, it can also lead to occasional bugs. For instance, under some circumstances, it can trigger the 429 error we’ve been talking about.
There’s nothing inherently wrong with this plugin, but it’s definitely not the best way to implement HTTPS use. The problem is that, even if you implement HTTPS manually, you’re still left with the problem of what to do about internal links. Chances are there are a lot of internal links throughout your website, so you’ll need to find a way to replace all of them with their HTTPS versions after disabling the plugin.
First, you’ll want to take care of the plugin itself. If you have access to the WordPress admin area, disabling Really Simple SSL shouldn’t be an issue – just hit Deactivate and you’re done:
However since the 429 Too Many Requests Error often blocks you from accessing your dashboard, you might have to take the manual route and disable the plugin using an FTP client.
Either way, once the Really Simple SSL plugin is gone, the 429 error should be resolved. That means you can access your dashboard to set up a new plugin, which will help you replace all of your internal links in one swoop. That plugin is called Search and Replace:
Go ahead and activate the plugin, then navigate to the Tools > Search & Replace tab in WordPress. Inside, select the wp_postmeta table, and then enter the following parameters alongside the Search for and Replace with fields respectively:
If your site uses a non-www domain:
http://yourwebsiteurl.com
https://yourwebsiteurl.com
In some cases, there may be www instances of your domain in the database as well, so we also recommend running another search and replace with the settings below.
http://www.yourwebsiteurl.com
https://yourwebsiteurl.com
If your site uses a www domain:
http://www.yourwebsiteurl.com
https://www.yourwebsiteurl.com
To replace non-www instances of your domain in the database, run another search and replace with the settings below:
http://www.yourwebsiteurl.com
https://yourwebsiteurl.com
Then select the dry run option, which will let you know how many instances of your HTTP URLs the plugin will replace within your database. After that dry run, execute the plugin for real and it will replace all the necessary links.
Keep in mind that after disabling the Really Simple SSL plugin, you’ll also need to set up a site-wide HTTPS redirect using your .htaccess file. This will enable you to implement HTTPS effectively, without the risk of further 429 errors.
3. Temporarily Deactivate All of Your WordPress Plugins
So far, we’ve focused on a single plugin that may cause the 429 error. However, in practice, any plugin could cause this issue if it makes too many external requests. If neither of the above methods leads to a solution in your case, it may be time to try disabling all of your plugins at once, to ensure that they aren’t the problem.
For this section, we’ll assume you don’t have access to your dashboard and can’t disable plugins the usual way. In that case, you’ll need to access your website via FTP using a client such as Filezilla, and navigate to the public_html/wp-content/ directory.
Inside, there should be several folders, one of which is called plugins:
Right click on that folder, and change its name to something else, such as plugins.deactivated. Once you do that, WordPress won’t be able to ‘find’ any of the plugins, and it will automatically deactivate all of them. However, before you try to access your site again, go ahead and create a new empty folder called plugins, so WordPress will still function as normal.
If the 429 error is gone when you next visit your site, you can assume that one of the plugins you turned off was the culprit. That means you need to narrow down which one caused the problem. To do that, you’ll want to:
- Delete the empty plugins directory you set up a minute ago, and restore the previous folder to its original name.
- Access the plugins directory.
- Rename one of the plugin folders within to anything else, which will deactivate only that specific plugin.
- Try to access your website, and see if the 429 error is gone.
- If the error persists, return that plugin folder to its original name and repeat steps 3 and 4 with the next one.
By moving down your list of active plugins one by one, you should eventually discover which one is the culprit. Once you figure out which plugin is behind the 429 Too Many Requests error, you can delete it altogether, which should fix the issue.
4. Switch to a Default WordPress Theme
If it turns out that a plugin isn’t the cause of your 429 error, it’s possible that your active theme might be at fault. To figure out if that’s the case, you can disable your active theme manually, forcing WordPress to switch to one of the default templates that ships with the CMS.
This process works much the same as disabling plugins manually. You’ll want to launch your trusty FTP client once more, and this time navigate to the public_html/wp-content/themes directory. Once there, look for the folder that corresponds to your active theme and rename it to anything else you want.
If you try to access your website after that, the 429 Too Many Requests error should be gone. You’ll also notice that everything looks quite a bit different. Don’t panic, though, your theme and all of its customizations are still there.
All you need to do is return the theme folder to its original name and activate it once more. If the 429 error returns afterward, then you might need to contact the theme’s developers or consider changing your site’s theme and delete it eventually.
5. Contact Your Host If You Still Can’t Resolve the Error
In some instances, it’s possible that the cause behind the 429 error originated with your server, rather than with your website itself. If this is the case for you, no amount of work on your part will be able to fully resolve the problem.
For example, some web hosts will block requests from specific third-party services or platforms. These can include search engines, crawlers, and other apps (such as Google Search Console) that make large numbers of requests to your website.
Contacting your hosting provider and asking them to allow these requests can solve the issue. Additionally, even if limitations placed on your server by your host aren’t the cause of the problem, they may be able to provide valuable insight and advice that can help you find the correct solution.
Getting the 429 Too Many Requests error message? That’s a bummer but don’t despair, we’ve got you covered with our guide!😭🤗Click to Tweet
Summary
Encountering an error on your website is always frustrating. However, as far as errors go, those with number codes at least give you enough information to start fixing them. If you run into the 429 Too Many Requests error, you’ll know that something is overwhelming your server with too many requests, so it’s only a matter of identifying what the source of the problem is.
If you do happen to experience the 429 error, here are five ways you can go about troubleshooting it:
- Change your default WordPress login URL.
- Disable the Really Simple SSL plugin.
- Temporarily deactivate all of your WordPress plugins.
- Switch to a default WordPress theme.
- Contact your host if you still can’t resolve the error.
Do you have any questions about how to fix the 429 Too Many Requests error in WordPress? Let’s talk about them in the comments section below!
Раньше все работало корректно.
Сейчас вылезает подобная ошибка:
Немного погуглив наткнулся на это:
Но, учитывая посещаемость сайта, могу с уверенностью сказать, что дело точно не в этом.
Сталкивался ли кто с подобной ошибкой, поделитесь опытом решения, пожалуйста.
-
Вопрос задан
-
589 просмотров
в кабинете девелопера получите apikey и вставьте его GET’ом в подключение скрипта
P.S. Яндекс как всегда, без каких либо объявлений и нормальных ответов в консоли, тупо ограничил доступ.
Да. Последние недели две регулярно сталкивались с этим. То работает геокодер, то нет. С разных серверов разные ответы получались и т.д.
Решение простое — https://developer.tech.yandex.ru/services/ подключаете здесь нужный вам API и используете ключ для запросов. Если, конечно, ваш проект удостоверяет условиям бесплатно использования. Нам помогло, вторую неделю полёт нормальный.
Пригласить эксперта
-
Показать ещё
Загружается…
21 сент. 2023, в 22:23
5000 руб./за проект
21 сент. 2023, в 20:54
10000 руб./за проект
21 сент. 2023, в 20:40
20000 руб./за проект
Минуточку внимания
Всем привет. Использую яндекс карты для отображения меток через геокодер и прорисовки маршрута от точки А до точки Б при помощи «routePanelControl». Сгенерировал ключ апи яндекса для «JavaScript API и HTTP Геокодер», скрипт карт подключаю с этим ключом. Сам геокодер работает нормально, рисует все необходимые точки, но построитель маршрута вообще не работает. Вместо этого появляется ошибка
GET https://api-maps.yandex.ru/services/search//v2/?callback=id_156837181534799904393&text=195027%2C%20%D0%A0%D0%A4%2C%20%D0%A1%D0%B0%D0%BD%D0%BA%D1%82-%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3%2C%20%D0%AF%D0%BA%D0%BE%D1%80%D0%BD%D0%B0%D1%8F%2C%20%D0%B4.%209%D0%90&format=json&rspn=0&lang=ru_RU&results=1&token=c75c08aaa7168778b8dff36de0cd0201&type=geo&properties=addressdetails&geocoder_sco=latlong&origin=jsapi2Geocoder net::ERR_ABORTED 429 (Too Many Requests)
Сразу подумал что привысил лимит подключений по api, но в ЛК разработчика яндекс в статистике вижу что лимит не исчерпан, хотя собственно проблем с геокодером нет, только маршрутизатор глючит.
Что делать, как быть, где копать?
задан 13 сен 2019 в 11:04
4
Ошибка 429 возникает только при использовании API без ключа. В вашем примере запроса его тоже нет. Это значит, что вы не прописали ключ в подключении API или прописали неверно, например, неправильно назван параметр, добавлены лишние символы и т.п.
Правильно ключ прописывается вот так:
<script src="https://api-maps.yandex.ru/2.1/?apikey=Absdf-adfa1-2131-241FFsf&lang=ru_RU" type="text/javascript">
Часто путают, например, регистр параметра apikey
— все буквы должны быть маленькие, и берут ключ в скобки <> или случайно добавляют пробелы.
ответ дан 13 сен 2019 в 12:25
ReniReni
2,9401 золотой знак7 серебряных знаков23 бронзовых знака
Как владелец веб-сайта вы время от времени сталкиваетесь с сообщением об ошибке. Некоторые из этих ошибок будет относительно просто исправить, а другие – сложно. Возьмем, к примеру, ошибку HTTP 429.
Источник изображения
Устранение этой ошибки затруднено, поскольку она содержит мало подробностей. Вы знаете, что что-то не так, и вам нужно это исправить, но вы не совсем уверены, что произошло и почему.
Чтобы убедиться, что вы понимаете и можете решить эту проблему, мы рассмотрим, что означает ошибка 429 и каковы ее наиболее распространенные решения.
Что такое ошибка HTTP 429?
Ошибка HTTP 429 – это код состояния ответа HTTP, который указывает, что клиентское приложение превысило предел скорости или количество запросов, которые они могут отправить за определенный период времени. Обычно этот код не просто сообщает клиенту о прекращении отправки запросов – он также указывает, когда они могут отправить другой запрос.
Ответ 429 технически не является ошибкой – это ответ сервера, интерфейса прикладного программирования (API) или плагина, который сообщает клиентскому приложению о прекращении отправки запросов, потому что у них просто недостаточно ресурсов для его приема в это время. Клиентское приложение обычно относится к веб-сайту или приложению, но также может относиться к отдельным пользователям, таким как администратор сайта, посетитель сайта или хакер.
Например, если пользователь слишком часто пытается получить доступ к странице на вашем веб-сайте в течение короткого периода времени, ваш сервер может отправить ошибку 429. В случае попытки грубой силы входа в систему, когда хакер неоднократно пытается войти на ваш сайт, ограничение скорости является важной мерой безопасности. Но ограничение скорости также сработает, если ваш сайт использует слишком много ресурсов на сервере или службе общего хостинга. Если, например, с IP-адреса получено более 50 запросов в течение одной минуты, PayPal Sandbox заблокирует этот IP-адрес на следующие пять минут.
Хотя ответ 429 может показаться карательным, на самом деле это защитная мера от пользователей, намеренно или случайно злоупотребляющих ресурсами сервера (или API, плагина или другой службы). Он разработан для предотвращения резервного копирования или переполнения запросов, которые могут перегрузить сервер или другую службу, которая предназначена для совместного использования и использования многими веб-сайтами и приложениями. Таким образом, контролируя количество и время запросов, ограничения скорости предотвращают проблемы до их возникновения.
Если вы видите ошибку HTTP 429 на своем сайте по другим причинам, вам может потребоваться уменьшить количество запросов к серверу или вызовов API, которые вы делаете. Обсуждаемые ниже шаги являются общими исправлениями ошибки 429 Too Many Requests. Если у вас есть сайт WordPress, вам могут потребоваться специальные решения для WordPress.
Как исправить ошибку HTTP 429
- Подождите, чтобы отправить еще один запрос.
- Реализуйте экспоненциальную отсрочку.
- Установите свой собственный предел дросселирования.
- Свяжитесь с вашим хостинг-провайдером.
Большинство приведенных ниже шагов направлены на предотвращение, а не на исправление ошибки HTTP 429 задним числом. Взглянуть.
1 Дождитесь отправки другого запроса.
Самый простой способ исправить ошибку HTTP 429 – дождаться отправки другого запроса. Часто этот код состояния отправляется с заголовком «Retry-after», который указывает период времени ожидания перед отправкой другого запроса. Он может указывать всего несколько секунд или минут.
Вот пример, который просит клиента подождать час перед отправкой другого запроса.
HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600
<html>
<head>
<title>Too Many Requests</title>
</head>
<body>
<h1>Too Many Requests</h1>
<p>Only 100 requests per hour per logged in user is allowed on this website. Try again soon.</p>
</body>
</html>
2 Реализуйте экспоненциальный откат.
Если заголовок «Retry-after» не отправляется, и вы не знаете, сколько времени ждать перед попыткой, вам следует реализовать повторные попытки с экспоненциальным откатом. Используя этот подход, ваше приложение не будет немедленно повторять неудавшийся запрос; вместо этого он выполнит серию повторных попыток с постепенно увеличивающимся временем ожидания между каждой попыткой. Когда запрос будет окончательно принят, вы узнаете, какое время или скорость ожидания приемлемы.
Вы можете добавить код для реализации этого подхода или использовать такой инструмент, как Celery, который имеет встроенную функцию экспоненциальной задержки.
Источник изображения
3 Установите свой собственный предел дросселирования.
Регулирование – это процесс ограничения количества запросов, которые приложение может отправить за определенный промежуток времени. Если этот предел превышен, запросы к серверу или API обычно отбрасываются или выполняются с кэшированными данными.
Хотя этот подход чаще всего используется сторонними API или платформами для предотвращения превышения клиентскими приложениями своих ограничений, он также может быть полезен для ограничения вашего собственного потребления сторонних API или ресурсов сервера. Фактически, вы можете установить более строгий лимит регулирования для себя, чтобы предотвратить выход за пределы сервера, API или другой службы, которую вы используете. Это особенно хорошая идея, если вы используете дорогостоящий API, например Twitter API, и не хотите выходить за рамки своей политики использования.
4 Свяжитесь с вашим хостинг-провайдером.
Обращение к вашему хостинг-провайдеру – это всегда вариант для любой ошибки на вашем веб-сайте, но это должен быть один из последних вариантов, которые вы пробовали.
Если вы попробовали описанные выше действия и по-прежнему видите ошибку 429, возможно, причина возникла на вашем сервере, а не на вашем веб-сайте. Также возможно, что ваш хост блокирует запросы от определенных сторонних сервисов или платформ, таких как Google Search Console, которая делает множество запросов к веб-сайтам. Обратившись к вашему провайдеру, он может решить проблему или предоставить ценную информацию.
Устранение ошибки HTTP 429
Ошибка HTTP 429 является распространенным явлением, но ее можно избежать, если обратить внимание на ограничения скорости, установленные вашим сервером, API, плагином или другими. Если вы превысите эти ограничения, вы можете предпринять шаги для устранения ошибки 429. Поступая таким образом, вы продолжите предоставлять посетителям удобство работы с вашим сайтом.
Источник записи: https://blog.hubspot.com
Взаимодействие с API осуществляется по адресу:
https://fleet-api.taxi.yandex.net
Каналом передачи данных служит защищённый протокол HTTPS.
Для представления данных в теле запроса и ответа используется формат JSON.
Общие заголовки для запросов в API:
Заголовок | Описание |
---|---|
X-Client-ID |
Идентификатор клиента |
X-API-Key |
Секретный API-ключ |
Accept-Language |
Язык ответа (по умолчанию en ) |
В API используются следующие коды ответа:
Код | Причина | Описание |
---|---|---|
200 | OK | Запрос выполнен успешно |
400 | BadRequest | Некорректные параметры запроса |
401 | Unauthorized | Отсутствуют параметры авторизации |
403 | Forbidden | Не достаточно прав для выполнения запроса |
404 | NotFound | Ресурс не найден |
409 | Conflict | Операция не может быть выполнена из-за конфликта изменений |
429 | TooManyRequests | Превышены ограничения (см. ограничения ниже) |
500 | InternalServerError | Внутренняя ошибка сервера |
В API регламентирован формат неуспешных ответов на запрос:
{
"code": "необязательное поле с машиночитаемым кодом ошибки",
"message": "обязательное поле с человекочитаемым сообщением об ошибке"
}
При использовании API действуют ограничения:
-
Не более 2 запросов в секунду
-
Не более 5000 запросов в час
При превышении ограничений возвращается код 429 Too Many Requests
.
Вопросы относительно взаимодействия с API можно задать по адресу api-taxi@yandex-team.ru.