- Is kunstmaan/sitemap-bundle compatible with Laravel?
- No. It is a Symfony bundle built around Symfony's DI container and tagged services, bundle registration, Twig rendering, the Symfony routing loader, and Doctrine ORM repositories that read Kunstmaan Node entities. It adds XML sitemap generation to Kunstmaan CMS by traversing nodes and rendering a sitemap index plus child sitemaps. None of those integration seams exist in a Laravel application, so there is no drop-in path without a port.
- Can I install kunstmaan/sitemap-bundle with Composer in a Laravel project?
- Practically no. The package targets Symfony 2.x-era components and PHP 5.x, has had no release since April 2014, and carries zero dependents. Composer will almost certainly fail dependency resolution against a modern Laravel stack running PHP 8.x with Symfony 6 or 7 components pulled in transitively. A fork-and-port is technically possible but replaces nearly all of the original code.
- Which PHP and Symfony versions does kunstmaan/sitemap-bundle support?
- It was built for PHP 5.x and Symfony 2.x-era components, with its last release in April 2014. That predates modern Laravel entirely. There is no support for PHP 8 or Symfony 6 and 7, which Laravel brings in transitively today.
- Is kunstmaan/sitemap-bundle still maintained?
- No. It is a read-only subtree split of KunstmaanBundlesCMS with roughly 10 stars, no release since April 2014, and no security response process. Any CVE or PHP incompatibility becomes your responsibility to fix. There is also no community to lean on for edge cases.
- What should I use instead of kunstmaan/sitemap-bundle in Laravel?
- Use spatie/laravel-sitemap, which is actively maintained and Laravel-native, as the generation primitive. Wrap it in an artisan sitemap:generate command or queued job that queries published content through Eloquent scopes, writes to storage/app/public or object storage, and serves the file through a lightweight controller with aggressive HTTP caching. Reserve custom code for index sharding and locale alternates.
- How hard would it be to port kunstmaan/sitemap-bundle to Laravel?
- A faithful port is realistically 2 to 3 engineer-weeks. You would need to replace the DI wiring, the Doctrine entity coupling, the Twig templates and the routing layer, at which point very little of the original code survives. Building the same capability natively on Laravel with a maintained package is closer to 3 to 5 engineer-days. The port only makes sense if you have a hard requirement to mirror Kunstmaan's exact URL and priority semantics.
- Does the bundle support sitemap index sharding and multi-locale URLs?
- Yes, in the sense that it renders a sitemap index plus child sitemaps, which is the sharding mechanism you need above 50,000 URLs, and it emits URLs per locale during node traversal. Those design patterns are the genuinely reusable part. On Laravel you would implement them yourself on top of a maintained generator.
- Can I use kunstmaan/sitemap-bundle with Eloquent models instead of Doctrine?
- No. It reads Kunstmaan NodeBundle Node records through Doctrine ORM repositories, and its visibility rules are tied to that CMS entity model. Laravel's Eloquent has no relationship to those entities. You would have to rewrite the entire data access layer, including how draft and unpublished nodes are excluded.
- Is kunstmaan/sitemap-bundle safe to run in production?
- Licensing is clean under MIT, so forking is legally unencumbered; the risk is engineering, not legal. Twelve-plus years without maintenance means no security response process and no fixes for PHP incompatibilities. There is also semantic drift risk: reimplementing node-visibility logic without the original tests can emit unpublished, redirecting or noindex URLs, which is an SEO regression that is hard to detect after launch.
- How do I test that generated sitemap URLs are correct in Laravel?
- Assert that only published, canonical and indexable records are emitted, and compare the URL count in the XML against your published-content query. Snapshot-test the XML output and validate it against the sitemap schema so format regressions fail the build. Also test locale alternates and index sharding boundaries, since those are the areas most likely to drift.