Skip to main content
View Categories

Toolkit: IndexNow

IndexNow tells Bing and the other search engines that share it as soon as you publish or update a blog post or page, so they do not have to wait for their next crawl to notice it.


What it does #

Search engines find new pages by crawling, and a vacation rental site is not crawled constantly. A new area guide or a changed policy page can sit unnoticed until the next visit. IndexNow is an open protocol that lets a site announce a changed address directly. Bing, Yandex, Seznam and Naver read those announcements, and so do the search tools built on Bing’s index, ChatGPT search among them.

With the module on, publishing a blog post or page, or updating one that is already published, adds its address to a waiting list. Every five minutes the Toolkit sends what is waiting in one batch and keeps a short record of the answer. If the service is slow or unreachable, the batch is tried again after 1, 5 and 15 minutes. The waiting list is stored in your site’s database, so a cache flush or server restart does not lose it.

For example, you publish “Fall foliage weekends in Blue Ridge” at 9:02. By 9:07 the Toolkit has told IndexNow about it. When the search engines fetch the page is up to them.

What it sends:

  • The public address of each blog post and page when it is published, and again each time a published one is updated.
  • Nothing about your guests, bookings or properties.

What it never sends:

  • Drafts, private pages and password-protected pages.
  • Anything marked noindex in Rank Math or Yoast.
  • Property pages. Your sitemaps cover those for now.
  • Anything from a site that has “Discourage search engines” switched on in Settings > Reading, a staging or development copy, or a site that is not a production environment.

Google does not read IndexNow. Your sitemaps and Google Search Console stay the way Google finds your pages.

How to turn it on #

1. Switch on the module #

In the HomeRunner Toolkit Hub, under AI & Integrations, switch on IndexNow. It is off by default.

2. Nothing else to configure #

The Toolkit creates a key for your site the first time it needs one and serves it at https://yourdomain.com/<key>.txt, which is the check IndexNow uses to confirm the site is yours. Before the first submission, and once a day after that, the Toolkit fetches that address itself. If your web server refuses unknown .txt addresses, the Toolkit writes a small file with the key next to your site’s index.php and checks again. Nothing is sent until the key check passes.

Settings #

SettingWhat it controls
IndexNow toggle (HomeRunner Toolkit Hub)Turns submissions on or off for this site. Off by default. There is no separate settings screen.
Daily limitFixed at 500 addresses per day (counted by UTC day). Anything beyond that waits for the next day.
Send scheduleFixed at every five minutes, up to 100 addresses per batch.

Checking that it works #

IndexNow has no screen in the WordPress admin, so you check it from the command line on the site (or ask your developer to):

  • wp hrtk indexnow status shows the site key, whether the key check passed, the next scheduled send, how many addresses are waiting, sent or failed, and the last ten submissions with the answer IndexNow gave. HTTP 200 or 202 means accepted.
  • wp hrtk indexnow queue lists the most recent addresses and the state of each.
  • wp hrtk indexnow run sends what is waiting now instead of waiting for the schedule.
  • wp hrtk indexnow key --verify fetches your key address the way IndexNow does and reports whether it is served.

Tips #

  • If status shows the key check as “NOT served”, the key address is not reachable from outside. Nothing is sent until it is, and the Toolkit checks again after an hour.
  • An answer in the 400s means IndexNow rejected the batch, usually because the key or the site address did not match. Those addresses stay marked failed until you run wp hrtk indexnow retry. No answer, or an answer in the 500s, means the service could not be reached. Those are retried on their own, including once more the next day if all three retries fail.
  • Turning the module off stops the schedule and sends nothing more. The record stays until the plugin is uninstalled.
  • For the rest of the Toolkit, see the Toolkit Overview.