=== QuickIndex ===
Contributors: aumatron
Tags: indexnow, seo, indexing, bing, yandex, search engines
Requires at least: 5.5
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Get your WordPress content indexed by Bing, Yandex, Naver, and Seznam within minutes — not weeks. One-click IndexNow integration.

== Description ==

QuickIndex is a focused, no-fuss IndexNow plugin. It pings IndexNow-compatible search engines the moment you publish or update content, so your pages can appear in their indexes within minutes instead of waiting weeks for crawlers to find them.

**What QuickIndex does:**

* **Auto-generates your IndexNow key on activation** — no manual setup, no copy-paste. The 32-char key file is placed at your site root automatically.
* **Pings on publish + update** — every public post type fires an IndexNow notification the moment it goes live or changes.
* **Daily bulk resubmit** — schedule (hourly, twice daily, or daily) re-submits your full content list as a safety net for missed events.
* **Covers all public post types** — posts, pages, products, custom post types, all out of the box. Or pick specific ones if you'd rather.
* **Built-in diagnostics** — checks the key length, key file existence, public URL accessibility, and shows the next scheduled run.
* **Activity log with rotation** — last 100 events visible in wp-admin, auto-rotates at 500KB, archives kept for 90 days.
* **One-click bulk submit** — manual button to re-push every published URL on demand.

**Why IndexNow?**

Bing, Yandex, Naver, Seznam and other engines accept IndexNow pings. Instead of waiting for their crawlers to discover changes, you push the URLs to them directly. Pages that used to take days to index now appear in minutes. Google doesn't currently use IndexNow, but Bing alone covers ~10-15% of global search and powers DuckDuckGo and Yahoo.

**What QuickIndex does NOT do:**

* No Google Search Console submission (Google doesn't accept IndexNow).
* No sitemap generation (use AumaTron SEO Essentials or Yoast for that).
* No subscription nags, no upsell popups, no "premium" features locked away.

== Installation ==

1. Upload the `quickindex` folder to `/wp-content/plugins/`, or install via the WordPress plugin uploader.
2. Activate the plugin — your IndexNow key is generated automatically and the key file is written to your site root.
3. Go to **Settings → QuickIndex** and confirm the diagnostics pane shows everything green.
4. (Optional) Adjust the schedule and post types under the Settings tab.
5. Click **Submit all content now** once to seed IndexNow with your existing pages.

That's it — every publish from now on auto-notifies IndexNow.

== Frequently Asked Questions ==

= Will Google index my pages with this? =

No — Google doesn't currently accept IndexNow. QuickIndex notifies Bing, Yandex, Naver, Seznam, and other IndexNow-compatible engines. For Google, use a sitemap and Search Console.

= Where is my IndexNow key stored? =

In two places: as a WordPress option in the database, and as a `.txt` file at your site root (e.g. `https://yoursite.com/A1B2C3...XYZ.txt`). IndexNow requires the key file at the site root for verification.

= What if my host blocks file writes to the web root? =

The Diagnostics tab will flag the issue. Most managed hosts allow it, but if not, you can manually create the file at the path shown.

= Can I regenerate the key? =

Yes — go to the Diagnostics tab. The old key file is removed and a fresh one written automatically.

= Does this work with caching plugins? =

Yes. The submission hooks fire after `save_post`, which always runs in PHP regardless of caching.

= Is this safe to run on a high-traffic site? =

Yes. Submissions happen asynchronously via `wp_remote_post` with a 15-second timeout. Bulk submissions are batched in 1000s (IndexNow max is 10,000 per call).

== Changelog ==

= 1.0.0 =
* Initial release.
* Auto-generate IndexNow key on activation, write key file to web root.
* Auto-submit on publish/update for all public post types.
* Configurable schedule (hourly / twice daily / daily) for bulk resubmits.
* Three-tab admin UI: Settings, Diagnostics, Activity Log.
* Diagnostics: key validity, key file existence, public URL check, next scheduled run.
* Activity log with auto-rotation at 500KB and 90-day archive retention.
* One-click manual bulk submit + single-URL test button.
* Key regeneration with old-file cleanup.

== Upgrade Notice ==

= 1.0.0 =
First release.
