Skip to content

Developer notes

Hook Use
update_product_post, update_category_post, update_page_post Queue the storefront URL of the saved object.
tools_change_status Status switched in a list: the URL is queued (also when the object is no longer public).
delete_product_pre, delete_category_pre Queue the URL before the object is deleted.
update_promotion_post, clear_cache_post Move the site change time, the lowest Last-Modified of every page.

Frontend post controllers products.post.php and categories.post.php (mode view) add Last-Modified and answer 304.

  • ?:kv_ixn_queue: URL (unique by MD5), host, object type and id, time added, tries.
  • ?:kv_ixn_log: one row per request: host, endpoint, number of URLs, HTTP code, result (S sent, R retry, E error), message, first five URLs. The newest 500 rows are kept.

One POST per host to https://<endpoint>/indexnow with Content-Type: application/json:

{"host": "example.com", "key": "<32 hex>", "keyLocation": "https://example.com/<key>.txt", "urlList": ["https://example.com/..."]}

Up to 10 000 URLs per request.

Dispatch Purpose
kv_indexing_booster.manage Admin page.
kv_indexing_booster.send, .queue_all, .submit, .new_key, .clear_queue Admin POST actions.
kv_indexing_booster.cron Console, or HTTP with cron_password. Listed in schemas/permissions/trusted_controllers.post.php.
index.php?dispatch=kv_indexing_booster.key The key as text, used as key location when the root is not writable.

Without an active license nothing is queued or sent and no header is added.