Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

If an IndexNow workflow submits a GitHub pull request address instead of a public blog URL, the workflow is building the wrong URL—not discovering a page from the pull request automatically. The exact incident-specific fix cannot be established without the repository, workflow, or patch, so this guide explains how to trace the submitted value and connect notifications to the site’s real publication flow.

Why can a GitHub Action send a pull request URL to IndexNow?

IndexNow is for notifying search engines about URLs on your website that have been added, updated, or deleted. It does not submit GitHub pull request URLs as a substitute for website pages. A workflow can nevertheless send the wrong address if its own code constructs the request URL from pull-request data or another incorrect value.

GitHub’s pull_request event runs against a merge ref. For that event, GITHUB_REF is refs/pull/PULL_REQUEST_NUMBER/merge and GITHUB_SHA is the last merge commit on that ref. The pull request’s head commit SHA is available separately as github.event.pull_request.head.sha. These are Git references and commit identifiers, not canonical blog URLs. GitHub documents these event values in its workflow event reference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

That event behavior alone does not mean every pull_request workflow sends a PR address to IndexNow. The workflow’s URL-building logic determines what goes in the request. A green workflow run confirms that its steps completed; it does not prove the submitted string was the intended public page.

How to find what the workflow actually submitted

  1. Inspect the request value. In the relevant workflow step, identify the exact url parameter or JSON urlList sent to IndexNow. Log the value for diagnosis, but redact API keys and other secrets.
  2. Compare each value with the live site. Check that every submitted URL uses the verified website host and the canonical public route. A GitHub host, pull-request route, ref, or commit SHA is not a substitute for that page URL.
  3. Check which event ran. Determine whether the run was for a draft or preview build, a pull request, or an actual production publication. Then compare that event with the point at which the page became publicly available.
  4. Trace URL generation back to publication data. Derive page URLs from the site’s content or publication output. Do not treat a workflow ref or commit SHA as though it were a page address.
  5. Check the workflow’s page-selection behavior. Verify how it identifies changed pages, including edits, deletions, renamed posts, and batches containing multiple URLs. The right behavior depends on the site’s build and publishing architecture.
  6. Validate the host and key setup. IndexNow requires proof of ownership through a text key file on the submitted host. The file can be at the host root or elsewhere on that host; if it is elsewhere, the request must identify the key location.

When should IndexNow run in a publishing workflow?

Notify IndexNow when the site has a relevant public URL change—not merely because a workflow ran. A pull request can be useful for building and checking a preview, while a production publication flow can provide the point at which changed public URLs are ready to notify. The appropriate trigger depends on how the site deploys and whether the workflow can reliably identify the affected pages.

GitHub Actions supports push, pull_request, and workflow_dispatch triggers. GitHub environments can represent a deployment target such as production, with controls including branch restrictions, required approvals, custom protection rules, and restricted access to environment secrets. These are available workflow controls, not evidence of which trigger or configuration fixed any particular incident. See GitHub’s deployment controls documentation.

When choosing where to attach the notification, check whether it fires only after publication, whether it can determine exact public URLs, how it handles edits and removals, and whether the IndexNow host and key location match. Preserve the sitemap as the complete site inventory; use IndexNow to report relevant changes rather than as a replacement for that inventory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What IndexNow responses do—and do not—tell you

HTTP response Meaning
200 IndexNow received the URL. Its documentation states: “The HTTP 200 response code only indicates that the search engine has received your URL.” It does not confirm indexing.
202 The submission was accepted while key validation is pending.
400 The request is malformed.
403 There is a key problem.
422 The host, URL, and key combination is invalid.
429 The request rate is excessive.

These response meanings come from IndexNow’s official documentation. Its protocol permits up to 10,000 URLs in one JSON POST, but that is a maximum capacity, not a reason to send every repository or pull-request URL. Submit only the website URLs that changed.

A successful receipt is not a promise that a search engine will index a page. IndexNow’s FAQ says URL submission does not guarantee indexing and distinguishes the roles of a sitemap and IndexNow: a sitemap supports ongoing discovery and a complete URL inventory, while IndexNow notifies search engines about changes.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What can be confirmed about the fix?

The title identifies the problem but does not identify the repository, workflow YAML, URL-construction logic, or code change. Without those details, it is not possible to verify the incident’s actual fix or say that it was simply a switch from pull_request to push. Either trigger may be appropriate depending on the site’s publication architecture.

To document a specific fix accurately, establish which trigger now runs the notification, how it derives changed public page URLs, how it handles edits, deletions, renames, and batches, and what condition ensures the pages have actually been published. Then verify the exact submitted URLs against the live site and report IndexNow’s response as receipt—not proof of indexing.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.