Rate Limiting begrenzt, wie viele Anfragen ein Client in einem Zeitfenster an einen Server oder eine API stellen darf. Wer das Limit überschreitet, wird gebremst oder abgewiesen. Der Server schützt sich so vor Überlastung, Brute-Force-Versuchen und aggressivem Scraping.
Wie funktioniert es?
Der Server zählt Anfragen pro Absender, meist pro IP-Adresse, API-Schlüssel oder Nutzerkonto. Verbreitete Verfahren sind der Token Bucket, der kurze Spitzen (Bursts) erlaubt, und das gleitende Zeitfenster. Wird das Limit erreicht, sendet der Server üblicherweise den Statuscode 429 Too Many Requests. Der zugehörige RFC 6585 erlaubt einen Retry-After-Header mit der empfohlenen Wartezeit. Antworten mit 429 dürfen nicht zwischengespeichert werden. Manche Setups liefern stattdessen 503.
Bedeutung für SEO
Rate Limiting trifft auch Crawler. Googles Crawler werten 429 als Signal, dass der Server überlastet ist, und verringern daraufhin die Crawling-Frequenz. Google beschreibt die Codes 500, 503 und 429 sogar als Mittel, die Crawling-Rate bewusst zu senken, allerdings nur für kurze Zeit von einigen Stunden bis ein bis zwei Tagen. Bei längerer Dauer drohen Nachteile für die Präsenz in der Suche.
Ein zu enges Limit bremst außerdem eigene SEO-Crawler, mit denen Seiten geprüft werden. Fehlerantworten verfälschen dann die Auswertung, und Seiten wirken fälschlich defekt.
Beispiel
Eine Antwort, die den Client eine Stunde warten lässt:
HTTP/1.1 429 Too Many Requests
Retry-After: 3600
Häufige Fehler
- Verifizierte Crawler pauschal begrenzen. Antwortet der Server Googlebot mit 429, verlangsamt Google das Crawling vorübergehend. Ein zu enges Limit wirkt damit wie eine Drosselung des Crawlings.
- 429 oder 503 dauerhaft ausliefern. Google nennt diese Codes für Notfälle über wenige Stunden bis ein bis zwei Tage. Bei längerer Dauer kann sich das negativ auf die Darstellung der Website in Google-Produkten auswirken.
- 429-Antworten cachen lassen. Nach RFC 6585 dürfen Antworten mit 429 nicht von einem Cache gespeichert werden. Sonst sehen weitere Clients die Sperre noch, nachdem das Limit abgelaufen ist (Schlussfolgerung).
Häufige Fragen
Was bedeutet „Rate limit exceeded“? Der Client hat sein Anfragekontingent im aktuellen Zeitfenster ausgeschöpft. Der Server verweigert weitere Anfragen, bis das Fenster abgelaufen ist.
Quellen
- RFC 6585, Abschnitt 4: 429 Too Many Requests – IETFrfc-editor.org
- HTTP-Statuscodes, Netzwerk- und DNS-Fehler – Google Search Centraldevelopers.google.com
- Crawling-Frequenz von Googlebot verringern – Google Search Centraldevelopers.google.com
Stand: