Gestion du throttling des crawlers

J’avais une question générale sur la façon dont la limitation des robots d’exploration est implémentée.

Selon Reduce Google Crawl Rate | Google Search Central  |  Documentation  |  Google for Developers, le code d’état HTTP recommandé est 429 (Trop de requêtes) ou 503 (Site indisponible).

Mais en parcourant le code source, il semble que la limitation soit implémentée en lançant une erreur : discourse/lib/rate_limiter.rb at 85fddf58bc1e751d0ac5b8192a630c59a34aed7d · discourse/discourse · GitHub

Mes jours de Ruby on Rails sont loin derrière moi, mais je suppose que cela déclenche un 505 générique ?

Le robot d’exploration de Google ne comprend pas tout à fait la limitation de Discourse et dans Google Search Console, je peux voir que notre indexation et donc nos impressions ont considérablement diminué après la mise en œuvre de la limitation, mais pas à cause de la limitation, mais à cause d’erreurs serveur 5xx.

Je comprends que des instances de limitation peuvent être parfois nécessaires si elles causent trop de trafic, mais je m’attendais à ce que Discourse signale un HTTP 429, au lieu de servir au robot d’exploration une erreur interne 505.

1 « J'aime »

Je pense que ce que vous cherchez est

Qui est le “rescue” global du contrôleur pour cette erreur qui définit le code de statut.

1 « J'aime »

Merci ! C’est rassurant, mais n’explique pas tout à fait pourquoi la Google Search Console signale des erreurs 5xx qui correspondent au moment où le limitation a été implémentée.

Elle signale même qu’elle n’a pas pu récupérer le sitemap.xml de discourse.

En particulier, la limitation de sitemap.xml semble problématique.

Je suppose que c’est ce qui a causé l’écart dans la couverture. Je pourrais croire que Google a mal rapporté 429 comme 5xx.

1 « J'aime »