microsoft / microsoft/indexnow-wordpress-plugin

[Protocol Feedback] Reliability issues on Shared Hosting environments (HTTP 429 errors)

Open
#67 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
42
Forks
15
PR merge metrics
No merged PRs in 30d

Description

Description

Even though this repository focuses on the WordPress implementation, I am reporting a systemic issue with the IndexNow protocol logic that affects millions of users on shared hosting environments (e.g., STRATO, IONOS, Bluehost).

The Problem: IP-based Rate Limiting

Currently, IndexNow seems to rely heavily on IP-based rate limiting. In shared hosting environments, hundreds of independent websites share a single outgoing server IP.

When multiple websites on the same shared server utilize IndexNow, the shared IP quickly hits the HTTP 429 - Too Many Requests threshold. This effectively blocks legitimate updates from smaller websites that do not have the resources for a dedicated IP address.

Proposed Improvement

Since IndexNow already requires a Unique API Key (via host-side text file validation) to verify domain ownership, I propose shifting the rate-limiting logic:

  • From: Source IP-based throttling
  • To: Domain/API-Key-based throttling

Benefits

  1. Fairness: Smaller websites won't be penalized for the activity of their "server neighbors."
  2. Efficiency: Reliable push-updates reduce the need for search engines to perform resource-heavy "discovery crawling."
  3. Adoption: This change would make IndexNow a viable and stable tool for the global CMS community (Joomla, WordPress, etc.) beyond dedicated server setups.

I would appreciate it if the IndexNow core team could review how rate limits are applied to requests that are already authenticated via a valid key.

Environment:

  • Hosting Provider: STRATO (Shared Environment)
  • Error received: HTTP 429

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named. Start by locating the plugin's IndexNow request path and determine whether rate limiting is implemented in this repository; done would require a maintainer-confirmed approach for handling authenticated requests on shared hosting.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, wordpress
Domain
api, backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.