elcodi/sitemap-bundle
Sitemap bundle from the Elcodi e-commerce suite for Symfony, providing sitemap generation for your store. Read-only package; use the main elcodi/elcodi repo for issues and pull requests. MIT licensed.
Build vs. buy for sitemap/SEO infrastructure: This package is a reference design, not a dependency. The decision it informs is "do we hand-roll XML sitemap generation (with multi-store, multi-locale, product/category/CMS URL partitioning and image sitemap extensions), or buy a maintained service?" Reading its structure answers most of the requirements question cheaply — the sitemap domain is well understood and not a differentiator.
Roadmap: storefront discoverability. Sitemap generation gates organic acquisition for catalog pages, especially faceted/attribute-driven URL spaces where you must decide which URLs are canonical, which are excluded (filter/sort/pagination), and how hreflang alternates are emitted. This is product scope, not just engineering plumbing: the exclusion rules determine what gets indexed.
Vendor and tech-debt governance. The package is flagged EOL, archived, read-only, last released February 2016, with zero dependents and an opportunity score of 0.28. That is a concrete input to a "no new EOL dependencies" policy and to an audit of whether any existing Symfony service still pulls it transitively. If it is in the dependency tree today, that is an unowned security and PHP-version-compatibility liability, and removal belongs on the platform roadmap as a scheduled item.
Framework mismatch as a cost signal. Despite being catalogued as a Laravel/PHP package, this is a Symfony bundle (Elcodi e-commerce components). For a Laravel codebase it is not installable as-is; you would need a bridge, a service container mapping, or an out-of-process Symfony service. That asymmetry by itself typically flips the decision to build.
What it does not support: no roadmap confidence (no releases in ~9 years, no maintainer responsiveness by declaration), no SLA, no security patch path, no Laravel integration story. Do not let it anchor a delivery estimate as if it were a supported dependency.
Consider it only as reading material — a prior-art reference for how a mature Symfony e-commerce suite modeled sitemap providers, index generation, and per-entity URL contribution. Useful if your team is designing a provider-based sitemap architecture and wants a concrete shape to react to.
Consider it only in a legacy Symfony/Elcodi estate that already runs on Elcodi and needs to keep an existing storefront alive during a migration window. Even then, treat it as frozen: pin the version, isolate it behind an internal interface, and schedule its replacement rather than extending it.
Look elsewhere — or build — if any of the following hold:
lastmod discipline. A 2016 bundle won't encode current search-engine guidance.To executives: We evaluated this as a component for storefront search visibility. It is end-of-life — archived, read-only, last shipped in 2016, zero downstream dependents — so we are not adopting it. The good news is that the capability it represents (machine-readable sitemaps for catalog discovery) is a few days of engineering, not a procurement or a build-vs-buy negotiation. Recommendation: build a small internal sitemap capability on our own stack, and add a standing rule that we do not introduce EOL dependencies. If the package is present anywhere in our current stack, we should schedule its removal this half.
To engineering: This is a Symfony bundle, not Laravel-native — integration alone would cost more than the feature. It is archived and receives no pull requests by policy, so we would own it as a fork from day one with no upstream. We propose extracting the shape of the solution (provider-per-entity, index plus segmented files, explicit URL inclusion/exclusion rules for filters, pagination, and locales), not the code. Deliverables: sitemap index and segmented files written to storage on a schedule, deterministic canonicalization and exclusion rules owned by product, image sitemap support, and lastmod derived from real content timestamps. Target: low single-digit engineer-days plus product time to ratify exclusion rules — and a follow-up audit task to confirm no transitive dependency on the archived package.
How can I help you explore Laravel packages today?