---
title: "Toolkit: IndexNow"
description: "> 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. --- ##…"
url: "https://homerunner.io/docs/toolkit-indexnow/"
updated: "2026-10-23"
category: "Search & Discovery"
---

# 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

| Setting | What 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 limit | Fixed at 500 addresses per day (counted by UTC day). Anything beyond that waits for the next day. |
| Send schedule | Fixed 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](/docs/toolkit-overview/).
