Skip to content

feat(indexnow): submit published/updated URLs via the SaaS IndexNow pipeline (v4.4.3) - #3

Merged
Shubochandrosarker merged 3 commits into
mainfrom
feature/indexnow
Sep 20, 2026
Merged

Shubochandrosarker merged 3 commits into
mainfrom
feature/indexnow

Conversation

@Shubochandrosarker

Copy link
Copy Markdown
Contributor

WordPress side of Insightistic Phase 6 (doc 11 — WordPress publish hooks).

  • New Insightistic_IndexNow class: save_post → eligibility gate (public, canonical, indexable; Yoast / RankMath / AIOSEO-v3 noindex aware; fragment-stripped permalinks only) → Action Scheduler queue (the save request never does network I/O) → deduped 50-URL queue → chunked 25-URL HMAC submits to the SaaS connector.
  • Key lifecycle: GET the key from the connector → write ABSPATH/{key}.txt via WP_Filesystem (with a direct-write fallback) → POST ?confirmed=1; failures land in the existing sync log and retry on the next tick. IndexNow requires the key file at the site root, so the plugin (not the SaaS) hosts it.
  • 15-minute flush cron, self-healing schedule; uninstall cleans options + cron but intentionally leaves the key file so previously-submitted URLs keep verifying.
  • Filters: insightistic_indexnow_enabled, insightistic_indexnow_post_is_noindex, insightistic_indexnow_post_is_eligible.
  • v4.4.2 → 4.4.3 with the full release contract green; new test suite (103 asserts) in the existing harness; php tests/run.php + lint-php + validate-release all pass locally.

…ipeline (v4.4.3)

- Insightistic_IndexNow: save_post hook → eligibility gate (public /
  canonical / indexable; Yoast, RankMath, AIOSEO-v3 noindex aware;
  fragment-stripped canonical permalinks only) → Action Scheduler queue
  (never network I/O in the save request) → deduped 50-URL queue →
  chunked 25-URL HMAC submits to the connector
- Key lifecycle: GET connector key → write ABSPATH/{key}.txt via
  WP_Filesystem (file_put_contents fallback) → POST ?confirmed=1;
  failures log to the shared sync log and retry on the next tick
- 15-minute flush cron (self-healing schedule), 900s interval
  registered; uninstall cleans options + cron (key file left on disk so
  already-submitted URLs keep verifying)
- filters: insightistic_indexnow_enabled, _post_is_noindex,
  _post_is_eligible
- v4.4.2 → 4.4.3 (full version contract green); new test suite 103
  asserts; php tests/run.php + lint + validate-release all pass
@Shubochandrosarker
Shubochandrosarker merged commit 53a43f1 into main Sep 20, 2026
4 checks passed
@Shubochandrosarker
Shubochandrosarker deleted the feature/indexnow branch September 20, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant