kreativsoehne/sulu-indexnow-bundle
Integrates IndexNow with Sulu CMS to automatically notify participating search engines when pages are created, updated, or removed. Helps speed up indexing and keep search results fresh with minimal configuration.
PagePublishedEvent subscriptions to the Sulu 3 workflow-transition events and route-repository address resolution. A working IndexNow integration on day one of a Sulu 3 migration removes one line from the "what do we lose / what do we rebuild" risk register. Teams still on Sulu 2.6 have a clean opt-out: pin ^1.0, which remains maintained for bug fixes. This is a deliberate per-generation major-version split, not abandonment.noindex are not submitted on publish, but are submitted on unpublish. That is the correct trade: you don't spend crawl budget advertising pages you don't want ranked, but you also don't leave a retired noindex page un-signalled.Adopt when: you are on Sulu ^3.0; your audience is materially served by Bing, Yandex, Seznam, or Naver; editorial output is frequent enough that recrawl lag has measurable cost (news, pricing, inventory, event listings); or unpublish correctness carries compliance weight. The release's verification signal is strong for a package this size — clean lint:container, all subscribers bound, 71 tests with no skips, PHPStan at level: max, exercised end-to-end against a fresh sulu/skeleton:^3.0 on 3.0.8.
Stay on ^1.0 when: you are on Sulu 2.6. v2.0.0 is hard-breaking (sulu/sulu: ^3.0, Sulu 2 subscribers and the generation switch removed) with no backward-compatible path — plan the upgrade as part of the Sulu 3 migration, not before it.
Look elsewhere or build in-house when: Google is your dominant channel — IndexNow does not cover Google, so this is an incremental freshness win on secondary engines, not a replacement for sitemaps or a Google indexing strategy. Also when you are not on Sulu; when you require a commercial SLA, multi-domain/multi-key management, or a formal API stability contract (the maintainer is a single agency, and the per-generation major-version policy means version pinning is the expected operating model); or when editorial routing lives outside Sulu (headless/decoupled front ends), where the route-repository resolution wouldn't see your URLs. Mitigation for the maintenance risk is straightforward: the bundle is thin enough to reimplement as one listener plus an HTTP call, so lock-in is low.
To executives: This is a low-cost, low-risk integration that shortens the gap between publishing content and having it indexed, and — more importantly — makes sure content we take down actually leaves the index. It ships in lockstep with our Sulu 3 upgrade, so it's an item we can check off the migration rather than a new project. Be clear about scope: it improves freshness on Bing and other IndexNow engines; it does not change our Google performance, and it should not be sold internally as an SEO uplift story.
To engineering: Small, well-behaved package. Adds two subscribers (page and article workflow transitions) plus route-repository address resolution; no schema changes, no runtime dependencies beyond Sulu itself. Verified against Sulu 3.0.8 with a clean container lint, full test suite, and PHPStan at max level. Constraint is sulu/sulu: ^3.0 — it cannot coexist with Sulu 2.6, so sequencing matters: 1.x for the current platform, 2.x the moment the Sulu 3 branch lands. Expect to own the version pin per platform generation going forward, and budget a half-day for the upgrade test plus a check that the IndexNow key file is served from the correct host per environment.
How can I help you explore Laravel packages today?