secit-pl/json-ld-bundle
A Symfony bundle for generating JSON-LD structured data in your applications. It provides services and Twig helpers to define schema.org objects, embed SEO-friendly rich snippets, and improve search visibility with minimal configuration and flexible integration.
Thing, Organization, Product, BreadcrumbList, nested entities — maps almost 1:1 to the markup that drives Google rich snippets, merchant listings, and knowledge-panel identity. That makes it a candidate for any SEO, catalog-discoverability, or "be legible to AI answer engines" initiative already on the roadmap.json_encode, emit a <script type="application/ld+json">. The genuine value in "buying" is validated schema.org type definitions and Twig/DI wiring — not the serialization. This package supplies neither validation nor currency (schema.org evolves; the package froze in 2017). A build decision here is roughly one engineer-day, which materially changes the calculus.Consider it only when all of the following hold:
Look elsewhere (or build) when:
@graph composition across multiple entities — the failure mode is invalid markup that silently earns no rich results, which is worse than none because it looks shipped.To executives: Structured data is cheap upside on organic visibility and AI-answer legibility, and the schema types we need are well-understood. However, the specific package on the table is a Symfony-era, single-maintainer artifact last released in 2017 — adopting it would mean owning abandoned code to avoid writing a small amount of it ourselves. Recommendation: pursue the capability, decline this dependency. One engineer-day for an in-house builder, or a short evaluation of a maintained alternative, delivers the same outcome without the maintenance tail. Contain it to product and breadcrumb pages behind a flag, measure rich-result impressions over one quarter, and expand only if the data justifies it.
To engineering: The domain is small — a typed builder plus a Blade/Twig directive is a day, plus tests. The value we'd actually be buying is schema.org type coverage, and that's exactly what's stale here. If a spike shows the PHP builders work standalone on our PHP version with a thin wrapper, we can reuse the idea without the Symfony coupling — but we should pin exactly, diff the source, and treat it as vendored code with a named owner. Either way: pin an exact version, feature-flag it, keep rollback to a config toggle, and do not let it spread to a second service before the first has run a month clean.
Framing to avoid: "Adopt a JSON-LD package." The real decision is "do we own ~200 lines of structured-data generation, or do we inherit an unmaintained library?" State it that way and the answer is uncontroversial.
How can I help you explore Laravel packages today?