1. Home
  2. XML Sitemap Generator + AI Feed JSON + IndexNow PRO
  3. IndexNow Settings

IndexNow Settings

IndexNow is a real-time URL submission protocol that lets your store instantly notify search engines when content changes. Version 3.6.0 introduces a complete IndexNow implementation with an event-driven queue, cron-based processing, and a full queue management dashboard.

New to IndexNow? Read Why IndexNow | Bing Webmaster Tools

Basic Settings

SettingDefaultDescription
Enable IndexNowOffMaster switch. Enables event hooks and URL queueing. An API key is required.
IndexNow API KeyYour unique identifier with search engines. Use Auto Generate Key to create one.
Cron Secret KeyAuto-generatedProtects your cron endpoint. Only requests with this key trigger submission.

Queue & Retry Settings

SettingDefaultRangeDescription
Retry Limit51–50How many times a failed URL submission is retried before the item stays failed permanently.
Queue Success Retention (days)301–3650Successfully sent rows older than this are auto-deleted during cleanup.
Submission Log Retention (days)60≥ retention daysLog records older than this are auto-deleted. Must be ≥ Queue Success Retention.
Auto-disable Failure Threshold0.80.0–1.0If the failure ratio exceeds this value across recent batches, the cron is auto-disabled. 0.8 = 80% failure rate triggers auto-disable.

Step 1: Generate and Validate Your API Key

  1. Click Auto Generate Key — a cryptographically random hex key is generated.
  2. Click Save to store the key.
  3. Click Validate Key — the extension checks that the key file is accessible at yourstore.com/{key}.txt.

The key file is automatically written to your web root during the first cron run. If validation fails, check that your web root is writable and that your domain is publicly accessible.

Step 2: Set Up the Cron Job

IndexNow submissions are processed asynchronously by a cron job. The cron URL is displayed in the admin panel:

https://yourstore.com/index.php?route=extension/hbseo/index_now/cron&key={your-cron-key}

Add to your server crontab (run every 5 minutes):

bash

*/5 * * * * curl -s "https://yourstore.com/index.php?route=extension/hbseo/index_now/cron&key=YOUR_CRON_KEY" > /dev/null

Or using wget:

bash

*/5 * * * * wget -q -O /dev/null "https://yourstore.com/index.php?route=extension/hbseo/index_now/cron&key=YOUR_CRON_KEY"

⚠️ Important: Use the Cron Secret Key in the cron URL, not the IndexNow API key. These are two separate keys.

If your host doesn’t allow crontab, use a cron service like EasyCron or cron-job.org to call the URL every 5 minutes.

Step 3: Run Initial Sync

When you first enable IndexNow, your existing products, categories, and pages are not yet in the queue. Use Sync All in the dashboard to queue all existing URLs for initial submission.

The sync runs in chunks of 100 records at a time and shows progress in the admin panel. Run it once after setup.

Event Hooks — Automatic Queue Population

The extension registers OpenCart admin event hooks that fire whenever you save or delete content. When an event fires, the URL is automatically added to the IndexNow queue.

Events covered:

  • Product: add, edit, delete
  • Category: add, edit, delete
  • Manufacturer/Brand: add, edit, delete
  • Information page: add, edit, delete

You can enable or disable individual hooks from the IndexNow dashboard panel without disabling IndexNow entirely. For example, if you bulk-import products via a third-party script, you might temporarily disable the product hooks and queue them manually via Sync All.

IndexNow Queue Manager

Navigate to the IndexNow → Queue Manager to view and manage all queued submissions.

Filter by: type, status, store, language, or search by ID/title/response

Status values:

StatusMeaning
PendingWaiting to be processed by the next cron run
ProcessingCurrently being claimed by a cron run
SuccessSuccessfully submitted to IndexNow
FailedSubmission failed after all retries

Queue actions:

ActionDescription
Force IndexNowImmediately trigger a cron run for a specific row, bypassing normal scheduling
Retry FailedReset all failed rows to Pending and re-enable the cron
Delete SelectedRemove specific queue rows
Delete AllClear the entire queue for this store
Clear Sent HistoryRemove successfully sent rows to keep the database clean

Auto-Disable Protection

If the system detects a high failure rate (above your configured threshold) or too many consecutive failures, it automatically:

  1. Disables the cron runtime
  2. Sends an email alert to the store admin

To re-enable after fixing the issue:

  1. Resolve the underlying problem (verify the API key, check server connectivity)
  2. Click Retry Failed in the admin panel — this resets failed rows and re-enables the cron

Dashboard Statistics

The IndexNow section of the Dashboard tab shows:

  • Pending / Sent / Failed queue counts
  • Last cron run timestamp
  • Consecutive failures count
  • 24-hour activity chart (success vs. failed per hour)
  • Overall success vs. failed totals